
:root{
  color-scheme: light;
  --paper:#FBF8F3;
  --sheet:#FFFFFF;
  --ink:#151E2A;
  --body:#3A4250;
  --muted:#6E7583;
  --rule:#E4DFD6;
  --rule-soft:#EFEBE4;
  --navy:#1F3A5F;
  --navy-deep:#16293F;
  --gold:#B08D57;
  --gold-soft:#D9BE8E;
  --sage:#2E6B4F;
  --clay:#B5563C;
  --on-navy:#F4F1EA;
  --on-navy-dim:#B9C4D2;
  --shadow:0 1px 2px rgba(21,30,42,.05), 0 10px 30px -18px rgba(21,30,42,.35);
  --shadow-lift:0 2px 6px rgba(21,30,42,.07), 0 22px 48px -24px rgba(21,30,42,.45);
  --maxw:1120px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;background:var(--paper);color:var(--body);
  font-family:"Source Serif 4","Iowan Old Style",Georgia,"Times New Roman",serif;
  font-size:17px;line-height:1.66;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--navy);text-underline-offset:3px}
h1,h2,h3,h4,.ui{font-family:"Archivo","Helvetica Neue",Arial,sans-serif}
h1,h2,h3{color:var(--ink);margin:0;text-wrap:balance;letter-spacing:-.018em;line-height:1.08}
h1{font-size:clamp(33px,5.4vw,55px);font-weight:800}
h2{font-size:clamp(26px,3.4vw,37px);font-weight:700}
h3{font-size:clamp(19px,2vw,22px);font-weight:700;line-height:1.25}
p{margin:0 0 20px}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:22px}
.narrow{max-width:69ch}
.eyebrow{font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.lede{font-size:clamp(18px,2.1vw,21px);line-height:1.55;color:var(--body)}

/* ---------- header ---------- */
.site-head{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:rgba(251,248,243,.92);
  backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid transparent;transition:border-color .25s, box-shadow .25s}
.site-head.is-stuck{border-bottom-color:var(--rule);box-shadow:0 8px 22px -20px rgba(21,30,42,.6)}
.head-in{max-width:var(--maxw);margin:0 auto;padding:14px 22px;display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand .mark{width:26px;height:26px;flex:0 0 26px}
.brand b{font-family:"Archivo",sans-serif;font-size:18px;font-weight:800;letter-spacing:-.02em}
.nav{display:flex;align-items:center;gap:26px}
.nav a{font-family:"Archivo",sans-serif;font-size:14.5px;font-weight:600;color:var(--body);
  text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:color .18s,border-color .18s}
.nav a:hover{color:var(--ink);border-bottom-color:var(--gold)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--navy)}
.navtoggle{display:none;background:none;border:1px solid var(--rule);border-radius:8px;padding:8px 10px;
  cursor:pointer;color:var(--ink)}
.navtoggle svg{display:block}
@media (max-width:820px){
  .navtoggle{display:block}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;
    background:var(--paper);border-bottom:1px solid var(--rule);padding:6px 22px 18px;
    box-shadow:0 18px 30px -24px rgba(21,30,42,.6)}
  .nav[hidden]{display:none}
  .nav a{padding:12px 0;border-bottom:1px solid var(--rule-soft)}
  .nav a:hover{border-bottom-color:var(--rule-soft)}
}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:"Archivo",sans-serif;font-size:15px;
  font-weight:700;letter-spacing:.005em;text-decoration:none;padding:13px 22px;border-radius:7px;
  border:1.5px solid transparent;cursor:pointer;transition:transform .16s, box-shadow .16s, background .16s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--navy);color:#fff;box-shadow:var(--shadow)}
.btn-primary:hover{background:var(--navy-deep);box-shadow:var(--shadow-lift)}
.btn-gold{background:var(--gold);color:#241B0E;box-shadow:var(--shadow)}
.btn-gold:hover{background:var(--gold-soft);box-shadow:var(--shadow-lift)}
.btn-ghost{border-color:var(--rule);color:var(--ink);background:var(--sheet)}
.btn-ghost:hover{border-color:var(--navy)}
.btn-onnavy{background:#fff;color:var(--navy)}
.btn-onnavy-ghost{border-color:rgba(244,241,234,.35);color:var(--on-navy)}
.btn-onnavy-ghost:hover{border-color:var(--on-navy)}
.btnrow{display:flex;flex-wrap:wrap;gap:13px;align-items:center}

/* ---------- hero ---------- */
.hero{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:4px;
  background:linear-gradient(90deg,var(--gold) 0 34%, rgba(176,141,87,.25) 34% 100%)}
.hero-in{max-width:var(--maxw);margin:0 auto;padding:clamp(52px,8vw,92px) 22px clamp(48px,7vw,80px);
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,5vw,58px);align-items:center}
@media (max-width:900px){.hero-in{grid-template-columns:1fr;gap:34px}}
.hero h1{color:#fff}
.hero h1 em{font-style:normal;color:var(--gold-soft)}
.hero p{color:var(--on-navy-dim);font-size:clamp(17px,2vw,20px);line-height:1.55;max-width:56ch;margin-top:20px}
.hero .eyebrow{color:var(--gold-soft)}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;list-style:none;padding:0}
.facts li{font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--on-navy);border:1px solid rgba(244,241,234,.3);
  border-radius:999px;padding:6px 13px}

/* sheet motif used in the hero */
.motif{background:#fff;border-radius:10px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);overflow:hidden;
  transform:rotate(-1.1deg)}
@media (max-width:900px){.motif{transform:none}}
.motif .mh{background:var(--navy-deep);color:#fff;font-family:"Archivo",sans-serif;font-size:12px;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:11px 15px}
.motif table{width:100%;border-collapse:collapse;font-family:"Archivo",sans-serif;font-size:13px}
.motif td{padding:9px 15px;border-top:1px solid #EDF0F4;color:#2B3542}
.motif tr:first-child td{border-top:0}
.motif .st{text-align:right;font-weight:700;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.st-over{color:#A33A3A}.st-soon{color:#8A6218}.st-ok{color:#2E6B4F}

/* ---------- sections ---------- */
section{padding-block:clamp(52px,7vw,84px)}
.sec-head{margin-bottom:clamp(28px,4vw,44px)}
.sec-head p{margin-top:16px}
.band{background:var(--sheet);border-block:1px solid var(--rule-soft)}
.band-navy{background:var(--navy);color:var(--on-navy)}
.band-navy h2{color:#fff}
.band-navy p{color:var(--on-navy-dim)}
.band-sage{background:#EFF3EE;border-block:1px solid #DDE6DA}

/* ---------- product grid ---------- */
.files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
@media (max-width:700px){.files{grid-template-columns:1fr}}
.file{background:var(--sheet);border:1px solid var(--rule);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:var(--shadow);transition:transform .2s, box-shadow .2s}
.file:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift)}
.cover{background:var(--navy);color:#fff;padding:26px 24px 22px;position:relative;min-height:172px;
  display:flex;flex-direction:column;justify-content:flex-end}
.cover::before{content:"";position:absolute;right:20px;top:20px;width:52px;height:52px;opacity:.9;
  background-image:
    linear-gradient(var(--gold) 0 0),linear-gradient(var(--gold) 0 0),linear-gradient(var(--gold) 0 0),
    linear-gradient(#CFDCE8 0 0),linear-gradient(#CFDCE8 0 0),linear-gradient(#CFDCE8 0 0),
    linear-gradient(#CFDCE8 0 0),linear-gradient(#6E9E85 0 0),linear-gradient(#CFDCE8 0 0);
  background-size:14px 14px;background-repeat:no-repeat;
  background-position:0 0,19px 0,38px 0,0 19px,19px 19px,38px 19px,0 38px,19px 38px,38px 38px}
.cover .kind{font-family:"Archivo",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--gold-soft);margin-bottom:9px}
.cover .name{font-family:"Archivo",sans-serif;font-size:23px;font-weight:800;line-height:1.1;
  letter-spacing:-.02em;max-width:15ch}
.file-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;gap:16px}
.file-body p{margin:0;font-size:16px;line-height:1.55}
.tags{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0}
.tags li{font-family:"Archivo",sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);background:#F3F0EA;border-radius:5px;padding:5px 9px}
.file-body .more{margin-top:auto;font-family:"Archivo",sans-serif;font-size:14.5px;font-weight:700;
  color:var(--navy);text-decoration:none;display:inline-flex;align-items:center;gap:7px}
.file-body .more:hover{gap:11px}
.file-body .more span{transition:transform .18s}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px;counter-reset:s}
.step{position:relative;padding-top:20px;border-top:2px solid var(--rule)}
.step .n{font-family:"Archivo",sans-serif;font-size:12px;font-weight:800;letter-spacing:.16em;
  color:var(--gold);text-transform:uppercase;margin-bottom:10px}
.step h3{margin-bottom:9px}
.step p{margin:0;font-size:16px}

/* ---------- free band ---------- */
.free{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:clamp(26px,5vw,52px);align-items:center}
@media (max-width:820px){.free{grid-template-columns:1fr}}
.free-thumb{border-radius:8px;border:1px solid var(--rule);box-shadow:var(--shadow-lift);overflow:hidden;background:#fff}
@media (max-width:900px){.free-thumb{transform:none!important;max-width:340px;margin-inline:auto}}

/* ---------- gallery ---------- */
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:18px}
.gal figure{margin:0;border:1px solid var(--rule);border-radius:10px;overflow:hidden;background:#fff;
  box-shadow:var(--shadow);cursor:zoom-in;transition:transform .18s, box-shadow .18s}
.gal figure:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.gal figcaption{font-family:"Archivo",sans-serif;font-size:12.5px;font-weight:600;color:var(--muted);
  padding:11px 14px;border-top:1px solid var(--rule-soft)}
.lightbox{position:fixed;inset:0;background:rgba(14,20,28,.9);display:flex;align-items:center;
  justify-content:center;padding:24px;z-index:200}
.lightbox[hidden]{display:none!important}
.lightbox img{max-height:88vh;width:auto;border-radius:8px;box-shadow:0 40px 80px -30px #000}
.lightbox button{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:18px;background:#fff;
  border:0;border-radius:999px;width:40px;height:40px;font-size:20px;cursor:pointer;color:var(--ink)}

/* ---------- lists / faq ---------- */
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.ticks li{position:relative;padding-left:28px}
.ticks li::before{content:"";position:absolute;left:4px;top:11px;width:9px;height:9px;border-radius:2px;
  background:var(--sage)}
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{list-style:none;cursor:pointer;padding:19px 42px 19px 0;position:relative;
  font-family:"Archivo",sans-serif;font-weight:700;font-size:17px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:10px;top:26px;width:10px;height:10px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);
  transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .a{padding:0 0 20px;margin:0;color:var(--body)}

/* ---------- prose (legal pages) ---------- */
.prose h2{font-size:24px;margin:38px 0 14px}
.prose h3{font-size:18px;margin:26px 0 10px}
.prose ul{padding-left:20px;margin:0 0 20px}
.prose li{margin-bottom:8px}
.prose .updated{font-family:"Archivo",sans-serif;font-size:13px;color:var(--muted);
  border-left:3px solid var(--gold);padding-left:14px}

/* ---------- footer ---------- */
.site-foot{background:var(--navy-deep);color:var(--on-navy-dim);padding-block:48px 34px;
  font-size:15px;margin-top:0}
.foot-in{max-width:var(--maxw);margin:0 auto;padding-inline:22px;display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));gap:34px}
@media (max-width:760px){.foot-in{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}
.site-foot h4{font-family:"Archivo",sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-soft);margin:0 0 14px}
.site-foot a{color:var(--on-navy);text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.site-foot ul{list-style:none;padding:0;margin:0;display:grid;gap:9px;font-size:15px}
.foot-brand p{font-size:15px;line-height:1.55;max-width:38ch;color:var(--on-navy-dim)}
.foot-brand .brand b{color:#fff}
.foot-bot{max-width:var(--maxw);margin:34px auto 0;padding:20px 22px 0;
  border-top:1px solid rgba(244,241,234,.16);display:flex;flex-wrap:wrap;gap:8px 20px;
  font-size:13.5px;color:#8FA0B2}
.foot-bot .sep{margin-left:auto}

/* reveal */
.rv{opacity:1;transform:none}
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .55s ease, transform .55s ease}
.js .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.js .rv{opacity:1;transform:none}}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
