/* StandardOps — shared stylesheet. Edit colours here only; every page uses these tokens. */

:root{
  --ground:#F1F6F6; --surface:#FFFFFF; --panel:#E3EDED;
  --ink:#101E24; --muted:#4C6168; --faint:#7B9198;
  --rule:#D1DFDF; --rule-strong:#B2C7C8;
  --accent:#0E5260; --accent-soft:#DAEBEE;
  --gold:#8E6210; --gold-soft:#F4E8CE; --gold-line:#C79B43;
  --invert-bg:#0E3F4A; --invert-ink:#EAF4F5; --invert-muted:#9EC4CB; --invert-rule:#2A5E68;
  --num-ink:#FFFFFF; --invert-strong:#FFFFFF;
  --shadow:0 1px 2px rgba(16,30,36,.06),0 12px 30px -22px rgba(16,30,36,.55);
  --shadow-lift:0 2px 4px rgba(16,30,36,.08),0 22px 48px -28px rgba(14,63,74,.65);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#061214; --surface:#10232A; --panel:#193139;
    --ink:#E6F2F3; --muted:#9BB4BB; --faint:#75909A;
    --rule:#1F3B44; --rule-strong:#2F5059;
    --accent:#63CADC; --accent-soft:#0D2F38;
    --gold:#EFC268; --gold-soft:#332917; --gold-line:#B08C3C;
    --invert-bg:#15424E; --invert-ink:#E8F3F4; --invert-muted:#A3CBD3; --invert-rule:#2F6473;
    --num-ink:#07191D; --invert-strong:#FFFFFF;
    --shadow:0 1px 2px rgba(0,0,0,.5),0 12px 30px -22px rgba(0,0,0,.95);
    --shadow-lift:0 2px 4px rgba(0,0,0,.55),0 22px 48px -28px rgba(0,0,0,1);
  }
}
:root[data-theme="dark"]{
  --ground:#061214; --surface:#10232A; --panel:#193139;
  --ink:#E6F2F3; --muted:#9BB4BB; --faint:#75909A;
  --rule:#1F3B44; --rule-strong:#2F5059;
  --accent:#63CADC; --accent-soft:#0D2F38;
  --gold:#EFC268; --gold-soft:#332917; --gold-line:#B08C3C;
  --invert-bg:#15424E; --invert-ink:#E8F3F4; --invert-muted:#A3CBD3; --invert-rule:#2F6473;
  --num-ink:#07191D; --invert-strong:#FFFFFF;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 12px 30px -22px rgba(0,0,0,.95);
  --shadow-lift:0 2px 4px rgba(0,0,0,.55),0 22px 48px -28px rgba(0,0,0,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:Spectral,Georgia,"Times New Roman",serif;
  font-size:17.5px;line-height:1.66;-webkit-font-smoothing:antialiased;
}
.wrap{max-width:1040px;margin:0 auto;padding:0 28px}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:2px}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}

/* ---------- site header ---------- */
.site-head{border-bottom:1px solid var(--rule);background:var(--surface)}
.site-head .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;padding-top:18px;padding-bottom:18px}
.brandlock{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-right:auto}
.brandlock .bn{font-family:Archivo,sans-serif;font-weight:700;font-size:21px;letter-spacing:-.018em;color:var(--ink);text-decoration:none}
.brandlock .bt{font-family:Spectral,serif;font-style:italic;font-size:15.5px;color:var(--gold)}
nav.main{display:flex;flex-wrap:wrap;gap:4px 22px;font-family:Archivo,sans-serif;font-size:13.5px;font-weight:600;letter-spacing:.02em}
nav.main a{color:var(--muted);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
nav.main a:hover{color:var(--ink)}
nav.main a[aria-current="page"]{color:var(--accent);border-bottom-color:var(--gold-line)}

/* ---------- hero ---------- */
.hero{padding:64px 0 10px;border-bottom:3px solid var(--accent)}
.eyebrow{
  font-family:Archivo,sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.17em;
  text-transform:uppercase;color:var(--gold);margin:0 0 16px;
}
h1{
  font-family:Archivo,sans-serif;font-weight:700;font-size:clamp(33px,5.6vw,54px);
  line-height:1.03;letter-spacing:-.024em;margin:0 0 18px;text-wrap:balance;max-width:19ch;
}
.hero p.sub{font-size:20px;color:var(--muted);max-width:58ch;margin:0 0 26px}
.hero.page{padding:52px 0 8px}
.hero.page h1{max-width:24ch}

/* ---------- buttons ---------- */
.btns{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 42px}
.btn{
  font-family:Archivo,sans-serif;font-size:15px;font-weight:600;letter-spacing:.01em;
  padding:13px 22px;border-radius:3px;text-decoration:none;display:inline-block;border:1px solid transparent;
}
.btn.primary{background:var(--accent);color:var(--num-ink);border-color:var(--accent)}
.btn.primary:hover{opacity:.9}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--rule-strong)}
.btn.ghost:hover{border-color:var(--accent)}

/* ---------- sections ---------- */
section{padding:52px 0}
section + section{border-top:1px solid var(--rule)}
h2{
  font-family:Archivo,sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accent);margin:0 0 20px;padding-bottom:10px;border-bottom:2px solid var(--accent-soft);
}
h3{font-family:Archivo,sans-serif;font-size:22px;font-weight:600;letter-spacing:-.014em;margin:30px 0 8px;text-wrap:balance}
h4{font-family:Archivo,sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 9px}
p{margin:0 0 17px;max-width:66ch}
ul,ol{margin:0 0 18px;padding-left:22px;max-width:66ch}
li{margin-bottom:8px}
li::marker{color:var(--gold-line)}
strong{font-weight:600}
code{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:.84em;color:var(--muted)}

.lede{font-size:21px;line-height:1.5;margin:0 0 26px;max-width:60ch;padding:14px 0 14px 22px;border-left:4px solid var(--gold-line)}
.pull{
  font-family:Archivo,sans-serif;font-size:17px;line-height:1.48;color:var(--ink);
  background:var(--accent-soft);border:1px solid var(--rule);border-left:4px solid var(--accent);
  border-radius:3px;padding:20px 24px;margin:28px 0;max-width:62ch;
}

/* ---------- cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;margin:24px 0}
.card{background:var(--surface);border:1px solid var(--rule);border-top:4px solid var(--accent);border-radius:3px;padding:24px;box-shadow:var(--shadow)}
.card.gold{border-top-color:var(--gold-line)}
.card h3{margin:0 0 6px;font-size:20px}
.card .price{font-family:Archivo,sans-serif;font-size:14px;font-weight:700;color:var(--gold);margin:0 0 12px}
.card p{font-size:16px;margin:0 0 10px}
.card ul{font-family:Archivo,sans-serif;font-size:14.5px;line-height:1.5;margin:0;padding-left:19px;max-width:none}
.card li{margin-bottom:7px}

/* ---------- feature band ---------- */
.band{background:var(--invert-bg);color:var(--invert-ink);border-radius:4px;padding:34px 36px;margin:30px 0;box-shadow:var(--shadow-lift);position:relative;overflow:hidden}
.band::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--gold-line)}
.band h3{color:var(--invert-strong);margin:0 0 12px}
.band p{color:var(--invert-ink);max-width:62ch}
.band p:last-child{margin-bottom:0}
.band strong{color:var(--invert-strong)}
.band .label{font-family:Archivo,sans-serif;font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--gold-line);margin:0 0 10px}

/* ---------- tables ---------- */
.scroll{overflow-x:auto;border:1px solid var(--rule);border-radius:3px;background:var(--surface);margin:22px 0;box-shadow:var(--shadow)}
table{border-collapse:collapse;width:100%;min-width:540px;font-family:Archivo,sans-serif;font-size:14.5px;line-height:1.46}
thead th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:12px 14px;border-bottom:2px solid var(--rule-strong);white-space:nowrap}
tbody td{padding:12px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
tbody tr:last-child td{border-bottom:none}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}

/* ---------- notes ---------- */
.note{background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--gold-line);border-radius:3px;padding:20px 22px;margin:24px 0;box-shadow:var(--shadow)}
.note p{max-width:62ch}
.note p:last-child{margin-bottom:0}

/* ---------- CTA ---------- */
.cta{background:var(--panel);border-top:1px solid var(--rule);padding:48px 0}
.cta h2{border-bottom:none;padding-bottom:0;margin-bottom:12px}
.cta p{font-size:19px;max-width:56ch}

/* ---------- footer ---------- */
footer.site{background:var(--surface);border-top:3px solid var(--accent);padding:34px 0 46px;font-family:Archivo,sans-serif;font-size:13.5px;color:var(--muted)}
footer.site .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px;margin-bottom:26px}
footer.site a{color:var(--muted);text-decoration:none;display:block;margin-bottom:7px}
footer.site a:hover{color:var(--accent)}
footer.site .legal{border-top:1px solid var(--rule);padding-top:18px;font-size:12.5px;color:var(--faint);max-width:78ch}

@media (max-width:640px){
  body{font-size:16.5px}
  .wrap{padding:0 18px}
  .hero{padding:40px 0 6px}
  .band{padding:24px 22px}
  nav.main{gap:4px 16px;font-size:13px}
}
