/* ==========================================================================
   LEX AUXILIUM · styles.css
   AI speed. Human judgment.
   Palette : near-black canvas · warm cream serif · brand gold #FADB0F
   Type    : Playfair Display (display) · Inter (body) · JetBrains Mono (labels)
   ========================================================================== */

/* ---------- Tokens ---------- */
:root{
  --ink:        #08080b;   /* page background */
  --ink-2:      #0b0b0f;
  --panel:      rgba(255,255,255,.022);
  --panel-2:    rgba(255,255,255,.04);
  --panel-hi:   rgba(255,255,255,.055);
  --line:       rgba(255,255,255,.09);
  --line-soft:  rgba(255,255,255,.06);
  --line-strong:rgba(255,255,255,.16);

  --cream:      #f3f0e8;   /* display headings */
  --text:       #b9b8b1;   /* body */
  --muted:      #8b8a83;   /* secondary */
  --faint:      #5c5b57;   /* eyebrows, footnotes */

  --gold:       #fadb0f;   /* brand gold (sampled from logo) */
  --gold-bright:#ffe85c;
  --gold-deep:  #b89400;
  --gold-glow:  rgba(250,219,15,.16);

  --maxw: 1180px;
  --pad: clamp(1.25rem, 5vw, 3rem);
  --sec: clamp(4.5rem, 9vw, 8rem);
  --radius: 14px;

  --ff-display: "Playfair Display", Georgia, "Times New Roman", serif;
  --ff-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ff-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

  --ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  background:var(--ink);
  color:var(--text);
  font-family:var(--ff-body);
  font-size:1.0625rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* ambient warm glow + faint grain, sitewide */
body::before{
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(60vw 50vh at 78% -8%, rgba(250,219,15,.05), transparent 60%),
    radial-gradient(50vw 50vh at 0% 8%, rgba(120,110,60,.05), transparent 55%),
    radial-gradient(80vw 60vh at 50% 120%, rgba(250,219,15,.035), transparent 60%);
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; cursor:pointer; background:none; border:none; }
ul{ list-style:none; }
::selection{ background:var(--gold); color:#000; }

/* ---------- Layout ---------- */
.container{ width:min(var(--maxw), 100% - 2*var(--pad)); margin-inline:auto; }
.container--narrow{ max-width:none; width:min(880px, 100% - 2*var(--pad)); }
.section{ padding-block:var(--sec); position:relative; }
.section--tight{ padding-block:clamp(3rem,6vw,5rem); }
.divider{ height:1px; background:var(--line-soft); border:0; }

/* ---------- Type primitives ---------- */
.eyebrow{
  font-family:var(--ff-mono);
  font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--faint); display:inline-flex; align-items:center; gap:.7em;
  font-weight:500;
}
.eyebrow b{ color:var(--gold); font-weight:600; }
.eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); display:inline-block; box-shadow:0 0 10px var(--gold-glow); }
.eyebrow .rule{ width:clamp(28px,6vw,64px); height:1px; background:var(--line-strong); }

.sec-num{ font-family:var(--ff-mono); color:var(--gold); font-weight:600; }

.display{ font-family:var(--ff-display); color:var(--cream); font-weight:800; line-height:1.04; letter-spacing:-.01em; }
.display em{ font-style:italic; font-weight:600; }
.gd{ color:var(--gold); }                       /* gold accent inline */
.dotend::after{ content:"."; color:var(--gold); } /* signature gold period */

.lead{ font-size:clamp(1.05rem,1.7vw,1.35rem); color:var(--muted); line-height:1.6; max-width:62ch; }
.lead--serif{ font-family:var(--ff-display); font-style:italic; font-weight:500; color:#cfcdc6; }

.section__head{ max-width:var(--maxw); margin-bottom:clamp(2.2rem,4vw,3.4rem); }
.section__title{ font-family:var(--ff-display); color:var(--cream); font-weight:800;
  font-size:clamp(2.05rem,5.2vw,3.7rem); line-height:1.04; letter-spacing:-.015em; margin-top:1.1rem; }
.section__title em{ font-style:italic; font-weight:600; }
.section__sub{ margin-top:1.1rem; }

/* ---------- Buttons ---------- */
.btn{
  --bg:transparent; --fg:var(--cream); --bd:var(--line-strong);
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; font-weight:500;
  padding:.95em 1.5em; border:1px solid var(--bd); color:var(--fg); background:var(--bg);
  border-radius:50px; transition:transform .35s var(--ease), background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease), box-shadow .35s var(--ease);
  white-space:nowrap;
}
.btn svg{ width:1.05em; height:1.05em; transition:transform .35s var(--ease); }
.btn:hover{ transform:translateY(-2px); }
.btn:hover svg{ transform:translateX(3px); }
.btn--gold{ --bg:var(--gold); --fg:#0a0a06; --bd:var(--gold); font-weight:600; box-shadow:0 6px 30px -10px var(--gold-glow); }
.btn--gold:hover{ --bg:var(--gold-bright); --bd:var(--gold-bright); box-shadow:0 10px 40px -10px rgba(250,219,15,.4); }
.btn--ghost:hover{ --bd:var(--gold); --fg:var(--gold); }
.btn--lg{ padding:1.05em 1.9em; font-size:.78rem; }
.btn:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ---------- Navbar ---------- */
.nav{ position:sticky; top:0; z-index:100; transition:background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s; border-bottom:1px solid transparent; }
.nav.is-stuck{ background:rgba(8,8,11,.78); backdrop-filter:blur(16px) saturate(140%); border-bottom-color:var(--line); }
.nav__inner{ width:min(var(--maxw), 100% - 2*var(--pad)); margin-inline:auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; height:78px; }
.nav__logo{ display:flex; align-items:center; flex-shrink:0; }
.nav__logo img{ height:34px; width:auto; transition:opacity .3s; }
.nav__logo:hover img{ opacity:.85; }
.nav__links{ display:flex; align-items:center; gap:clamp(1rem,2.6vw,2.4rem); }
.nav__link{ font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); position:relative; padding-block:.4em; transition:color .3s; }
.nav__link::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold); transition:width .35s var(--ease); }
.nav__link:hover{ color:var(--cream); }
.nav__link:hover::after,.nav__link[aria-current="page"]::after{ width:100%; }
.nav__link[aria-current="page"]{ color:var(--cream); }
.nav__right{ display:flex; align-items:center; gap:1.2rem; }
.nav__toggle{ display:none; width:42px; height:42px; border:1px solid var(--line); border-radius:10px; align-items:center; justify-content:center; }
.nav__toggle span{ display:block; width:18px; height:1.5px; background:var(--cream); position:relative; transition:transform .3s var(--ease), opacity .2s; }
.nav__toggle span::before,.nav__toggle span::after{ content:""; position:absolute; left:0; width:18px; height:1.5px; background:var(--cream); transition:transform .3s var(--ease); }
.nav__toggle span::before{ top:-6px; } .nav__toggle span::after{ top:6px; }
body.menu-open .nav__toggle span{ background:transparent; }
body.menu-open .nav__toggle span::before{ transform:translateY(6px) rotate(45deg); }
body.menu-open .nav__toggle span::after{ transform:translateY(-6px) rotate(-45deg); }

/* ---------- Hero ---------- */
.hero{ position:relative; padding-top:clamp(3rem,7vw,6rem); padding-bottom:clamp(3rem,6vw,5rem); overflow:hidden; }
.hero__peg{ position:absolute; right:-6%; top:-4%; width:min(62vw,720px); opacity:.05; pointer-events:none; filter:grayscale(1); transform:scaleX(-1); }
.hero__inner{ position:relative; }
.hero__title{ font-family:var(--ff-display); color:var(--cream); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(2.7rem,8vw,6rem); line-height:1.0; margin:1.6rem 0 0; max-width:16ch; }
.hero__title em{ font-style:italic; font-weight:600; }
.hero__lead{ margin-top:1.7rem; max-width:54ch; font-size:clamp(1.08rem,1.9vw,1.4rem); color:#cbc9c1; line-height:1.55; }
.hero__lead b{ color:var(--cream); font-weight:600; }
.hero__actions{ margin-top:2.4rem; display:flex; flex-wrap:wrap; gap:.9rem; }
.hero__meta{ margin-top:3rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.hero__meta .eyebrow{ color:var(--gold); }
.hero__quote{ margin-top:clamp(2.5rem,5vw,3.5rem); border-left:2px solid var(--gold); padding:.4rem 0 .4rem 1.6rem; max-width:48ch; }
.hero__quote p{ font-family:var(--ff-display); font-style:italic; font-weight:500; color:#d8d6cf; font-size:clamp(1.2rem,2.4vw,1.7rem); line-height:1.4; }
.hero__qlabel{ margin-top:.9rem; font-family:var(--ff-mono); font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--faint); }

/* ---------- Trust marquee ---------- */
.trust{ border-block:1px solid var(--line-soft); padding-block:clamp(2.2rem,4vw,3rem); background:linear-gradient(180deg, rgba(255,255,255,.012), transparent); }
.trust__label{ text-align:center; margin-bottom:1.8rem; }
.marquee{ position:relative; overflow:hidden; -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent); }
.marquee__track{ display:flex; width:max-content; gap:clamp(2.5rem,6vw,5rem); animation:scroll-x 42s linear infinite; will-change:transform; }
.marquee:hover .marquee__track{ animation-play-state:paused; }
.marquee__item{ display:flex; align-items:center; gap:.7rem; flex-shrink:0; color:#8d8c85; transition:color .3s; }
.marquee__item:hover{ color:var(--cream); }
.marquee__item .lx-mark{ width:9px; height:9px; border:1.5px solid currentColor; transform:rotate(45deg); opacity:.6; }
.marquee__name{ font-family:var(--ff-display); font-size:clamp(1.15rem,2.4vw,1.7rem); font-weight:600; letter-spacing:.01em; white-space:nowrap; }
.marquee__name small{ font-family:var(--ff-mono); font-size:.5em; letter-spacing:.18em; text-transform:uppercase; vertical-align:.35em; color:var(--faint); margin-left:.35em; }
.marquee__logo{ height:clamp(28px,5vw,40px); width:auto; flex-shrink:0; object-fit:contain; align-self:center; opacity:.5; transition:opacity .3s ease; }
.marquee__logo:hover{ opacity:1; }
@keyframes scroll-x{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- Intro statement ---------- */
.statement{ }
.statement__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:start; }
.statement__big{ font-family:var(--ff-display); color:var(--cream); font-weight:700; letter-spacing:-.015em;
  font-size:clamp(1.8rem,3.6vw,2.9rem); line-height:1.18; }
.statement__big em{ font-style:italic; font-weight:500; color:var(--gold); }
.statement__body p{ color:var(--muted); }
.statement__body p + p{ margin-top:1.2rem; }
.statement__body b{ color:var(--cream); font-weight:600; }

/* ---------- Feature cards ---------- */
.features{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.feature{ position:relative; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.6rem,2.6vw,2.2rem);
  background:linear-gradient(180deg,var(--panel-2),var(--panel)); overflow:hidden; transition:border-color .4s var(--ease), transform .4s var(--ease), background .4s; }
.feature::after{ content:""; position:absolute; inset:0 0 auto 0; height:2px; background:linear-gradient(90deg,var(--gold),transparent); transform:scaleX(0); transform-origin:left; transition:transform .5s var(--ease); }
.feature:hover{ transform:translateY(-4px); border-color:var(--line-strong); background:linear-gradient(180deg,var(--panel-hi),var(--panel-2)); }
.feature:hover::after{ transform:scaleX(1); }
.feature__icon{ width:46px; height:46px; border:1px solid var(--gold-deep); border-radius:11px; display:flex; align-items:center; justify-content:center; color:var(--gold); margin-bottom:1.4rem; background:rgba(250,219,15,.05); }
.feature__icon svg{ width:23px; height:23px; }
.feature__title{ font-family:var(--ff-display); color:var(--cream); font-weight:600; font-size:clamp(1.3rem,2.2vw,1.55rem); line-height:1.2; margin-bottom:.7rem; }
.feature__desc{ color:var(--muted); font-size:1rem; line-height:1.62; }
.feature__tag{ margin-top:1.4rem; font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); display:flex; align-items:center; gap:.6em; }
.feature__tag::before{ content:""; width:18px; height:1px; background:var(--gold-deep); }

/* ---------- Stats ---------- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-soft); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; }
.stat{ background:var(--ink-2); padding:clamp(1.8rem,3vw,2.6rem); transition:background .4s; }
.stat:hover{ background:#101015; }
.stat__num{ font-family:var(--ff-display); color:var(--cream); font-weight:700; font-size:clamp(2.6rem,5.5vw,4rem); line-height:1; letter-spacing:-.02em; }
.stat__num sup{ color:var(--gold); font-size:.42em; font-weight:600; top:-.9em; margin-left:.04em; }
.stat__num .x{ color:var(--gold); font-size:.5em; vertical-align:.55em; }
.stat__label{ margin-top:1rem; font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.stat__desc{ margin-top:.7rem; color:var(--muted); font-size:.95rem; line-height:1.55; }

/* ---------- Service pillars (lists) ---------- */
.pillars{ display:grid; gap:1.2rem; }
.pillar{ border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.7rem,3vw,2.6rem); background:linear-gradient(180deg,var(--panel-2),var(--panel)); transition:border-color .4s; }
.pillar:hover{ border-color:var(--line-strong); }
.pillar__head{ display:flex; align-items:center; gap:1rem; margin-bottom:1.6rem; flex-wrap:wrap; }
.pillar__icon{ width:44px; height:44px; flex-shrink:0; border-radius:10px; display:flex; align-items:center; justify-content:center; color:var(--gold); border:1px solid var(--gold-deep); background:rgba(250,219,15,.05); }
.pillar__icon svg{ width:22px; height:22px; }
.pillar__name{ font-family:var(--ff-display); color:var(--cream); font-weight:600; font-size:clamp(1.4rem,2.6vw,1.9rem); }
.pillar__badge{ display:inline-block; vertical-align:middle; position:relative; top:-.16em; margin-left:.4em; font-family:var(--ff-mono); font-size:.58rem; line-height:1; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; color:#0a0a06; background:var(--gold); padding:.4em .6em; border-radius:5px; font-weight:600; }
.pillar__list{ display:grid; grid-template-columns:1fr 1fr; gap:.85rem 2rem; }
.pillar__item{ position:relative; padding-left:1.5rem; color:var(--text); font-size:1rem; line-height:1.5; }
.pillar__item::before{ content:""; position:absolute; left:0; top:.62em; width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 8px var(--gold-glow); }

/* ---------- Process steps ---------- */
.process{ display:grid; gap:1.1rem; }
.step{ position:relative; border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.7rem,3vw,2.4rem) clamp(1.7rem,3vw,2.4rem) clamp(1.7rem,3vw,2.4rem) clamp(1.7rem,3vw,2.4rem);
  background:linear-gradient(180deg,var(--panel-2),var(--panel)); transition:border-color .4s, transform .4s var(--ease); overflow:hidden; }
.step:hover{ border-color:var(--line-strong); transform:translateY(-3px); }
.step__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.step__num{ font-family:var(--ff-display); font-size:clamp(2.4rem,5vw,3.4rem); font-weight:400; line-height:.9; color:transparent; -webkit-text-stroke:1px var(--gold-deep); }
.step__icon{ width:46px; height:46px; color:var(--gold); flex-shrink:0; }
.step__icon svg{ width:100%; height:100%; }
.step__title{ font-family:var(--ff-display); color:var(--cream); font-weight:600; font-size:clamp(1.4rem,2.6vw,1.85rem); margin-bottom:.7rem; }
.step__desc{ color:var(--muted); max-width:60ch; line-height:1.6; }
.step__tag{ margin-top:1.4rem; font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }

/* ---------- Compare (the difference) ---------- */
.compare{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.compare__col{ border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.8rem,3vw,2.6rem); background:var(--panel); }
.compare__col--us{ border-color:rgba(250,219,15,.32); background:linear-gradient(180deg,rgba(250,219,15,.05),var(--panel)); position:relative; }
.compare__col--us::before{ content:""; position:absolute; top:0; left:clamp(1.8rem,3vw,2.6rem); width:46px; height:3px; background:var(--gold); }
.compare__kicker{ font-family:var(--ff-mono); font-size:.68rem; letter-spacing:.24em; text-transform:uppercase; color:var(--faint); }
.compare__col--us .compare__kicker{ color:var(--gold); }
.compare__h{ font-family:var(--ff-display); color:var(--cream); font-weight:700; font-size:clamp(1.7rem,3.4vw,2.4rem); line-height:1.08; margin:1rem 0 1.8rem; letter-spacing:-.01em; }
.compare__h em{ font-style:italic; font-weight:500; }
.compare__list li{ display:flex; gap:.9rem; padding:.95rem 0; border-top:1px solid var(--line-soft); color:var(--text); line-height:1.45; align-items:flex-start; }
.compare__list li:first-child{ border-top:0; }
.compare__mk{ flex-shrink:0; width:20px; height:20px; margin-top:.12em; display:flex; align-items:center; justify-content:center; }
.compare__mk svg{ width:100%; height:100%; }
.compare__col--trad .compare__mk{ color:var(--faint); }
.compare__col--us .compare__mk{ color:var(--gold); }

/* ---------- Governance ---------- */
.gov-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.gov-card{ border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.7rem,3vw,2.4rem); background:linear-gradient(180deg,var(--panel-2),var(--panel)); }
.gov-card__head{ display:flex; align-items:center; gap:.9rem; margin-bottom:1.4rem; }
.gov-card__icon{ width:40px; height:40px; flex-shrink:0; color:var(--gold); display:flex; align-items:center; justify-content:center; border:1px solid var(--gold-deep); border-radius:10px; background:rgba(250,219,15,.05); }
.gov-card__icon svg{ width:21px; height:21px; }
.gov-card__name{ font-family:var(--ff-display); color:var(--cream); font-weight:600; font-size:clamp(1.25rem,2.3vw,1.55rem); }
.gov-list li{ position:relative; padding:.7rem 0 .7rem 1.6rem; border-top:1px solid var(--line-soft); color:var(--muted); line-height:1.5; }
.gov-list li:first-child{ border-top:0; }
.gov-list li::before{ content:""; position:absolute; left:0; top:1.15em; width:6px; height:6px; border-radius:50%; background:var(--gold); }
.gov-list b{ color:var(--cream); font-weight:600; }

/* ---------- Regions (about) ---------- */
.regions{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.region{ border:1px solid var(--line); border-radius:16px; padding:clamp(1.6rem,3vw,2.1rem); background:linear-gradient(180deg,var(--panel-2),var(--panel)); transition:border-color .4s, transform .4s var(--ease); }
.region:hover{ transform:translateY(-4px); border-color:var(--line-strong); }
.region__flag{ display:inline-flex; align-items:center; justify-content:center; min-width:48px; height:34px; padding:0 .6rem; border:1px solid var(--gold-deep); border-radius:8px; background:rgba(250,219,15,.05); color:var(--gold); font-family:var(--ff-mono); font-weight:600; font-size:.82rem; letter-spacing:.12em; }
.region__name{ margin-top:1.2rem; font-family:var(--ff-display); color:var(--cream); font-weight:700; font-size:1.5rem; letter-spacing:-.01em; }
.region__desc{ margin-top:.7rem; color:var(--muted); line-height:1.6; font-size:.98rem; }
@media (max-width: 860px){ .regions{ grid-template-columns:1fr; } }

/* ---------- Pricing ---------- */
.plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; align-items:start; }
.plan{ position:relative; border:1px solid var(--line); border-radius:18px; padding:clamp(1.8rem,3vw,2.4rem); background:linear-gradient(180deg,var(--panel-2),var(--panel)); display:flex; flex-direction:column; transition:border-color .4s, transform .4s var(--ease); }
.plan:hover{ transform:translateY(-4px); border-color:var(--line-strong); }
.plan--featured{ border-color:var(--gold); background:linear-gradient(180deg,rgba(250,219,15,.06),var(--panel)); box-shadow:0 30px 80px -40px rgba(250,219,15,.35); }
.plan--featured:hover{ border-color:var(--gold-bright); }
.plan__badge{ position:absolute; top:-13px; left:50%; transform:translateX(-50%); font-family:var(--ff-mono); font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:#0a0a06; background:var(--gold); padding:.5em .95em; border-radius:6px; white-space:nowrap; }
.plan__tier{ font-family:var(--ff-mono); font-size:.7rem; letter-spacing:.22em; text-transform:uppercase; color:var(--muted); }
.plan--featured .plan__tier{ color:var(--gold); }
.plan__price{ font-family:var(--ff-display); color:var(--cream); font-weight:700; font-size:clamp(2.8rem,6vw,3.6rem); line-height:1; margin-top:1.2rem; letter-spacing:-.02em; }
.plan__price small{ font-size:.55em; }
.plan__period{ font-family:var(--ff-mono); color:var(--gold); font-size:.85rem; letter-spacing:.06em; margin-top:.5rem; }
.plan__price--custom{ font-size:clamp(2.4rem,5vw,3rem); }
.plan__period--quiet{ color:var(--muted); font-style:italic; font-family:var(--ff-display); font-size:1rem; letter-spacing:0; }
.plan__hours{ margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid var(--line); color:var(--cream); font-weight:600; font-size:1rem; }
.plan__for{ color:var(--muted); font-size:.92rem; margin-top:.3rem; }
.plan__features{ margin-top:1.5rem; display:grid; gap:.85rem; flex-grow:1; }
.plan__features li{ position:relative; padding-left:1.7rem; color:var(--text); line-height:1.45; font-size:.98rem; }
.plan__features li b{ color:var(--cream); font-weight:600; }
.plan__features li::before{ content:""; position:absolute; left:0; top:.18em; width:16px; height:16px; background:var(--gold); -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>") center/contain no-repeat; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='black' d='M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/></svg>") center/contain no-repeat; }
.plan__cta{ margin-top:1.8rem; }
.plan__cta .btn{ width:100%; justify-content:center; }
.plan__foot{ margin-top:1.3rem; font-family:var(--ff-mono); font-size:.64rem; letter-spacing:.18em; text-transform:uppercase; color:var(--faint); text-align:center; }

.allplans{ margin-top:1.6rem; border:1px solid var(--line); border-radius:var(--radius); padding:1.3rem clamp(1.3rem,3vw,2rem); display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1.6rem; background:var(--panel); }
.allplans__k{ font-family:var(--ff-mono); font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); font-weight:600; }
.allplans__i{ font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); display:flex; align-items:center; gap:1.6rem; }
.allplans__i span{ position:relative; }
.allplans__i span:not(:last-child)::after{ content:"·"; position:absolute; right:-.95rem; color:var(--gold-deep); }

/* ---------- Pilot note (pricing) ---------- */
.pilot-note{ display:flex; gap:1.5rem; align-items:flex-start; border:1px solid var(--line); border-left:2px solid var(--gold); border-radius:16px; padding:clamp(1.6rem,3vw,2.2rem) clamp(1.6rem,3vw,2.4rem); background:linear-gradient(180deg,rgba(250,219,15,.04),var(--panel)); }
.pilot-note__mark{ flex-shrink:0; width:48px; height:48px; color:var(--gold); border:1px solid var(--gold-deep); border-radius:12px; display:flex; align-items:center; justify-content:center; background:rgba(250,219,15,.05); }
.pilot-note__mark svg{ width:24px; height:24px; }
.pilot-note__title{ font-family:var(--ff-display); color:var(--cream); font-weight:700; font-size:clamp(1.3rem,2.6vw,1.8rem); line-height:1.2; letter-spacing:-.01em; }
.pilot-note__text{ margin-top:.9rem; color:var(--muted); max-width:64ch; line-height:1.6; }
@media (max-width: 560px){ .pilot-note{ flex-direction:column; gap:1.1rem; } }

/* ---------- FAQ ---------- */
.faq{ display:grid; gap:0; border-top:1px solid var(--line); }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__q{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; text-align:left; padding:1.5rem 0;
  font-family:var(--ff-display); color:var(--cream); font-weight:600; font-size:clamp(1.1rem,2.2vw,1.45rem); line-height:1.3; }
.faq__q:hover{ color:var(--gold); }
.faq__ico{ flex-shrink:0; width:24px; height:24px; position:relative; }
.faq__ico::before,.faq__ico::after{ content:""; position:absolute; background:var(--gold); transition:transform .3s var(--ease), opacity .3s; }
.faq__ico::before{ top:11px; left:3px; width:18px; height:2px; }
.faq__ico::after{ top:3px; left:11px; width:2px; height:18px; }
.faq__item.open .faq__ico::after{ transform:rotate(90deg); opacity:0; }
.faq__a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.faq__a-inner{ padding-bottom:1.6rem; color:var(--muted); max-width:75ch; line-height:1.65; }
.faq__a-inner a{ color:var(--gold); text-decoration:underline; text-underline-offset:3px; }

/* ---------- CTA band ---------- */
.cta-band{ position:relative; overflow:hidden; border-top:1px solid var(--line); }
.cta-band__peg{ position:absolute; right:-4%; bottom:-12%; width:min(54vw,560px); opacity:.05; transform:scaleX(-1); pointer-events:none; filter:grayscale(1); }
.cta-band__inner{ position:relative; padding-block:clamp(4.5rem,9vw,7.5rem); }
.cta-band__title{ font-family:var(--ff-display); color:var(--cream); font-weight:800; font-size:clamp(2.3rem,6vw,4.4rem); line-height:1.02; letter-spacing:-.02em; max-width:16ch; }
.cta-band__title em{ font-style:italic; font-weight:600; }
.cta-band__lead{ margin-top:1.6rem; max-width:56ch; color:var(--muted); font-size:clamp(1.02rem,1.7vw,1.25rem); line-height:1.6; }
.cta-band__actions{ margin-top:2.4rem; display:flex; flex-wrap:wrap; gap:.9rem; }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:start; }
.contact-aside h3{ font-family:var(--ff-display); color:var(--cream); font-weight:700; font-size:clamp(1.8rem,3.6vw,2.6rem); line-height:1.1; letter-spacing:-.01em; }
.contact-aside p{ margin-top:1.2rem; color:var(--muted); max-width:46ch; }
.contact-points{ margin-top:2.4rem; display:grid; gap:1.4rem; }
.cpoint{ display:flex; gap:1rem; align-items:flex-start; }
.cpoint__ico{ width:40px; height:40px; flex-shrink:0; color:var(--gold); border:1px solid var(--gold-deep); border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(250,219,15,.05); }
.cpoint__ico svg{ width:20px; height:20px; }
.cpoint__k{ font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--faint); }
.cpoint__v{ color:var(--cream); font-size:1.08rem; margin-top:.25rem; }
.cpoint__v a:hover{ color:var(--gold); }

.contact-form{ border:1px solid var(--line); border-radius:18px; padding:clamp(1.6rem,3vw,2.4rem); background:linear-gradient(180deg,var(--panel-2),var(--panel)); }
.field{ margin-bottom:1.2rem; }
.field--row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.field label{ display:block; font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:.6rem; }
.input,.textarea,.select{ width:100%; background:rgba(0,0,0,.35); border:1px solid var(--line); border-radius:10px; padding:.9rem 1rem; color:var(--cream); font-family:var(--ff-body); font-size:1rem; transition:border-color .3s, background .3s; }
.input::placeholder,.textarea::placeholder{ color:#6a6a64; }
.input:focus,.textarea:focus,.select:focus{ outline:none; border-color:var(--gold); background:rgba(0,0,0,.5); }
.textarea{ resize:vertical; min-height:130px; }
.select{ appearance:none; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fadb0f' stroke-width='2'><path d='M6 9l6 6 6-6'/></svg>"); background-repeat:no-repeat; background-position:right 1rem center; background-size:18px; padding-right:2.6rem; }
.contact-form .btn{ width:100%; justify-content:center; }
.form-note{ margin-top:1rem; font-size:.85rem; color:var(--faint); text-align:center; }

/* ---------- Footer ---------- */
.footer{ position:relative; border-top:1px solid var(--line); overflow:hidden; padding-top:clamp(3.5rem,6vw,5rem); padding-bottom:2.5rem; }
.footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:clamp(2rem,4vw,3rem); }
.footer__brand img{ height:64px; width:auto; margin-bottom:1.4rem; }
.footer__tag{ font-family:var(--ff-display); font-style:italic; color:var(--gold); font-size:1.15rem; }
.footer__blurb{ margin-top:1rem; color:var(--muted); font-size:.95rem; max-width:34ch; }
.footer__col h4{ font-family:var(--ff-mono); font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--faint); margin-bottom:1.2rem; }
.footer__col ul{ display:grid; gap:.7rem; }
.footer__col a,.footer__col li{ color:var(--muted); font-size:.95rem; transition:color .3s; }
.footer__col a:hover{ color:var(--gold); }
.footer__bottom{ margin-top:clamp(2.5rem,5vw,4rem); padding-top:1.6rem; border-top:1px solid var(--line-soft); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; }
.footer__copy{ font-family:var(--ff-mono); font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); }
.footer__services{ font-family:var(--ff-mono); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); }
.footer__services span{ color:var(--gold-deep); margin-inline:.4rem; }
.footer__peg{ position:absolute; right:-3%; bottom:-30%; width:min(40vw,420px); opacity:.04; transform:scaleX(-1); pointer-events:none; filter:grayscale(1); }

/* ---------- Page hero (inner pages) ---------- */
.page-hero{ padding-top:clamp(3rem,6vw,5rem); padding-bottom:clamp(2.5rem,5vw,4rem); position:relative; }
.page-hero__title{ font-family:var(--ff-display); color:var(--cream); font-weight:800; letter-spacing:-.02em;
  font-size:clamp(2.6rem,7vw,5.2rem); line-height:1.0; margin-top:1.3rem; max-width:18ch; }
.page-hero__title em{ font-style:italic; font-weight:600; }
.page-hero__lead{ margin-top:1.6rem; }

/* ---------- Legal / policy pages ---------- */
.legal{ color:var(--text); }
.legal__meta{ font-family:var(--ff-mono); font-size:.74rem; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); margin-bottom:3.2rem; }
.legal h2{ font-family:var(--ff-display); color:var(--cream); font-weight:600; font-size:clamp(1.3rem,2.4vw,1.7rem); margin:3.8rem 0 1.15rem; letter-spacing:-.01em; }
.legal h2 .sec-num{ font-family:var(--ff-mono); font-size:.72rem; font-weight:500; color:var(--gold); letter-spacing:.1em; margin-right:.55em; vertical-align:.28em; }
.legal h3{ font-family:var(--ff-display); color:#cfcdc6; font-weight:600; font-size:clamp(1.08rem,1.8vw,1.28rem); margin:2.4rem 0 .7rem; }
.legal p{ color:var(--text); line-height:1.85; margin-bottom:1.35rem; max-width:72ch; }
.legal ul{ list-style:none; margin:.4rem 0 1.7rem; padding:0; max-width:72ch; }
.legal li{ position:relative; padding-left:1.45rem; line-height:1.8; margin-bottom:.8rem; color:var(--text); }
.legal li::before{ content:""; position:absolute; left:0; top:.7em; width:6px; height:6px; background:var(--gold); transform:rotate(45deg); opacity:.85; }
.legal a{ color:var(--cream); text-decoration:underline; text-decoration-color:var(--gold-deep); text-underline-offset:3px; transition:text-decoration-color .3s; }
.legal a:hover{ text-decoration-color:var(--gold); }
.legal strong, .legal b{ color:#dcdad3; font-weight:600; }
.legal__note{ margin-top:3.8rem; padding:1.6rem 1.8rem; border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(180deg,var(--panel-2),var(--panel)); color:var(--muted); font-size:.95rem; line-height:1.8; }
.legal__note strong{ color:var(--cream); }

/* ---------- 404 ---------- */
.notfound{ position:relative; overflow:hidden; min-height:62vh; display:flex; align-items:center; padding-block:clamp(3.5rem,8vw,6rem); }
.notfound__peg{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:min(60vw,560px); opacity:.045; pointer-events:none; filter:grayscale(1); }
.notfound__inner{ position:relative; text-align:center; }
.notfound__code{ font-family:var(--ff-display); font-weight:900; color:var(--gold); line-height:1; font-size:clamp(5rem,18vw,11rem); letter-spacing:-.03em; margin-top:1rem; text-shadow:0 30px 80px rgba(250,219,15,.18); }
.notfound__title{ font-family:var(--ff-display); color:var(--cream); font-weight:800; letter-spacing:-.02em; font-size:clamp(1.8rem,5vw,3.2rem); line-height:1.05; margin-top:.6rem; }
.notfound__title em{ font-style:italic; font-weight:600; }
.notfound__lead{ margin-top:1.2rem; color:var(--muted); font-size:clamp(1rem,1.7vw,1.18rem); max-width:48ch; margin-inline:auto; line-height:1.6; }
.notfound__actions{ margin-top:2.2rem; display:flex; flex-wrap:wrap; gap:.9rem; justify-content:center; }
.notfound__links{ margin-top:2.4rem; font-family:var(--ff-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; align-items:center; }
.notfound__links a{ color:var(--muted); transition:color .3s; }
.notfound__links a:hover{ color:var(--gold); }
.notfound__links span{ color:var(--gold-deep); }
@media (max-width: 480px){ .notfound__actions .btn{ width:100%; justify-content:center; } }

/* ---------- Reveal animation ---------- */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-d="1"]{ transition-delay:.08s; } .reveal[data-d="2"]{ transition-delay:.16s; }
.reveal[data-d="3"]{ transition-delay:.24s; } .reveal[data-d="4"]{ transition-delay:.32s; }
.reveal[data-d="5"]{ transition-delay:.4s; }
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity:1; transform:none; transition:none; }
  .marquee__track{ animation:none; }
}

/* ---------- Responsive ---------- */
@media (max-width: 980px){
  .features{ grid-template-columns:1fr 1fr; }
  .stats{ grid-template-columns:1fr 1fr; }
  .statement__grid{ grid-template-columns:1fr; gap:1.6rem; }
  .gov-grid,.contact-grid{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr 1fr; }
  .footer__brand{ grid-column:1 / -1; }
}
@media (max-width: 860px){
  .nav__links{ display:none; }
  .nav__right .btn{ display:none; }
  .nav__toggle{ display:flex; }
  /* mobile menu */
  .nav__links.is-open{
    display:flex; flex-direction:column; align-items:flex-start; gap:1.4rem;
    position:fixed; inset:78px 0 auto 0; background:rgba(8,8,11,.97); backdrop-filter:blur(18px);
    padding:2rem var(--pad) 2.4rem; border-bottom:1px solid var(--line); z-index:99;
    animation:menu-in .35s var(--ease);
  }
  .nav__links.is-open .nav__link{ font-size:1.05rem; letter-spacing:.1em; }
  .nav__links.is-open .nav__cta-m{ display:inline-flex; margin-top:.6rem; }
  @keyframes menu-in{ from{ opacity:0; transform:translateY(-10px); } to{ opacity:1; transform:none; } }
}
@media (max-width: 720px){
  .features{ grid-template-columns:1fr; }
  .plans{ grid-template-columns:1fr; }
  .compare{ grid-template-columns:1fr; }
  .pillar__list{ grid-template-columns:1fr; }
  .plan--featured{ order:-1; }
  .field--row{ grid-template-columns:1fr; }
  .allplans__i{ flex-direction:column; align-items:flex-start; gap:.4rem; }
  .allplans__i span:not(:last-child)::after{ display:none; }
}
@media (max-width: 480px){
  .stats{ grid-template-columns:1fr; }
  .footer__grid{ grid-template-columns:1fr; }
  .hero__actions .btn,.cta-band__actions .btn{ width:100%; justify-content:center; }
}
