/* ════════════════════════════════════════════════════════════════
   LexForge — public marketing site stylesheet.
   Aligned to the locked console design language (workspace.css):
   warm paper system · oxblood primary · gold accent ·
   Newsreader / IBM Plex Sans / IBM Plex Mono.
   Single shared stylesheet for every public page. No inline styles.
   ════════════════════════════════════════════════════════════════ */
:root{
  /* surfaces — mirror workspace.css */
  --bg:#f3ede0; --bg-2:#ebe4d3; --bg-3:#e3dac6;
  --panel:#fbf7ee; --panel-2:#f0e7d0;
  --ink:#171410; --ink-2:#3a342b; --muted:#6a6256; --muted-strong:#574f43;
  --line:rgba(42,36,29,.16); --line-2:rgba(42,36,29,.26); --rule:#2a241d;
  /* brand */
  --ox:#6e1f23; --ox-2:#8a2c30; --ox-on-dark:#d45c63;
  --gold:#d6a85b; --gold-ink:#8a6a2a;
  --green:#3d6f46; --green-bg:#e7efdf; --amber:#8a6a2a; --amber-bg:#efe2c7;
  /* type */
  --serif:'Newsreader','Times New Roman',serif;
  --sans:'IBM Plex Sans',system-ui,-apple-system,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Consolas,monospace;
  /* effects */
  --shadow-hard:14px 16px 0 rgba(23,20,16,.06);
  --shadow-soft:0 2px 14px rgba(0,0,0,.06);
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1);
  --wrap:1200px;
}
*{box-sizing:border-box;}
html,body{margin:0;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-property:opacity,color,background-color,border-color,box-shadow,fill,stroke!important;}}
h1,h2,h3,h4,p{margin:0;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;}
button{font:inherit;}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--ink);color:var(--bg);}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--bg);padding:12px 18px;z-index:200;font-family:var(--mono);font-size:12px;letter-spacing:.08em;}
.skip-link:focus{left:12px;top:12px;}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* visible focus everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,label:focus-visible{outline:2px solid var(--ox);outline-offset:3px;}

/* ── layout primitives ─────────────────────────────────────────── */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 56px;}
.wrap-wide{max-width:1280px;}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}
.eyebrow b{color:var(--ox);font-weight:500;}
.coming{display:inline-block;margin-left:9px;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ox);border:1px solid color-mix(in oklab,var(--ox) 38%,transparent);
  background:color-mix(in oklab,var(--ox) 6%,transparent);padding:3px 8px;vertical-align:middle;}

/* ── navigation ────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in oklab,var(--bg) 88%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav-in{display:flex;align-items:center;gap:26px;height:74px;max-width:var(--wrap);margin:0 auto;padding:0 56px;}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:24px;letter-spacing:-.01em;color:var(--ink);}
.brand .mark{width:26px;height:26px;border:1.5px solid var(--ox);color:var(--ox);display:grid;place-items:center;font-size:14px;font-style:italic;flex:none;}
.brand-sep{width:1px;height:22px;background:var(--line);flex:none;}
.brandtag{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);white-space:nowrap;}
.nav-links{display:flex;gap:22px;margin-left:auto;flex-shrink:0;}
.nav-links a{font-size:14.5px;color:var(--ink-2);transition:color .15s;white-space:nowrap;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--ox);}
.nav-right{display:flex;align-items:center;gap:18px;flex-shrink:0;}
.nav-signin{font-size:14.5px;color:var(--ink-2);white-space:nowrap;transition:color .15s;}
.nav-signin:hover{color:var(--ox);}

/* ── nav dropdown (Products) ───────────────────────────────────── */
.nav-dd{position:relative;display:flex;align-items:center;}
.nav-dd-trigger{font-family:var(--sans);font-size:14.5px;color:var(--ink-2);background:none;border:0;padding:0;margin:0;cursor:pointer;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;transition:color .15s;}
.nav-dd-trigger:hover,.nav-dd.is-open .nav-dd-trigger,.nav-dd-trigger[aria-current="page"]{color:var(--ox);}
.dd-caret{font-size:8px;transition:transform .18s var(--ease-out);}
.nav-dd.is-open .dd-caret{transform:rotate(180deg);}
@media (hover: hover) and (pointer: fine){.nav-dd:hover .dd-caret{transform:rotate(180deg);}}
.nav-dd-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(4px);min-width:252px;background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow-hard);padding:7px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s var(--ease-out),transform .16s var(--ease-out);z-index:60;}
.nav-dd-panel::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.nav-dd:focus-within .nav-dd-panel,.nav-dd.is-open .nav-dd-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(8px);}
@media (hover: hover) and (pointer: fine){.nav-dd:hover .nav-dd-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(8px);}}
.nav-dd-panel a{display:flex;flex-direction:column;gap:3px;padding:11px 13px;white-space:nowrap;}
.nav-dd-panel a:hover,.nav-dd-panel a[aria-current="page"]{background:var(--bg-2);}
.dd-nm{font-family:var(--serif);font-size:16px;color:var(--ink);letter-spacing:-.01em;}
.nav-dd-panel a:hover .dd-nm,.nav-dd-panel a[aria-current="page"] .dd-nm{color:var(--ox);}
.dd-rl{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}

/* ── buttons ───────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;cursor:pointer;white-space:nowrap;
  font-size:14px;font-weight:500;font-family:var(--sans);border:1px solid var(--ox);background:var(--ox);color:#fdf8ee;
  transition:background .15s,border-color .15s,color .15s,transform .14s var(--ease-out);}
.btn:active{transform:scale(.97);}
.btn:hover{background:var(--ink);border-color:var(--ink);}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2);}
.btn.ghost:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);}
.btn.sm{padding:9px 18px;font-size:13.5px;}
.btn.lg{padding:14px 28px;font-size:15px;}
.btn.on-dark.ghost{background:transparent;color:var(--bg);border-color:rgba(243,237,224,.34);}
.btn.on-dark.ghost:hover{background:var(--bg);color:var(--ink);border-color:var(--bg);}
.arr{font-family:var(--mono);font-size:13px;}
.textlink{display:inline-flex;align-items:center;gap:7px;font-size:14.5px;font-weight:500;color:var(--ox);
  border-bottom:1px solid currentColor;padding-bottom:2px;transition:color .15s;}
.textlink:hover{color:var(--ink);}

/* ── section scaffolding ───────────────────────────────────────── */
.sec{padding:64px 0;border-top:1px solid var(--line);}
.sec.flush{border-top:none;}
.sec-grid{display:grid;grid-template-columns:.5fr 1.5fr;gap:48px;align-items:start;}
.sec-label .no{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);}
.sec-label .nm{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:7px;}
.sec h2{font-size:clamp(32px,3.4vw,44px);line-height:1.04;letter-spacing:-.02em;}
.sec h2 em{font-style:italic;color:var(--ox);}
.sec .sub{font-family:var(--serif);font-size:19px;line-height:1.48;color:var(--ink-2);max-width:54ch;margin:20px 0 0;}
.sec .sub b{color:var(--ink);font-weight:500;}

/* ── hero (editorial) ──────────────────────────────────────────── */
.hero{padding:78px 0 30px;}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:56px;align-items:start;}
.hero h1{font-size:clamp(46px,5.6vw,82px);line-height:.98;letter-spacing:-.03em;}
.hero h1 em{font-style:italic;color:var(--ox);}
/* headline swoosh — hand-drawn gold flourish under the italic word */
.hl{position:relative;display:inline-block;white-space:nowrap;}
.swoosh{position:absolute;left:-1.5%;width:103%;height:.32em;bottom:-.10em;overflow:visible;pointer-events:none;}
.swoosh path{fill:none;stroke:var(--gold);stroke-width:2.4;vector-effect:non-scaling-stroke;
  stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:340;stroke-dashoffset:0;}
@media (prefers-reduced-motion:no-preference){
  .swoosh path{stroke-dashoffset:340;animation:swooshDraw 1.05s cubic-bezier(.62,0,.2,1) .45s forwards;}
}
@keyframes swooshDraw{to{stroke-dashoffset:0;}}
.hero-eye{margin-bottom:18px;}
.hero-aside{padding-top:6px;}
.hero-lead{font-family:var(--serif);font-size:20px;line-height:1.5;color:var(--ink-2);max-width:42ch;}
.hero-lead b{color:var(--ink);font-weight:500;}
.hero-acts{display:flex;gap:13px;align-items:center;margin-top:26px;flex-wrap:wrap;}
.hero-meta{margin-top:24px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);
  font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap;}
.hero-meta b{color:var(--ink);font-weight:500;}
.hero-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;}
.pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);
  border:1px solid var(--line);background:var(--panel);padding:7px 12px;}

/* explainer frame (home hero) */
.demo-frame{background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow-hard);overflow:hidden;}
.demo-chrome{display:flex;align-items:center;justify-content:space-between;padding:11px 18px;background:var(--ink);color:var(--bg);font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;}
.demo-chrome .url{opacity:.7;}
.demo-chrome .live{display:inline-flex;align-items:center;gap:7px;color:var(--gold);letter-spacing:.14em;text-transform:uppercase;}
.demo-chrome .live i{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px color-mix(in oklab,var(--gold) 22%,transparent);}
.demo-iframe{display:block;width:100%;aspect-ratio:16/10;border:0;background:var(--bg);}
.demo-body{display:grid;grid-template-columns:1fr 1.04fr;gap:44px;padding:40px 40px;align-items:center;}
.demo-intro .eyebrow{margin-bottom:0;}
.demo-intro h2{font-size:clamp(28px,3vw,38px);line-height:1.04;letter-spacing:-.02em;margin:12px 0 0;}
.demo-intro h2 em{font-style:italic;color:var(--ox);}
.demo-lead{font-family:var(--serif);font-size:17px;line-height:1.5;color:var(--ink-2);margin:18px 0 0;max-width:42ch;}
.demo-lead b{color:var(--ink);font-weight:500;}
.demo-body .spec{box-shadow:none;}
@media (max-width:1000px){.demo-body{grid-template-columns:1fr;gap:28px;padding:28px;}}

/* ── feature cards (3-up) ──────────────────────────────────────── */.feat{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.fcard{padding:30px 30px 32px;border-right:1px solid var(--line);}
.fcard:last-child{border-right:none;}
.fcard .tag{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ox);}
.fcard h3{font-size:20px;line-height:1.16;margin:13px 0 0;}
.fcard p{font-size:14px;color:var(--ink-2);line-height:1.55;margin:12px 0 0;}

/* ── proof strip (big stats) ───────────────────────────────────── */
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.stat{padding:30px 28px 30px 0;border-right:1px solid var(--line);}
.stat:not(:first-child){padding-left:28px;}
.stat:last-child{border-right:none;}
.stat .v{font-family:var(--serif);font-size:38px;color:var(--ox);line-height:1;letter-spacing:-.02em;}
.stat p{font-size:13.5px;color:var(--ink-2);margin-top:10px;line-height:1.5;}
.stat p b{color:var(--ink);font-weight:500;}

/* ── dark band ─────────────────────────────────────────────────── */
.band{background:var(--ink);color:var(--bg);}
.band .wrap{padding-top:68px;padding-bottom:68px;}
.band-grid{display:grid;grid-template-columns:.5fr 1.5fr;gap:48px;align-items:start;}
.band-label .no{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);}
.band-label .nm{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(243,237,224,.5);margin-top:7px;}
.band-label .h{font-family:var(--serif);font-size:27px;color:var(--bg);margin-top:14px;line-height:1.1;}
.band-label .h em{font-style:italic;color:var(--gold);}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
.compare h3{font-size:20px;color:var(--bg);margin-bottom:6px;}
.compare .col-good h3{color:var(--gold);}
.clist{list-style:none;margin:8px 0 0;padding:0;}
.clist li{display:grid;grid-template-columns:24px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid rgba(243,237,224,.13);font-size:14.5px;color:rgba(243,237,224,.82);line-height:1.45;}
.clist li:last-child{border-bottom:none;}
.clist .m{font-family:var(--mono);font-size:11px;color:rgba(243,237,224,.4);}
.col-good .clist .m{color:var(--gold);}

/* ── product orientation (two doors) ───────────────────────────── */
.products{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;}
.prod{border:1px solid var(--rule);padding:36px 34px 32px;display:flex;flex-direction:column;min-height:330px;}
.prod.soon{background:var(--ink);color:var(--bg);}
.prod-top{display:flex;align-items:center;justify-content:space-between;gap:14px;}
.prod-kind{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);}
.prod.soon .prod-kind{color:rgba(243,237,224,.55);}
.prod-status{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;display:inline-flex;align-items:center;gap:6px;border:1px solid currentColor;}
.prod-status i{width:5px;height:5px;border-radius:50%;background:currentColor;}
.prod-status.live{color:var(--green);background:var(--green-bg);}
.prod-status.soon{color:var(--gold);}
.prod h3{font-size:32px;margin:22px 0 0;letter-spacing:-.02em;}
.prod.soon h3{color:var(--bg);}
.prod .role{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--ox);margin-top:4px;}
.prod.soon .role{color:var(--gold);}
.prod p{font-size:14.5px;line-height:1.6;color:var(--ink-2);margin:18px 0 0;}
.prod.soon p{color:rgba(243,237,224,.76);}
.prod .pa{margin-top:auto;padding-top:26px;}
.prod-mark{margin-top:26px;}
.prod-mark svg{display:block;height:42px;width:auto;overflow:visible;}
.prod-mark + h3{margin-top:14px;}
.hero-mark{margin-bottom:20px;}
.hero-mark svg{display:block;height:52px;width:auto;overflow:visible;}

/* ── triple column (audience) ──────────────────────────────────── */
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:40px;}
.tri h3{font-size:20px;color:var(--ink);border-top:1px solid var(--rule);padding-top:16px;}
.tri p{font-size:14px;color:var(--ink-2);line-height:1.55;margin-top:12px;}

/* ── about: prose, pull-quote, principle matrix ────────────────── */
.prose{max-width:60ch;}
.prose p{font-family:var(--serif);font-size:18px;line-height:1.56;color:var(--ink-2);}
.prose p + p{margin-top:18px;}
.prose b{color:var(--ink);font-weight:500;}
.pull{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.34;color:var(--ink);border-left:2px solid var(--ox);padding-left:22px;margin:32px 0 0;max-width:46ch;}
.pull span{display:block;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:14px;}
.amx{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--line);margin-top:40px;}
.amx .cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 26px 30px;}
.amx .cell .k{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);}
.amx .cell h3{font-size:19px;margin:13px 0 0;line-height:1.16;letter-spacing:-.01em;}
.amx .cell p{font-size:14px;color:var(--ink-2);line-height:1.55;margin:11px 0 0;}
@media (max-width:880px){.amx{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.amx{grid-template-columns:1fr;}}

/* ── document specimen (CSS-only before/after) ─────────────────── */
.spec{background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow-hard);position:relative;}
.spec-flag{position:absolute;top:-1px;right:-1px;font-family:var(--mono);font-size:9px;letter-spacing:.16em;
  text-transform:uppercase;color:#fdf8ee;background:var(--ox);padding:5px 10px;z-index:2;}
.spec-toggle{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
.spec-tabs{display:flex;background:var(--ink);}
.spec-tab{flex:1;padding:12px 14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-align:center;
  text-transform:uppercase;color:rgba(243,237,224,.55);border-right:1px solid rgba(243,237,224,.12);cursor:pointer;transition:color .15s var(--ease-out);}
.spec-tab:last-of-type{border-right:none;}
.spec-tab:hover{color:rgba(243,237,224,.85);}
.spec-tab:active{transform:scale(.98);}
.spec-stage{position:relative;}
.spec-panel{display:none;}
.spec-cap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;background:var(--panel-2);
  border-top:1px solid var(--line);font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.spec-cap b{color:var(--ink);font-weight:500;}
.spec-cap .cap-in{display:none;}
/* toggle wiring */
#spec-a:checked~.spec-tabs .spec-tab[for="spec-a"],
#spec-b:checked~.spec-tabs .spec-tab[for="spec-b"]{background:var(--bg);color:var(--ink);}
#spec-a:checked~.spec-stage .spec-panel--a{display:block;}
#spec-b:checked~.spec-stage .spec-panel--b{display:block;}
#spec-b:checked~.spec-cap .cap-out{display:none;}
#spec-b:checked~.spec-cap .cap-in{display:flex;}
.spec-toggle:focus-visible~.spec-tabs .spec-tab{outline:2px solid var(--gold);outline-offset:-2px;}

/* the document page itself */
.docp{background:#fff;padding:28px 32px 30px;font-family:var(--serif);font-size:12.5px;color:var(--ink-2);line-height:1.62;min-height:392px;}
.docp .firm{display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:var(--mono);font-size:8.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:11px;margin-bottom:18px;border-bottom:1px solid var(--line);}
.docp .firm .ok{color:var(--green);border:1px solid var(--green);padding:2px 7px;letter-spacing:.1em;white-space:nowrap;}
.docp .title{font-size:21px;color:var(--ink);margin-bottom:5px;}
.docp .meta{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.docp .cl{margin:0 0 11px;}
.docp .num{color:var(--ox);font-weight:500;}
.docp h4{font-size:15px;color:var(--ink);font-weight:500;margin:18px 0 9px;font-family:var(--serif);}
.docp .fn{font-family:var(--mono);font-size:9px;color:var(--ox);margin-top:20px;padding-top:10px;border-top:1px dashed var(--line);}
.stag{display:inline-block;vertical-align:middle;margin-left:7px;font-family:var(--mono);font-size:8px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ox);border:1px solid color-mix(in oklab,var(--ox) 35%,transparent);
  background:color-mix(in oklab,var(--ox) 6%,transparent);padding:1px 5px;}
.flag{background:var(--amber-bg);border-bottom:2px solid var(--amber);padding:0 2px;cursor:help;}
.flagtag{display:inline-block;vertical-align:middle;margin-left:6px;font-family:var(--mono);font-size:8px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--amber);border:1px solid color-mix(in oklab,var(--amber) 45%,transparent);background:var(--amber-bg);padding:1px 5px;}
.fnref{color:var(--ox);}
/* scanned variant */
.docp.scan{background:color-mix(in oklab,#ede4cc 92%,transparent);}
.docp.scan .gappy{letter-spacing:.06em;}
.docp.scan .blur{filter:blur(.4px);opacity:.85;}
.docp.scan .miss{color:transparent;background:rgba(0,0,0,.09);border-bottom:1px solid rgba(0,0,0,.16);}
.docp.scan .stampnote{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:14px;}
/* generic variant (house styles) */
.docp.gen{color:#5a5347;}
.docp.gen .gen-title{text-align:center;font-size:14px;letter-spacing:.12em;color:var(--ink-2);font-weight:500;margin-bottom:4px;}
.docp.gen .gen-meta{text-align:center;font-family:var(--serif);font-size:11px;color:var(--muted);margin-bottom:18px;}
.gtag{display:inline-block;vertical-align:middle;margin-left:7px;font-family:var(--mono);font-size:8px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:1px 5px;opacity:.8;}

/* ── mapping grid (house styles) ───────────────────────────────── */
.map-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:40px;border:1px solid var(--line);border-bottom:none;}
.map-cell{padding:22px 20px 26px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);}
.map-cell:nth-child(5n){border-right:none;}
.map-cell .mn{font-family:var(--mono);font-size:11px;color:var(--ox);letter-spacing:.05em;}
.map-cell h4{font-size:18px;line-height:1.12;margin:14px 0 0;}
.map-cell p{font-size:13px;color:var(--ink-2);line-height:1.5;margin:10px 0 0;}

/* ── ledger (dark stats inline) ────────────────────────────────── */
.safety .eyebrow{color:var(--gold);}
.safety h2 em{color:var(--gold);}
.safety p em{font-style:italic;color:var(--bg);}
.ledger{margin-top:26px;padding-top:18px;border-top:1px solid rgba(243,237,224,.16);display:flex;gap:32px;flex-wrap:wrap;}
.led-item{display:flex;flex-direction:column;gap:5px;}
.led-item .v{font-family:var(--serif);font-size:30px;color:var(--gold);line-height:1;}
.led-item .l{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(243,237,224,.6);}

/* ── pricing ───────────────────────────────────────────────────── */
.pricing-hero{padding:72px 0 0;}
.pricing-hero .ph-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:end;}
.pricing-hero h1{font-size:clamp(38px,4.4vw,60px);line-height:1.02;letter-spacing:-.025em;margin-top:16px;}
.pricing-hero h1 em{font-style:italic;color:var(--ox);}
.pricing-hero .ph-intro p{font-size:16px;color:var(--ink-2);line-height:1.6;}
.pricing-hero .ph-intro .btn{margin-top:20px;}
.trial-band{display:grid;grid-template-columns:repeat(4,1fr);margin-top:48px;border:1px solid var(--rule);background:var(--panel);}
.trial-band > div{padding:22px 24px;border-right:1px solid var(--line);}
.trial-band > div:last-child{border-right:none;}
.trial-band strong{display:block;font-family:var(--serif);font-weight:500;font-size:24px;color:var(--ox);letter-spacing:-.01em;}
.trial-band span{display:block;font-size:13px;color:var(--ink-2);margin-top:8px;line-height:1.45;}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:0;border:1px solid var(--line);}
.price-card{padding:30px 26px 32px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:var(--panel);position:relative;}
.price-card:last-child{border-right:none;}
.price-card.featured{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-hard);}
.plan-badge{position:absolute;top:0;left:0;font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;background:var(--gold);color:var(--ink);padding:4px 10px;}
.price-card h2{font-size:24px;margin-bottom:8px;margin-top:6px;}
.price-card.featured h2{color:var(--bg);}
.price-card > p{font-size:13.5px;color:var(--ink-2);line-height:1.5;min-height:3.6em;}
.price-card.featured > p{color:rgba(243,237,224,.78);}
.price-amt{font-family:var(--serif);font-size:40px;color:var(--ink);letter-spacing:-.02em;margin-top:18px;line-height:1;}
.price-card.featured .price-amt{color:var(--bg);}
.price-amt span{font-family:var(--sans);font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0;}
.price-card.featured .price-amt span{color:rgba(243,237,224,.6);}
.price-annual{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:8px;letter-spacing:.03em;}
.price-card.featured .price-annual{color:rgba(243,237,224,.6);}
.price-card ul{list-style:none;margin:22px 0 0;padding:20px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:11px;}
.price-card.featured ul{border-top-color:rgba(243,237,224,.16);}
.price-card li{font-size:13.5px;color:var(--ink-2);display:grid;grid-template-columns:16px 1fr;gap:9px;line-height:1.4;}
.price-card.featured li{color:rgba(243,237,224,.82);}
.price-card li::before{content:"§";font-family:var(--serif);color:var(--ox);font-size:13px;line-height:1.2;}
.price-card.featured li::before{color:var(--gold);}
.price-card .btn{margin-top:26px;width:100%;justify-content:center;}
.price-card.featured .btn{background:var(--gold);border-color:var(--gold);color:var(--ink);}
.price-card.featured .btn:hover{background:#e7c887;border-color:#e7c887;}
.pricing-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px;}
.pricing-notes article h2{font-size:19px;border-top:1px solid var(--rule);padding-top:16px;}
.pricing-notes article p{font-size:14px;color:var(--ink-2);line-height:1.6;margin-top:12px;}

/* ── pricing: estimator slider ─────────────────────────────────── */
.estimator{margin-top:44px;border:1px solid var(--rule);background:var(--panel);box-shadow:var(--shadow-hard);}
.est-body{display:grid;grid-template-columns:1.35fr 1fr;}
.est-slider{padding:32px 34px;display:flex;flex-direction:column;justify-content:center;}
.est-slider-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:22px;}
.est-cap{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);}
.est-pages{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.est-pages b{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--ink);letter-spacing:-.02em;margin-right:4px;}
.est-slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:var(--line-2);outline:none;cursor:pointer;margin:0;accent-color:var(--ox);}
.est-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--ox);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--ox);cursor:pointer;}
.est-slider input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--ox);border:3px solid var(--panel);box-shadow:0 0 0 1px var(--ox);cursor:pointer;}
.est-slider input[type=range]:focus-visible{outline:2px solid var(--ox);outline-offset:6px;}
.est-scale{display:flex;justify-content:space-between;margin-top:14px;font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--muted);}
.est-result{padding:30px 32px;border-left:1px solid var(--line);background:var(--bg);display:flex;flex-direction:column;}
.er-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.er-tag{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink);}
.er-name{display:block;font-family:var(--serif);font-size:25px;color:var(--ink);margin-top:7px;letter-spacing:-.01em;}
.er-cost{text-align:right;flex:none;}
.er-amt{display:block;font-family:var(--serif);font-size:30px;color:var(--ox);line-height:1;letter-spacing:-.02em;}
.er-per{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);}
.er-detail{font-family:var(--mono);font-size:11px;letter-spacing:.03em;color:var(--ink-2);margin-top:16px;}
.est-result .btn{margin-top:auto;padding-top:18px;}
.est-result > .btn{margin-top:20px;width:100%;justify-content:center;}

/* ── pricing: plan feature list ────────────────────────────────── */
.plan-feat{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:0;}
.price-card.featured .plan-feat{border-top-color:rgba(243,237,224,.16);}
.plan-feat li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px;}
.price-card.featured .plan-feat li{border-bottom-color:rgba(243,237,224,.12);color:inherit;}
.plan-feat li:last-child{border-bottom:none;}
.plan-feat li::before{content:none;}
.plan-feat li.solo{justify-content:flex-start;}
.pf-k{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.price-card.featured .pf-k{color:rgba(243,237,224,.55);}
.pf-v{font-weight:500;color:var(--ink);text-align:right;}
.price-card.featured .pf-v{color:var(--bg);}
.plan-feat li.solo .pf-v{text-align:left;}
.pf-v.muted{color:var(--muted);font-weight:400;}
.pf-v em{font-style:italic;font-weight:400;font-family:var(--serif);color:var(--muted);font-size:13px;}
.price-card.featured .pf-v em{color:rgba(243,237,224,.62);}

/* ── security cards / tables ───────────────────────────────────── */
.s-head{display:grid;grid-template-columns:.5fr 1.5fr;gap:48px;align-items:start;margin-bottom:8px;}
.s-head h1{font-size:clamp(34px,3.8vw,52px);line-height:1.04;letter-spacing:-.025em;}
.s-head .sub{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--ink-2);margin-top:20px;max-width:60ch;}
.sec-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:44px;}
.sec-card{background:var(--panel);border:1px solid var(--line-2);padding:30px 30px 26px;}
.sec-card h2{font-size:22px;}
.sec-points{list-style:none;margin:18px 0 0;padding:0;}
.sec-points li{display:grid;grid-template-columns:18px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2);line-height:1.5;}
.sec-points li:last-child{border-bottom:none;}
.sec-points .mk{color:var(--ox);font-family:var(--serif);}
.sec-points strong{color:var(--ink);font-weight:600;}
.trust-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;}
.trust-item{border:1px solid var(--line);padding:24px 26px;background:var(--bg-2);}
.trust-item h3{font-size:18px;}
.trust-item p{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin-top:10px;}
.block-head{font-size:24px;margin-top:56px;}
.proc-table{width:100%;border-collapse:collapse;margin-top:20px;border:1px solid var(--line-2);background:var(--panel);}
.proc-table th{text-align:left;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);font-weight:500;padding:13px 18px;border-bottom:1px solid var(--line-2);background:var(--bg);}
.proc-table td{padding:15px 18px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink-2);vertical-align:top;}
.proc-table tr:last-child td{border-bottom:none;}
.proc-table td:first-child{font-weight:600;color:var(--ink);}
.sec-block p{font-size:14.5px;color:var(--ink-2);line-height:1.6;margin-top:12px;max-width:74ch;}
.sec-block p a{color:var(--ox);border-bottom:1px solid color-mix(in oklab,var(--ox) 40%,transparent);}

/* ── legal document (privacy / terms) ──────────────────────────── */
.legal{padding:64px 0 80px;}
.legal-doc{max-width:760px;}
.legal-doc h1{font-size:clamp(34px,3.6vw,50px);line-height:1.04;letter-spacing:-.02em;margin-top:14px;}
.legal-intro{font-family:var(--serif);font-size:19px;color:var(--ink-2);line-height:1.55;margin-top:18px;padding-bottom:28px;border-bottom:1px solid var(--rule);}
.legal-doc h2{font-size:22px;margin-top:40px;}
.legal-doc h2::before{content:attr(data-no);display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--gold-ink);margin-bottom:8px;font-weight:400;}
.legal-doc p{font-size:15px;color:var(--ink-2);line-height:1.68;margin-top:14px;}
.legal-doc p a{color:var(--ox);border-bottom:1px solid color-mix(in oklab,var(--ox) 40%,transparent);}
.legal-note{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12.5px!important;letter-spacing:.02em;color:var(--muted)!important;}

/* ── CTA band (shared) ─────────────────────────────────────────── */
.cta{background:var(--ink);color:var(--bg);}
.cta .wrap{padding:64px 56px;display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center;}
.cta .eyebrow{color:var(--gold);}
.cta h2{font-size:clamp(30px,3.2vw,42px);line-height:1.06;color:var(--bg);margin-top:14px;letter-spacing:-.02em;}
.cta h2 em{font-style:italic;color:var(--gold);}
.cta-acts{display:flex;flex-direction:column;gap:12px;align-items:flex-start;}
.cta-acts .btn{justify-content:center;min-width:200px;}
.cta-acts .hint{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(243,237,224,.6);}

/* ── footer ────────────────────────────────────────────────────── */
.foot{border-top:1px solid var(--rule);background:var(--bg-2);}
.foot .wrap{padding-top:56px;padding-bottom:40px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.foot-brand .brand{font-size:20px;margin-bottom:12px;}
.foot-blurb{color:var(--muted);font-size:13.5px;max-width:34ch;line-height:1.55;}
.foot-col h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-bottom:14px;}
.foot-col a{display:block;font-size:14px;color:var(--ink-2);padding:5px 0;transition:color .15s;}
.foot-col a:hover{color:var(--ox);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:48px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;}

/* ── back to top (site.js) ─────────────────────────────────────── */
.back-to-top{position:fixed;right:22px;bottom:22px;width:46px;height:46px;z-index:90;background:var(--ink);color:var(--bg);
  border:1px solid var(--rule);font-size:18px;cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out),background .15s;}
.back-to-top.is-visible{opacity:1;transform:none;pointer-events:auto;}
.back-to-top:hover{background:var(--ox);border-color:var(--ox);}
.back-to-top:active{transform:scale(.95);}

/* ── cookie consent (site.js) ──────────────────────────────────── */
.cookie-consent{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:95;width:min(720px,calc(100% - 44px));
  background:var(--panel);border:1px solid var(--rule);box-shadow:var(--shadow-hard);display:flex;gap:24px;align-items:center;padding:18px 22px;flex-wrap:wrap;}
.cookie-consent-copy{flex:1;min-width:240px;}
.cookie-consent-copy h2{font-size:17px;}
.cookie-consent-copy p{font-size:13px;color:var(--ink-2);line-height:1.5;margin-top:6px;}
.cookie-consent-copy a{color:var(--ox);border-bottom:1px solid color-mix(in oklab,var(--ox) 40%,transparent);}
.cookie-consent-actions{display:flex;gap:10px;flex-shrink:0;}
.cookie-button{padding:10px 18px;font-size:13px;font-weight:500;font-family:var(--sans);cursor:pointer;border:1px solid var(--ox);}
.cookie-button-light{background:transparent;color:var(--ink);border-color:var(--line-2);}
.cookie-button-light:hover{background:var(--bg-3);}
.cookie-button-dark{background:var(--ox);color:#fdf8ee;}
.cookie-button-dark:hover{background:var(--ink);border-color:var(--ink);}

/* ── converter flow (input → output) ───────────────────────────── */
.conv{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:start;margin-top:8px;}
.conv-card{background:#fff;border:1px solid var(--line-2);box-shadow:var(--shadow-hard);overflow:hidden;}
.conv-card .lbl{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;background:var(--ink);color:var(--bg);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;}
.conv-card .lbl b{color:var(--gold);font-weight:500;}
.conv-card img{width:100%;height:auto;display:block;}
.conv-arrow{align-self:center;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl;text-orientation:mixed;display:flex;align-items:center;gap:8px;}
.conv-arrow::before,.conv-arrow::after{content:"";width:1px;flex:1;background:var(--line-2);min-height:20px;}
.conv-cap{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--ink-2);text-align:center;margin-top:24px;max-width:64ch;margin-left:auto;margin-right:auto;line-height:1.5;}

/* ── numbered steps (vertical) ─────────────────────────────────── */
.steps{margin-top:40px;border-top:1px solid var(--rule);}
.step{display:grid;grid-template-columns:64px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.step .sn{font-family:var(--serif);font-size:34px;color:var(--ox);line-height:1;letter-spacing:-.02em;}
.step p{font-size:15.5px;color:var(--ink-2);line-height:1.55;}
.step p b{color:var(--ink);font-weight:600;}

/* ── crest / seal (editorial emblem) ───────────────────────────── */
.crest{margin-top:-8px;max-width:188px;}
.crest svg{width:100%;height:auto;display:block;}
.crest .cap{margin-top:14px;font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.6;}
.crest .cap b{color:var(--ox);font-weight:500;}

/* ── help / DPIA request form ──────────────────────────────────── */
.help{background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow-hard);margin-top:56px;display:grid;grid-template-columns:.82fr 1.18fr;}
.help-intro{padding:34px 32px;border-right:1px solid var(--line);}
.help-intro .eyebrow{color:var(--ox);}
.help-intro h2{font-size:25px;margin-top:12px;line-height:1.1;}
.help-intro p{font-size:14px;color:var(--ink-2);line-height:1.6;margin-top:14px;}
.help-intro .alt{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);line-height:1.7;}
.help-intro .alt a{color:var(--ox);border-bottom:1px solid color-mix(in oklab,var(--ox) 40%,transparent);}
.help-form{padding:30px 32px;}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field.full{grid-column:1 / -1;}
.field label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);}
.field label .req{color:var(--ox);}
.field input,.field select,.field textarea{font:inherit;font-size:14px;padding:11px 13px;border:1px solid var(--line-2);background:#fff;color:var(--ink);width:100%;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);}
.field textarea{resize:vertical;min-height:92px;line-height:1.5;}
.field select{appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M3 4.5L6 8l3-3.5' fill='none' stroke='%236a6256' stroke-width='1.3'/></svg>") no-repeat right 13px center;padding-right:34px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--ox);outline-offset:1px;border-color:var(--ox);}
.help-form .actions{display:flex;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap;}
.opt-tag{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:none;color:var(--muted);background:var(--bg-2);padding:2px 7px;margin-left:6px;}
.dropzone{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:22px 18px;border:1.5px dashed var(--line-2);background:var(--bg);cursor:pointer;transition:border-color .15s,background .15s;}
.dropzone:hover,.dropzone.is-over{border-color:var(--ox);background:var(--panel);}
.dropzone:focus-within{outline:2px solid var(--ox);outline-offset:1px;}
.dropzone input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0;}
.dz-ico{font-size:20px;color:var(--ox);line-height:1;}
.dz-main{font-size:14px;font-weight:500;color:var(--ink);}
.dz-sub{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--muted);}
.file-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;}
.file-list:empty{margin:0;}
.file-item{display:flex;align-items:center;gap:11px;padding:9px 12px;background:#fff;border:1px solid var(--line);}
.file-item .fi-ext{font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--ox);background:var(--bg-2);padding:3px 6px;flex:none;}
.file-item .fi-name{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.file-item .fi-size{font-family:var(--mono);font-size:10px;color:var(--muted);flex:none;}
.file-item .fi-x{flex:none;border:0;background:none;color:var(--muted);cursor:pointer;font-size:15px;line-height:1;padding:2px 4px;}
.file-item .fi-x:hover{color:var(--ox);}
.file-err{margin:10px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--ox);}
.form-note{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:var(--muted);line-height:1.5;}
.form-ok{display:none;align-items:flex-start;gap:13px;padding:6px 0;}
.form-ok .tick{width:34px;height:34px;flex:none;border-radius:50%;background:var(--green-bg);border:1px solid var(--green);color:var(--green);display:grid;place-items:center;font-size:16px;}
.form-ok h3{font-size:19px;}
.form-ok p{font-size:13.5px;color:var(--ink-2);margin-top:5px;line-height:1.55;}
.help-form.sent .fields,.help-form.sent .actions{display:none;}
.help-form.sent .form-ok{display:flex;}

/* ── responsive ────────────────────────────────────────────────── */
@media (max-width:1000px){
  .wrap,.nav-in{padding-left:32px;padding-right:32px;}
  .band .wrap,.cta .wrap{padding-left:32px;padding-right:32px;}
  .hero-grid,.band-grid,.sec-grid,.s-head,.compare,.tri,.products,.pricing-hero .ph-grid,.cta .wrap{grid-template-columns:1fr;gap:32px;}
  .feat,.stats,.sec-cards,.trust-row,.pricing-notes{grid-template-columns:1fr;}
  .price-grid{grid-template-columns:1fr 1fr;}
  .est-body{grid-template-columns:1fr;}
  .est-result{border-left:none;border-top:1px solid var(--line);}
  .fcard,.stat{border-right:none;border-bottom:1px solid var(--line);}
  .stat{padding-left:0;}
  .trial-band,.price-grid{grid-template-columns:1fr 1fr;}
  .trial-band > div:nth-child(2),.price-card:nth-child(2n){border-right:none;}
  .trial-band > div,.price-card{border-bottom:1px solid var(--line);}
  .map-grid{grid-template-columns:1fr 1fr;}
  .map-cell:nth-child(5n){border-right:1px solid var(--line);}
  .map-cell:nth-child(2n){border-right:none;}
  .nav-links,.brandtag,.brand-sep{display:none;}
  .foot-grid{grid-template-columns:1fr 1fr;}
  .help{grid-template-columns:1fr;}
  .help-intro{border-right:none;border-bottom:1px solid var(--line);}
  .conv{grid-template-columns:1fr;}
  .conv-arrow{writing-mode:horizontal-tb;justify-content:center;}
  .conv-arrow::before,.conv-arrow::after{height:1px;width:auto;min-height:0;min-width:24px;}
}
@media (max-width:640px){
  .wrap,.nav-in,.band .wrap,.cta .wrap,.foot .wrap{padding-left:22px;padding-right:22px;}
  .trial-band,.price-grid,.foot-grid{grid-template-columns:1fr;}
  .trial-band > div,.price-card{border-right:none;}
  .fields{grid-template-columns:1fr;}
}


/* ── auth pages (login / signup) ───────────────────────────────── */
.auth-body{min-height:100vh;margin:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);background:var(--bg);color:var(--ink);font-family:var(--sans);}
.auth-panel{display:flex;flex-direction:column;gap:18px;justify-content:center;padding:48px 56px;max-width:600px;width:100%;margin:0 auto;}
.auth-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:23px;color:var(--ink);width:max-content;}
.auth-brand .brand-mark{width:26px;height:26px;border:1.5px solid var(--ox);color:var(--ox);display:grid;place-items:center;font-size:14px;font-style:italic;flex:none;}
.auth-home-link{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);width:max-content;}
.auth-home-link:hover{color:var(--ox);}
.auth-panel > div > h1{font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:-.02em;line-height:1.04;}
.auth-panel > div > p{font-family:var(--serif);font-size:16px;color:var(--ink-2);margin-top:8px;line-height:1.5;}
.custom-auth-card{display:flex;flex-direction:column;gap:14px;background:var(--panel);border:1px solid var(--line-2);box-shadow:var(--shadow-hard);padding:26px 26px 28px;}
.custom-auth-card[hidden]{display:none;}
.auth-step-copy{display:flex;flex-direction:column;gap:5px;}
.auth-step-copy strong{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--ink);}
.auth-step-copy span{font-size:13px;color:var(--muted-strong);line-height:1.5;}
.custom-auth-card label{display:flex;flex-direction:column;gap:7px;}
.custom-auth-card label > span{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-strong);}
.custom-auth-card input{font:inherit;font-size:14px;padding:11px 13px;border:1px solid var(--line-2);background:#fff;color:var(--ink);width:100%;}
.custom-auth-card input:focus{outline:2px solid var(--ox);outline-offset:1px;border-color:var(--ox);}
.auth-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.auth-button-stack{display:flex;flex-direction:column;gap:10px;margin-top:4px;}
.custom-auth-card .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:500;font-family:var(--sans);cursor:pointer;border:1px solid var(--ox);transition:background .15s,border-color .15s,color .15s;width:100%;}
.button.primary{background:var(--ox);color:#fdf8ee;}
.button.primary:hover{background:var(--ink);border-color:var(--ink);}
.button.secondary{background:transparent;color:var(--ink);border-color:var(--line-2);}
.button.secondary:hover{background:var(--ink);color:var(--bg);border-color:var(--ink);}
#clerk-captcha{margin-top:2px;}
.auth-panel .api-message{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--ox);min-height:1em;}
.auth-disclaimer{font-size:12.5px;color:var(--muted);}
.auth-links{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink-2);}
.auth-links a{color:var(--ox);border-bottom:1px solid color-mix(in oklab,var(--ox) 40%,transparent);}
.auth-links a:hover{color:var(--ink);}
.auth-copy{background:var(--ink);color:var(--bg);display:flex;flex-direction:column;justify-content:center;gap:16px;padding:48px 56px;}
.auth-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-.02em;color:var(--bg);}
.auth-copy p{font-family:var(--serif);font-size:18px;line-height:1.5;color:rgba(243,237,224,.8);max-width:36ch;}
@media (max-width:900px){
  .auth-body{grid-template-columns:1fr;}
  .auth-copy{order:-1;padding:32px;}
  .auth-panel{padding:36px 26px;}
  .auth-name-grid{grid-template-columns:1fr;}
}
