/* ============================================================
   VIRRTECH SOLUTIONS — v3 "Midnight & Gold · Premium"
   Editorial-luxe: serif display, gold hairlines, deep navy
   ============================================================ */
:root{
  --navy-950:#050D15; --navy-900:#081722; --navy-800:#0F2636; --navy-700:#16334a; --navy-600:#1E4059;
  --gold-500:#C9A227; --gold-600:#AD8A20; --gold-700:#8A6F14; --gold-300:#E0C97E; --gold-200:#EADCA6;
  --champagne:#D9BE7E;
  --ivory:#F5F1E7; --paper:#EFEADF; --card:#FBFAF6;
  --ink:#101B26; --muted:#55626C; --soft:#8A959E; --line:#D8CFBC; --line-soft:rgba(216,207,188,.55);
  --line-dk:rgba(217,190,126,.22);
  --serif:"Fraunces",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
::selection{background:#C9A227;color:#081722}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.wrap{max-width:1220px;margin:0 auto;padding:0 26px}
a{color:inherit}
.mono{font-family:var(--mono)}
img{max-width:100%}

/* gold top hairline */
body::before{content:"";position:fixed;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold-500),var(--champagne) 40%,transparent 90%);z-index:120}

/* ---------- TYPE ---------- */
.serif{font-family:var(--serif)}
.t1{font-family:var(--serif);font-weight:500;font-size:clamp(3rem,7vw,5.6rem);line-height:.99;letter-spacing:-.02em;color:var(--navy-900)}
.t1 em{font-style:italic;font-weight:400;color:var(--gold-600);letter-spacing:-.015em}
.t2{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.08;letter-spacing:-.012em;color:var(--navy-900)}
.t2 em{font-style:italic;color:var(--gold-600)}
.t3{font-family:var(--serif);font-weight:500;font-size:1.4rem;color:var(--navy-900);line-height:1.25}
.lab{font-family:var(--mono);font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-700);font-weight:500}
.lab::before{content:"— ";color:var(--gold-500)}
.lab.lgt{color:var(--champagne)}.lab.lgt::before{color:var(--gold-500)}
.lead{color:var(--muted);font-size:1.06rem;line-height:1.75;max-width:60ch}
.lead b{color:var(--ink);font-weight:600}
.small{font-size:.87rem;color:var(--soft)}
.mono-n{font-family:var(--mono);font-size:.9rem}
.tick{color:var(--gold-600)}
.wht{color:#fff}.lgt{color:var(--champagne)}
.gold{color:var(--gold-600)}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);font-weight:500;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;padding:16px 26px;text-decoration:none;cursor:pointer;transition:all .22s var(--ease);line-height:1;border:1px solid transparent;border-radius:0;white-space:nowrap}
.btn-p{background:var(--navy-900);color:#fff}
.btn-p:hover{background:var(--gold-500);color:var(--navy-950)}
.btn-g{background:var(--gold-500);color:var(--navy-950)}
.btn-g:hover{background:var(--navy-900);color:#fff}
.btn-o{border-color:var(--navy-800);color:var(--navy-900);background:transparent}
.btn-o:hover{background:var(--navy-900);color:#fff}
.btn-ol{border-color:var(--line-dk);color:var(--champagne);background:transparent}
.btn-ol:hover{background:rgba(217,190,126,.14);color:#fff;border-color:var(--gold-500)}
.btn-sm{padding:12px 18px;font-size:.66rem}
.btn-lg{padding:19px 34px;font-size:.8rem}
.btn .ar{margin-left:4px}
.arr{font-family:var(--mono);color:var(--gold-700);text-decoration:none;font-size:.8rem;letter-spacing:.06em}
.arr:hover{color:var(--gold-600)}
.lnk{color:var(--gold-700);text-decoration:none;border-bottom:1px solid rgba(138,111,20,.35);padding-bottom:1px}
.lnk:hover{border-color:var(--gold-700);color:var(--gold-600)}

/* ---------- HEADER ---------- */
.hd{position:sticky;top:0;z-index:100;background:rgba(239,234,223,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.hd-in{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo .nm{font-family:var(--serif);font-weight:600;letter-spacing:.06em;font-size:1.18rem;color:var(--navy-900)}
.logo .sd{font-family:var(--mono);font-size:.5rem;letter-spacing:.34em;color:var(--gold-700);text-transform:uppercase;display:block;margin-top:1px}
.nav{display:flex;gap:30px;align-items:center}
.nav a{font-size:.84rem;font-weight:500;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;letter-spacing:.02em}
.nav a:hover{color:var(--gold-700)}
.nav a.on{color:var(--gold-700);border-bottom-color:var(--gold-700)}
.burger{display:none;background:none;border:1px solid var(--line);width:42px;height:42px;font-size:1.3rem;cursor:pointer;color:var(--navy-900);line-height:1}
@media(max-width:960px){.nav{display:none}.burger{display:block}}
.mnav{position:fixed;inset:76px 0 0;background:var(--navy-900);z-index:99;padding:40px 30px;transform:translateX(102%);transition:transform .32s var(--ease);display:flex;flex-direction:column;gap:6px}
body.mo .mnav{transform:none}
.mnav a{color:#DCE4E9;text-decoration:none;font-family:var(--serif);font-size:1.7rem;padding:10px 2px;border-bottom:1px solid rgba(217,190,126,.1)}
.mnav .btn{margin-top:24px;text-align:center;font-family:var(--mono);font-size:.75rem}

/* ---------- HERO ---------- */
.hero{padding:120px 0 0;position:relative;background:#0A1B2A;color:#fff;overflow:hidden}
html[data-theme="dark"] .hero{background:#040B11}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(56% 52% at 82% 8%,rgba(201,162,39,.13),transparent 62%),radial-gradient(46% 40% at -6% 96%,rgba(30,64,89,.65),transparent 60%),linear-gradient(rgba(217,190,126,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(217,190,126,.045) 1px,transparent 1px);background-size:auto,auto,64px 64px,64px 64px;pointer-events:none}
.hero .wrap{position:relative}
.hero-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:start}
@media(max-width:960px){.hero-grid{grid-template-columns:1fr;gap:40px}}
.hero .t1{color:#fff}
.hero .t1 em{color:var(--gold-300)}
.hero .lead{color:#A9BAC6;margin-top:26px;font-size:1.1rem}
.hero .acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.hero .lab{color:var(--gold-500)}
.eyebrow-hero{display:flex;align-items:center;gap:16px;margin-bottom:26px}
.eyebrow-hero .rule{flex:0 0 56px;height:1px;background:rgba(217,190,126,.5)}
/* rail */
.rail{border-top:1px solid var(--line-dk)}
.rail .rl{border-bottom:1px solid var(--line-dk);display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:20px 4px;align-items:baseline}
.rail .rl:hover{background:rgba(201,162,39,.06)}
.rail .ln{font-size:1.02rem;font-weight:500;color:#F2F4F6;letter-spacing:.01em}
.rail .rl .no{grid-column:1;font-family:var(--mono);font-size:.6rem;letter-spacing:.26em;color:rgba(217,190,126,.65);text-transform:uppercase}
.rail .rl .ln{grid-column:1}
.rail .rl .pr{grid-column:2;grid-row:1/3;align-self:center;font-family:var(--mono);font-size:.92rem;color:var(--gold-300)}
.rail .rl .ln a{text-decoration:none;color:inherit}
.rail .ds{grid-column:1;font-size:.78rem;color:#7E93A1;letter-spacing:.02em}
.rail .rl .dt{grid-row:2;font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;color:rgba(217,190,126,.55);text-transform:uppercase}
/* hero strip */
.hstrip{border-top:1px solid var(--line-dk);margin-top:70px;display:grid;grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.hstrip{grid-template-columns:repeat(2,1fr)}}
.hstrip>div{padding:24px 26px 26px 0;margin-right:26px;border-right:1px solid var(--line-dk)}
.hstrip>div:last-child{border-right:0}
.hstrip b{display:block;font-family:var(--serif);font-size:1.15rem;font-weight:500;color:#fff;margin-bottom:3px}
.hstrip span,.hstrip .go{font-size:.78rem;color:#8BA0AD}
.hstrip .go{color:var(--gold-300);text-decoration:none}

/* ---------- SECTIONS ---------- */
.sec{padding:110px 0;border-bottom:1px solid var(--line-soft)}
.sechead{display:grid;grid-template-columns:190px 1fr auto;gap:28px;margin-bottom:52px;align-items:end}
.sechead .n{font-family:var(--mono);font-size:.68rem;color:var(--gold-700);letter-spacing:.2em;text-transform:uppercase;padding-bottom:6px;border-bottom:1px solid var(--line)}
.sechead .meta{max-width:230px;text-align:right;font-size:.78rem;color:var(--soft);padding-bottom:8px}
@media(max-width:860px){.sechead{grid-template-columns:1fr;gap:10px}.sechead .meta{text-align:left}}
.secgrid{display:grid;grid-template-columns:repeat(12,1fr);gap:30px}
.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c7{grid-column:span 7}.c8{grid-column:span 8}.c12{grid-column:span 12}
@media(max-width:920px){.c3,.c4,.c5,.c7,.c8{grid-column:span 12}}
.panel{border:1px solid var(--line);background:var(--card);padding:34px;position:relative}
.panel::after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold-500),transparent 60%)}
.panel h3,.panel h4{font-family:var(--serif);font-weight:500;font-size:1.35rem;margin:4px 0 12px;color:var(--navy-900)}
.panel p,.panel li{font-size:.93rem;color:var(--muted)}
.panel ul{list-style:none}
.panel ul li{padding:9px 0;border-bottom:1px dotted var(--line);display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.panel ul li:last-child{border-bottom:0}
.panel ul li b{color:var(--navy-900);font-weight:600}
.darkpanel{background:linear-gradient(180deg,var(--navy-800),var(--navy-900));border:1px solid var(--line-dk);padding:38px;color:#B9C8D2;position:relative}
.darkpanel::before{content:"";position:absolute;top:0;left:0;bottom:0;width:2px;background:var(--gold-500)}
.darkpanel h3,.darkpanel h4{color:#fff;font-family:var(--serif);font-weight:500;font-size:1.4rem;margin-bottom:10px}
.darkpanel .lab{color:var(--champagne)}
.darkpanel ol,.darkpanel ul{list-style:none}
.darkpanel li{padding:8px 0;font-size:.92rem;color:#A7B7C2;border-bottom:1px solid rgba(217,190,126,.08)}
.price{font-family:var(--mono);font-size:1.02rem;color:var(--navy-900);font-weight:500;white-space:nowrap}

/* ---------- ROWS ---------- */
.rrow{display:grid;grid-template-columns:1.6fr 1.5fr auto;gap:28px;padding:24px 6px;border-bottom:1px solid var(--line);align-items:baseline;transition:background .2s}
.rrow:last-child{border-bottom:0}
.rrow:hover{background:rgba(201,162,39,.05)}
.rrow .wt{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--navy-900);line-height:1.2}
.rrow .wt small{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-700);margin-bottom:6px;font-weight:500}
.rrow .ds{font-size:.9rem;color:var(--muted);line-height:1.6}
.rrow .px{font-family:var(--mono);font-size:1rem;color:var(--navy-900);white-space:nowrap}
.rrow .go{font-family:var(--mono);font-size:.68rem;color:var(--gold-700);text-decoration:none;letter-spacing:.1em;white-space:nowrap}
@media(max-width:860px){.rrow{grid-template-columns:1fr;gap:6px;padding:18px 4px}.rrow .px{font-size:.9rem}}

/* ---------- STEPS ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--navy-900)}
@media(max-width:920px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.stp{padding:30px 26px 22px 0;position:relative}
.stp+.stp{border-left:1px solid var(--line-soft)}
.stp .no{font-family:var(--serif);font-size:2.6rem;line-height:1;color:transparent;-webkit-text-stroke:1px var(--gold-500);display:block}
.stp h4{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:14px 0 8px;color:var(--navy-900)}
.stp p{font-size:.88rem;color:var(--muted)}
.stp .ot{display:block;margin-top:14px;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-700)}

/* ---------- TABLES ---------- */
.tbl{width:100%;border-collapse:collapse}
.tbl th{font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-700);text-align:left;padding:12px 10px;border-bottom:2px solid var(--navy-900)}
.tbl td{padding:16px 10px;border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--muted);font-size:.93rem}
.tbl td b,.tbl td .nm{color:var(--navy-900);font-weight:600}
.tbl tr:hover td{background:rgba(201,162,39,.04)}
.tbl .px{font-family:var(--mono);color:var(--navy-900);white-space:nowrap}
@media(max-width:700px){.tbl{font-size:.84rem}}

/* ---------- FAQ ---------- */
details.fq{border-bottom:1px solid var(--line)}
details.fq summary{cursor:pointer;padding:20px 6px;font-family:var(--serif);font-size:1.13rem;color:var(--navy-900);list-style:none;display:flex;justify-content:space-between;gap:20px}
details.fq summary::-webkit-details-marker{display:none}
details.fq summary::after{content:"+";font-family:var(--mono);color:var(--gold-600);font-size:1.1rem}
details.fq[open] summary::after{content:"–"}
details.fq .b{padding:0 8px 20px;color:var(--muted);font-size:.94rem;max-width:72ch}

/* ---------- FORM / WIZARD ---------- */
.fd{margin-bottom:18px}
.fd label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;color:var(--navy-900)}
.fd .req{color:#A3442E}
.fd input[type=text],.fd input[type=tel],.fd select,.fd textarea{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;font-family:var(--sans);font-size:.98rem;color:var(--ink);transition:border .15s,box-shadow .15s}
.fd input:focus,.fd select:focus,.fd textarea:focus{outline:0;border-color:var(--gold-500);box-shadow:0 0 0 3px rgba(201,162,39,.15)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;border:1px solid var(--line);padding:11px 16px;font-size:.86rem;cursor:pointer;background:#fff;color:var(--muted);transition:all .15s;letter-spacing:.01em}
.chip input:checked+span{border-color:var(--navy-900);background:var(--navy-900);color:#fff}
.chip span:hover{border-color:var(--gold-500)}
ol.proc{list-style:none;counter-reset:pc}
ol.proc li{counter-increment:pc;padding:12px 0 12px 46px;position:relative;border-bottom:1px dotted rgba(217,190,126,.2);font-size:.9rem;color:#A7B7C2}
ol.proc li:last-child{border-bottom:0}
ol.proc li b{color:#fff}
ol.proc li::before{content:counter(pc,decimal-leading-zero);position:absolute;left:2px;top:10px;font-family:var(--mono);color:var(--gold-500);font-size:.9rem}

/* wizard */
.wz{border:1px solid var(--line);background:var(--card);box-shadow:0 30px 70px rgba(8,23,34,.08)}
.wz-top{display:grid;grid-template-columns:1fr auto;gap:20px;padding:26px 34px;border-bottom:1px solid var(--line-soft);align-items:center}
@media(max-width:640px){.wz-top{grid-template-columns:1fr}}
.wz-prog{font-family:var(--mono);font-size:.64rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-700)}
.wz-track{height:2px;background:var(--line-soft);margin-top:12px;position:relative}
.wz-track i{position:absolute;top:0;left:0;bottom:0;background:linear-gradient(90deg,var(--gold-500),var(--gold-300));transition:width .35s var(--ease)}
.wz-body{padding:40px 44px 36px}
@media(max-width:640px){.wz-body{padding:26px 20px}}
.wz-q .q{font-family:var(--serif);font-size:1.7rem;color:var(--navy-900);font-weight:500;margin-bottom:20px;line-height:1.15}
.wz-q .hint{font-size:.86rem;color:var(--soft);margin-top:12px}
.wz-nav{display:flex;justify-content:space-between;gap:12px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line-soft)}
.wz-foot{padding:18px 34px;background:var(--ivory);border-top:1px solid var(--line-soft);font-size:.78rem;color:var(--soft);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.sumrow{display:flex;justify-content:space-between;gap:18px;padding:12px 4px;border-bottom:1px dotted var(--line);font-size:.9rem;align-items:baseline}
.sumrow b{color:var(--navy-900);font-weight:600;text-transform:uppercase;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;flex:0 0 150px}
.sumrow span{color:var(--muted);flex:1}

/* ---------- QUOTE BAND ---------- */
.qband{background:var(--navy-900);position:relative;overflow:hidden}
.qband::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 88% 20%,rgba(201,162,39,.1),transparent 65%),radial-gradient(40% 50% at 4% 90%,rgba(30,64,89,.7),transparent 60%)}
.qband .wrap{position:relative;padding-top:96px;padding-bottom:88px}
.qband .in{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;flex-wrap:wrap}
.qband .t{font-family:var(--serif);font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.12;color:#fff;max-width:22ch}
.qband .t em{color:var(--champagne);font-style:italic}
.qband .act{display:flex;gap:14px;flex-wrap:wrap}
.sla{margin-top:22px;font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(217,190,126,.7)}
.qband .sla::before{content:"— ";color:var(--gold-500)}

/* ---------- FOOTER ---------- */
.ft{background:var(--navy-950);color:#93A5B1;margin-top:0}
.ft-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.3fr;gap:40px;padding:80px 0 50px;border-bottom:1px solid rgba(217,190,126,.1)}
@media(max-width:900px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.ft-grid{grid-template-columns:1fr}}
.ft h5{font-family:var(--mono);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-500);margin-bottom:18px;font-weight:500}
.ft a{display:block;padding:5px 0;color:#93A5B1;text-decoration:none;font-size:.9rem;transition:color .15s}
.ft a:hover{color:var(--gold-300)}
.ft .fb p{font-size:.9rem;color:#7E93A1;max-width:34ch;margin-top:14px;line-height:1.7}
.ft .fb .ph{font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--gold-300);margin-top:20px}
.ft .fb .ph::before{content:"";display:block;width:44px;height:2px;background:var(--gold-500);margin-bottom:14px}
.ftbot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:24px 0 40px;font-family:var(--mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:#5E7280}

/* ---------- MISC ---------- */
.fbar{position:fixed;bottom:0;left:0;right:0;display:none;gap:10px;background:rgba(8,23,34,.97);backdrop-filter:blur(8px);border-top:1px solid var(--line-dk);padding:10px 14px calc(10px + env(safe-area-inset-bottom));z-index:110}
.fbar .btn{flex:1;font-size:.7rem;padding:14px 8px}
@media(max-width:960px){.fbar{display:flex}body{padding-bottom:70px}}
.tag{display:inline-block;font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-700);border:1px solid var(--line);padding:5px 11px;margin:0 6px 8px 0;background:var(--card)}
.phantom{border:1px dashed var(--line);padding:40px 22px;text-align:center;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);background:rgba(201,162,39,.02)}
.hr{border:0;border-top:1px solid var(--line);margin:36px 0}
.mt{margin-top:24px}.mt2{margin-top:52px}.mb2{margin-bottom:40px}
[data-rv]{opacity:0;transform:translateY(14px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
[data-rv].in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-rv]{opacity:1;transform:none;transition:none}}

/* ===== compatibility & polish overrides ===== */
/* CTA buttons sitting on navy quote bands flip to gold */
.qband .btn-p,.qband .btn-g{background:var(--gold-500);color:var(--navy-950)}
.qband .btn-p:hover,.qband .btn-g:hover{background:var(--champagne)}
/* sub-page hero (navy) text colors */
.hero .lab{color:var(--gold-500)}
.hero .t1 em{color:var(--gold-300)}
.hero p.lead{color:#A9BAC6}
.hero .acts .btn-o{border-color:rgba(217,190,126,.5);color:var(--champagne)}
.hero .acts .btn-o:hover{background:var(--gold-500);border-color:var(--gold-500);color:var(--navy-950)}
/* rail — support flat markup (no wrapper anchors) */
.rail .rl a{display:contents;text-decoration:none;color:inherit}
.rail .rl .pr{float:right;grid-column:auto;grid-row:auto;padding-left:18px}
/* first section after a page hero */
.hero + .sec{border-top:0}
/* deep serif numerals for steps */
.stp .no{-webkit-text-stroke:1.2px var(--gold-500)}
/* chips inside final step two-col safe */
@media(max-width:640px){.wz-body .secgrid [style*="grid-template-columns:1fr 1fr"]{grid-template-columns:1fr!important}}
/* success tick line-height fix */
#wzDone .wz-body > div:first-child{line-height:1}
/* FOUC guard for [data-rv] when JS is blocked */
.no-js [data-rv]{opacity:1}
/* desktop floating WhatsApp button (hidden where mobile bar shows) */
.wafab{position:fixed;right:20px;bottom:20px;width:56px;height:56px;border-radius:50%;background:var(--gold-500);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(8,23,34,.25);z-index:105;transition:transform .2s var(--ease),background .2s}
.wafab:hover{background:var(--navy-900);transform:scale(1.06)}
.wafab svg{width:30px;height:30px;fill:var(--navy-950)}
.wafab:hover svg{fill:var(--gold-300)}
@media(max-width:960px){.wafab{display:none}}
@media (prefers-reduced-motion:reduce){.wafab{transition:none}}

/* ===== case-study browser frames ===== */
.browser{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 30px 70px -34px rgba(8,23,34,.38)}
.brow{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#0B1D2C;border-bottom:1px solid var(--line)}
.brow i{width:10px;height:10px;border-radius:50%;display:inline-block}
.brow .url{flex:1;text-align:center;font-family:var(--mono);font-size:.68rem;color:#9FB3BE;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:5px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shot{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top}
@media (prefers-reduced-motion:no-preference){.shot{transition:opacity .5s ease}}

/* ===== real-shot case cards (no browser chrome) ===== */
.shotcard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 26px 60px -32px rgba(8,23,34,.32)}
.shotimg{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top}
.shotcap{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 18px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:var(--soft)}
.shotcap a{color:var(--gold-700);text-decoration:none;letter-spacing:.13em;white-space:nowrap}
.shotcap a:hover{color:var(--gold-500)}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.gal .gl{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}

.gal figcaption,.gal .no-cap{display:none}
.galfig{position:relative}
.galfig figcaption{display:block;position:absolute;left:0;bottom:0;right:0;padding:26px 12px 8px;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:linear-gradient(transparent,rgba(8,23,34,.72))}
@media(max-width:860px){.gal{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.gal{grid-template-columns:repeat(3,1fr);gap:6px}.gal figcaption{padding:16px 6px 5px;font-size:.5rem}}

/* ===== live-link case index ===== */
.cases{border-bottom:1px solid var(--line)}
.case{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:34px;padding:40px 0;border-top:1px solid var(--line)}
.case:first-child{border-top:0}
.ev{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.ev li{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 13px;background:#fff}
.out{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:10px;padding:0 6px}
.out .url{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;color:var(--soft);text-transform:uppercase}
.out .go{font-family:var(--serif);font-size:1.45rem;line-height:1.15;color:var(--navy-900);text-decoration:none;border-bottom:2px solid rgba(201,162,39,.4);padding-bottom:3px;transition:color .2s var(--ease),border-color .2s var(--ease)}
.out .go:hover{color:var(--gold-700);border-color:var(--gold-500)}
.out .st{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.out .st i{width:8px;height:8px;border-radius:50%;display:inline-block}
@media(max-width:860px){.case{grid-template-columns:1fr;gap:18px}.out{padding:6px 0}}
@media (prefers-reduced-motion:reduce){.out .go{transition:none}}

/* ===== about / founder layouts ===== */
.bigq{font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,4.4vw,3.1rem);line-height:1.14;letter-spacing:-.015em;color:var(--navy-950);margin:0}
.bigq em{font-style:italic;color:var(--gold-700)}
.darkq .bigq{color:#fff}
.darkq .bigq em{color:var(--gold-300)}
.qsrc{margin-top:18px;font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--soft)}
.gd{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.gd .gdc{background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 30px 34px;display:flex;flex-direction:column}
.gd .gdc .gn{font-family:var(--serif);font-size:1.5rem;line-height:1.1;color:var(--navy-950);margin:10px 0 10px}
.gd .gdc p{font-size:.86rem;color:var(--muted);line-height:1.65;flex:1}
.gd .gdc .lab{display:block;width:100%}
@media(max-width:760px){.gd{grid-template-columns:1fr}}

/* ===== pick-a-lane cards (start.html) ===== */
.pk{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.pkc{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:6px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 22px 18px;cursor:pointer;font-family:var(--sans);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease);position:relative}
.pkc:hover{border-color:rgba(201,162,39,.55);box-shadow:0 14px 34px -22px rgba(8,23,34,.28)}
.pkc.on{border-color:var(--gold-500);box-shadow:0 0 0 1px var(--gold-500) inset,0 16px 38px -24px rgba(201,162,39,.45)}
.pkc .no{font-family:var(--mono);font-size:.62rem;letter-spacing:.18em;color:var(--gold-700);text-transform:uppercase}
.pkc .nm{font-family:var(--serif);font-size:1.32rem;line-height:1.12;color:var(--navy-950)}
.pkc .pr{font-family:var(--mono);font-size:.7rem;color:var(--muted);letter-spacing:.04em}
.pkc .ds{font-size:.8rem;color:var(--muted);line-height:1.5;margin-top:4px}
.pkc .go{margin-top:10px;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-700)}
.pkc.on .go{color:var(--navy-950)}
.pkc.on::after{content:"✓";position:absolute;top:14px;right:16px;color:var(--gold-700);font-weight:700}
@media(max-width:860px){.pk{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.pkc{transition:none}}

/* ============================================================
   DARK THEME  (html[data-theme="dark"])
   Tokens invert for text/surfaces; dark bands stay pinned dark.
   ============================================================ */
html[data-theme="dark"]{
  --ivory:#0E2233; --paper:#081722; --card:#0F2636;
  --ink:#EDEADF; --muted:#A9BAC6; --soft:#7E93A1;
  --line:#24465E; --line-soft:rgba(36,70,94,.55);
  --gold-600:#D9BE7E; --gold-700:#C9A227;
  color-scheme:dark;
}
html[data-theme="dark"] body{background:var(--paper)}
html[data-theme="dark"] .hd{background:rgba(8,23,34,.86);border-bottom-color:rgba(36,70,94,.6)}
html[data-theme="dark"] .logo svg rect{fill:#0F2636}
html[data-theme="dark"] .nav a{color:var(--ink)}
html[data-theme="dark"] .hd .logo .nm{color:#fff}
html[data-theme="dark"] .hd .logo .sd{color:var(--soft)}
html[data-theme="dark"] .sec .lab,html[data-theme="dark"] .lab{color:var(--gold-600)}
html[data-theme="dark"] .t1,html[data-theme="dark"] .t2,html[data-theme="dark"] .t3{color:var(--ink)}
html[data-theme="dark"] .lead,html[data-theme="dark"] .sla{color:var(--muted)}
html[data-theme="dark"] .small{color:var(--muted)}
html[data-theme="dark"] .panel .small,html[data-theme="dark"] .wz .small{color:var(--muted)}
html[data-theme="dark"] .stp h4{color:var(--ink)}
html[data-theme="dark"] .rrow{border-color:var(--line)}
html[data-theme="dark"] .rrow b{color:var(--ink)}
/* dark bands stay dark */
html[data-theme="dark"] .qband,html[data-theme="dark"] .mnav{background:#040B11}
html[data-theme="dark"] .hero .t1{color:#fff}
html[data-theme="dark"] .ft{background:#040B11}
html[data-theme="dark"] .darkpanel{background:linear-gradient(180deg,#16334a,#040B11)}
html[data-theme="dark"] .darkpanel b{color:#fff}
/* buttons & chips keep legible contrast */
html[data-theme="dark"] .btn-p{background:#0A1B2A;color:#fff}
html[data-theme="dark"] .btn-p:hover{background:var(--gold-500);color:#0A1B2A}
html[data-theme="dark"] .btn-g{background:var(--gold-500);color:#0A1B2A}
html[data-theme="dark"] .btn-g:hover{background:#0A1B2A;color:#fff}
html[data-theme="dark"] .chip span{background:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .chip input:checked+span{border-color:#C9A227;color:#fff}
html[data-theme="dark"] .fd input,html[data-theme="dark"] .fd textarea,html[data-theme="dark"] .fd select{background:var(--paper);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] .fd label{color:var(--soft)}
html[data-theme="dark"] .wz-foot{background:var(--paper)}
html[data-theme="dark"] .fq{background:var(--card);border-color:var(--line)}
html[data-theme="dark"] .fq summary{color:var(--ink)}
html[data-theme="dark"] .ev li{background:var(--card);color:var(--soft);border-color:var(--line)}
html[data-theme="dark"] .pkc{background:var(--card)}
html[data-theme="dark"] .pkc .nm,html[data-theme="dark"] .gd .gdc .gn,html[data-theme="dark"] .bigq,html[data-theme="dark"] .t2 em{color:var(--ink)}
html[data-theme="dark"] .gdc{background:var(--card)}
html[data-theme="dark"] .case .go{color:var(--ink)}
html[data-theme="dark"] .case .go:hover{color:var(--gold-300)}
html[data-theme="dark"] .case .st{color:var(--soft)}
html[data-theme="dark"] .lnk{color:var(--gold-600)}
html[data-theme="dark"] .mono-n,html[data-theme="dark"] [style*="mono"]{color:var(--gold-600)!important}
html[data-theme="dark"] .wafab{background:var(--gold-500)}
html[data-theme="dark"] .wafab svg{fill:#0A1B2A}
html[data-theme="dark"] .wafab:hover{background:#C9A227}
html[data-theme="dark"] img.shotimg,html[data-theme="dark"] .shotcard,html[data-theme="dark"] .browser{background:var(--card)}
html[data-theme="dark"] ::selection{background:rgba(201,162,39,.35)}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]){--thb-fallback:none}
}
/* ===== theme toggle button ===== */
.thb{width:38px;height:38px;flex:none;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--gold-600);font-size:1rem;cursor:pointer;transition:border-color .2s var(--ease),color .2s var(--ease);margin-left:10px;line-height:1}
.thb:hover{border-color:var(--gold-500);color:var(--gold-500)}
.thb .moon{display:none}
html[data-theme="dark"] .thb .moon{display:inline}
html[data-theme="dark"] .thb .sun{display:none}
.mth{width:100%;text-align:left;background:none;border:0;color:#A9BAC6;font-size:.95rem;padding:8px 0;cursor:pointer;font-family:var(--mono);letter-spacing:.04em}
.mth:hover{color:#fff}
/* ===== receipt ===== */
.receipt{display:none;margin-top:22px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden}
.receipt .rhead{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:22px 26px;border-bottom:1px dashed var(--line);flex-wrap:wrap}
.receipt .rword{font-family:var(--serif);font-size:1.25rem;color:var(--ink)}
.receipt .rpaid{flex:none;text-align:center;font-family:var(--mono);text-transform:uppercase;color:#0E7A3C;background:linear-gradient(180deg,rgba(34,166,80,.08),rgba(34,166,80,.16));border:2px solid #15914A;border-radius:11px;padding:8px 14px;transform:rotate(-4deg);box-shadow:0 0 0 2px rgba(21,145,74,.20),0 0 0 4.5px rgba(21,145,74,.08);line-height:1.25;letter-spacing:.14em}
.receipt .rpaid .p1{display:block;font-size:.95rem;font-weight:800;letter-spacing:.28em;padding-left:.28em}
.receipt .rpaid .p2{display:block;font-size:.56rem;font-weight:700;letter-spacing:.18em;margin-top:3px;opacity:.95}
.receipt .rrows{padding:8px 26px}
.receipt .rrow{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px dotted var(--line);font-size:.9rem}
.receipt .rrow:last-child{border-bottom:0}
.receipt .rk{color:var(--soft);font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;padding-top:2px}
.receipt .rv{color:var(--ink);text-align:right}
.receipt .rtot{display:flex;justify-content:space-between;padding:14px 26px;background:rgba(201,162,39,.09);font-weight:700;color:var(--ink)}
.receipt .rfoot{padding:16px 26px;border-top:1px solid var(--line);font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--soft);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.receipt .ract{padding:4px 26px 22px;display:flex;gap:10px;flex-wrap:wrap}
@media print{
  body.printing *{visibility:hidden!important}
  body.printing .receipt,body.printing .receipt *{visibility:visible!important}
  body.printing .receipt{display:block!important;position:fixed;left:0;top:0;width:100%;border:0;border-radius:0;box-shadow:none;background:#fff;color:#111}
  body.printing .receipt .rword,body.printing .receipt .rv{color:#111}
  body.printing .receipt .rk,body.printing .receipt .rfoot{color:#444}
  body.printing .receipt .rpaid{color:#0E7A3C;border-color:#15914A;box-shadow:0 0 0 2px rgba(21,145,74,.2),0 0 0 4.5px rgba(21,145,74,.08);background:rgba(34,166,80,.06)}
  body.printing .ract{display:none}
}

/* ===== test-mode banner ===== */
.tnote{display:block;margin:0 0 14px;padding:10px 14px;background:rgba(201,162,39,.13);border:1px solid rgba(201,162,39,.55);border-radius:8px;color:var(--gold-700);font-size:.82rem;line-height:1.55}
html[data-theme="dark"] .tnote{color:var(--gold-300);background:rgba(201,162,39,.09)}

/* ===== dark theme — semantic ink flip & final pins (must stay last-ish) ===== */
html[data-theme="dark"]{
  /* navy-900 was the "ink on light surfaces" token; in dark it becomes cream ink.
     Dark-band surfaces (.hero/.qband/.mnav/buttons) are hard-pinned below, so the
     flip only ever affects text. */
  --navy-900:#E9E6DB;
}
html[data-theme="dark"] .btn-o:hover{background:#0A1B2A;color:#fff}
html[data-theme="dark"] .chip input:checked+span{background:#0A1B2A;border-color:#C9A227;color:#fff}
html[data-theme="dark"] .chip input:checked+span:hover{background:#0A1B2A}
html[data-theme="dark"] .ftbot{color:#93A5B1}
html[data-theme="dark"] .tag{background:var(--card);color:#E0BE6A}
html[data-theme="dark"] .burger{color:var(--ink)}
/* receipt stamp in dark mode */
html[data-theme="dark"] .receipt .rpaid{color:#4ADE80;background:linear-gradient(180deg,rgba(74,222,128,.10),rgba(74,222,128,.18));border-color:#34D06B;box-shadow:0 0 0 2px rgba(74,222,128,.22),0 0 0 4.5px rgba(74,222,128,.09)}
html[data-theme="dark"] .receipt .rpaid .p2{opacity:.95}

/* ===== real logo (header + footer) ===== */
.logo img.lg{display:block;height:44px;width:auto}
@media(max-width:480px){.logo img.lg{height:36px}}
.ft .logo img.flg{display:block;height:64px;width:auto;margin-bottom:14px}
html[data-theme="dark"] .hd .logo img.lg{filter:invert(1)}
