:root{--bg:#0b1630;--bg2:#101f42;--bg3:#07102a;--gold:#e0b050;--gold2:#f3d58a;--cream:#f6efe0;--muted:#c4cbe0;--red:#c8312f;--ink:#0b1630;--r:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--cream);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;display:block}
a{color:var(--gold2)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;margin:0 0 .5em;font-weight:700}
h1{font-size:clamp(2.1rem,7vw,3.6rem)}
h2{font-size:clamp(1.7rem,5vw,2.4rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.narrow{max-width:760px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:8px 12px;z-index:100}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}

.site-header{position:absolute;top:0;left:0;right:0;z-index:20}
.plain .site-header{position:static;background:var(--bg3)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px;gap:8px}
.brand{display:flex;align-items:center;gap:10px;color:var(--cream);text-decoration:none;font-family:Georgia,serif;font-weight:700;font-size:1.15rem}
.nav{display:flex;align-items:center;gap:14px}
.nav-link{color:var(--cream);text-decoration:none;font-size:.95rem;display:none}
@media(min-width:640px){.nav-link{display:inline}.nav{gap:22px}}

.btn{display:inline-block;background:var(--gold);color:var(--ink);font-weight:700;text-decoration:none;padding:12px 22px;border-radius:999px;border:2px solid var(--gold);font-size:1rem;line-height:1.2;text-align:center;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{background:var(--gold2);border-color:var(--gold2);transform:translateY(-1px)}
.btn-sm{padding:8px 18px;font-size:.95rem}
.btn-lg{padding:15px 28px;font-size:1.05rem}
.btn-ghost{background:transparent;color:var(--cream);border-color:rgba(246,239,224,.5)}
.btn-ghost:hover{background:rgba(246,239,224,.12);border-color:var(--cream)}
.btn-block{display:block;width:100%}

/* hero: mobile = video on top, text on fade */
.hero{position:relative;background:var(--bg);overflow:hidden;min-height:100svh;display:flex;align-items:flex-end}
.hero-media{position:absolute;inset:0 0 auto 0;height:72svh;min-height:420px}
.hero-media video{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(11,22,48,.55) 0,rgba(11,22,48,0) 22%,rgba(11,22,48,0) 40%,var(--bg) 100%)}
.hero-inner{position:relative;z-index:2;padding-top:58svh;padding-bottom:36px;width:100%}
.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;margin-bottom:.8em}
.lead{font-size:1.12rem;color:var(--cream);max-width:34em}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:1.4em 0 .8em}
.cta-row .btn{flex:1 1 220px}
.hint{color:var(--muted);font-size:.92rem;margin:0}
@media(min-width:900px){
  .hero{align-items:center;min-height:min(100svh,820px)}
  .hero-media{inset:0 0 0 auto;width:55%;height:auto}
  .hero-media video{object-position:50% 25%}
  .hero-media::after{background:linear-gradient(to right,var(--bg) 0,rgba(11,22,48,.85) 14%,rgba(11,22,48,0) 55%),linear-gradient(to bottom,rgba(11,22,48,.5) 0,rgba(11,22,48,0) 20%)}
  .hero-inner{padding-top:110px;padding-bottom:70px}
  .hero-copy{max-width:520px}
  .cta-row .btn{flex:0 0 auto}
}

.section{padding:64px 0}
.alt{background:var(--bg2)}
.steps{list-style:none;margin:2em 0 0;padding:0;display:grid;gap:18px}
.steps li{background:var(--bg2);border:1px solid rgba(224,176,80,.25);border-radius:var(--r);padding:24px}
.alt .steps li{background:var(--bg)}
.num{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold);color:var(--ink);font-weight:800;font-family:Georgia,serif;margin-bottom:12px}
.steps p{color:var(--muted);margin:0}
@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}}

.split{display:grid;gap:28px;align-items:center}
@media(min-width:800px){.split{grid-template-columns:1fr 1fr;gap:56px}.split.rev .photo{order:-1}}
.photo{border-radius:var(--r);width:100%;height:auto;box-shadow:0 18px 50px rgba(0,0,0,.45);border:1px solid rgba(224,176,80,.3)}
.photo:not(.wide){max-width:380px;margin:0 auto}
.ticks{list-style:none;padding:0;margin:0 0 1.2em}
.ticks li{position:relative;padding-left:30px;margin-bottom:.6em}
.ticks li::before{content:"";position:absolute;left:4px;top:.45em;width:8px;height:14px;border:solid var(--gold);border-width:0 3px 3px 0;transform:rotate(45deg) scale(.8)}

.price-card{max-width:440px;margin:1.5em auto 0;background:var(--bg);border:2px solid var(--gold);border-radius:24px;padding:32px 28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.price{font-family:Georgia,serif;font-size:4.5rem;font-weight:700;line-height:1;margin:.1em 0;color:var(--gold2)}
.price span{font-size:2rem;vertical-align:top;position:relative;top:.3em;margin-right:2px}
.price-sub{color:var(--muted)}
.price-card .ticks{text-align:left;display:inline-block;margin:.5em 0 1.4em}
.price-card .hint{margin-top:1em}

.alt h2,#faq h2,#how h2,#pricing h2{text-align:center}
.alt .split h2{text-align:left}
.split h2{text-align:left!important}
.faq-item{border-bottom:1px solid rgba(246,239,224,.2)}
.faq-item summary{cursor:pointer;padding:18px 36px 18px 0;font-weight:600;font-size:1.05rem;list-style:none;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:1.5rem}
.faq-item[open] summary::after{content:"\2212"}
.faq-item p{color:var(--muted);padding-bottom:18px;margin:0}

.final{text-align:center;padding:72px 0;background:radial-gradient(ellipse at 50% 0,#1a2d5c 0,var(--bg3) 70%)}
.final p{color:var(--muted)}
.site-footer{background:var(--bg3);padding:36px 0;color:var(--muted);font-size:.95rem}
.foot-brand{font-family:Georgia,serif;font-size:1.2rem;color:var(--cream);margin-bottom:.4em}
.foot-links a{margin-right:16px}
.small{font-size:.82rem;margin:0}
.legal{padding:64px 16px;min-height:50vh}
.todo{background:#3a2a10;border:1px dashed var(--gold);padding:14px;border-radius:8px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* ---- v2: nav, inner pages, blog ---- */
.nav-link{white-space:nowrap}
@media(min-width:640px){.nav-link{display:none}}
@media(min-width:1000px){.nav-link{display:inline}.nav{gap:20px}.menu{display:none}}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(246,239,224,.35)}
.menu summary::-webkit-details-marker{display:none}
.menu summary span,.menu summary span::before,.menu summary span::after{display:block;width:18px;height:2px;background:var(--cream);position:relative;content:""}
.menu summary span::before{position:absolute;top:-6px;left:0}
.menu summary span::after{position:absolute;top:6px;left:0}
.menu-panel{position:absolute;right:0;top:48px;min-width:200px;background:var(--bg3);border:1px solid rgba(224,176,80,.4);border-radius:12px;padding:8px;display:grid;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.menu-panel a{color:var(--cream);text-decoration:none;padding:10px 12px;border-radius:8px}
.menu-panel a:hover{background:rgba(246,239,224,.1)}
@media(max-width:380px){.brand span{font-size:1rem}}

.page-head{background:linear-gradient(180deg,var(--bg3) 0,var(--bg2) 100%);padding:28px 0 56px}
.page-head .split{align-items:center}
.page-head h1{font-size:clamp(2rem,6vw,3.1rem)}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:1.2em}
.crumbs a{color:var(--muted)}
.meta{color:var(--muted);font-size:.95rem;margin:0}
.page-head .cta-row{margin-top:1.2em}
.prose{font-size:1.05rem}
.prose h2{margin-top:1.8em;font-size:clamp(1.5rem,4.5vw,2rem)}
.prose h3{margin-top:1.4em;color:var(--gold2)}
.prose p,.prose li{color:#e7e1d1}
.prose ol{padding-left:1.4em}
.prose ol li{margin-bottom:.5em}
.cta-row.center{justify-content:center}
.cta-box{background:var(--bg2);border:2px solid var(--gold);border-radius:20px;padding:26px 24px;margin:2.2em 0}
.cta-box h2{margin-top:0;font-size:1.5rem}
.cta-box .cta-row{margin-bottom:0}
.note{background:var(--bg2);border-left:4px solid var(--gold);border-radius:8px;padding:14px 18px;margin:1.4em 0;color:var(--cream)}
.cards{list-style:none;padding:0;margin:1em 0;display:grid;gap:12px}
@media(min-width:700px){.cards:not(.post-list){grid-template-columns:repeat(3,1fr)}}
.card a{display:flex;flex-direction:column;gap:6px;height:100%;background:var(--bg2);border:1px solid rgba(224,176,80,.25);border-radius:14px;padding:16px 18px;text-decoration:none;color:var(--cream)}
.card a:hover{border-color:var(--gold)}
.card strong{font-family:Georgia,serif;font-size:1.1rem}
.card span{color:var(--muted);font-size:.93rem}
.card em{color:var(--gold);font-size:.82rem;font-style:normal}
.related h2{font-size:1.4rem}
.prose .faq-item p{color:var(--muted)}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;margin:1em 0 1.4em}
.foot-cols h2{font-family:system-ui,sans-serif;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold);margin:0 0 .6em}
.foot-cols a{display:block;color:var(--muted);padding:3px 0}
.product-pair{display:grid;gap:18px;margin-top:1.6em}
@media(min-width:800px){.product-pair{grid-template-columns:1fr 1fr}}
.product-pair .price-card{margin:0;max-width:none}
.page-head .photo:not(.wide){max-height:460px;width:auto;max-width:100%}
.more{text-align:center;margin-top:1.4em}
#faq .more{margin-top:1.6em}
.alt .cards{margin-top:1.4em}
.alt h2{text-align:center}

/* comparison table + press assets */
.table-wrap{overflow-x:auto;margin:1em 0 1.5em}
.compare{border-collapse:collapse;width:100%;min-width:520px;font-size:.97rem}
.compare th,.compare td{border:1px solid rgba(224,176,80,.25);padding:10px 12px;text-align:left;vertical-align:top}
.compare thead th{background:var(--bg2);color:var(--gold2);font-family:Georgia,serif}
.compare tbody th{background:var(--bg3);color:var(--gold2);font-weight:600;width:28%}
.press-photos img{border-radius:10px;width:100%;height:auto;background:var(--bg3)}
.press-photos .card a{gap:10px}
.press-photos .card em{font-style:normal}
@media(min-width:700px){.press-photos{grid-template-columns:repeat(3,1fr)}}

/* ===== v3: content pages + blog (bands, components). Home is untouched: everything below hangs off new classes. ===== */
.plain{counter-reset:sec ps}
.band,.media-break,.post-layout,.post-more{--fg:#e7e1d1;--hd:var(--cream);--mu:#bcc4dc;--card:var(--bg2);--cardb:rgba(224,176,80,.3);--acc:var(--gold);--lnk:var(--gold2);--line:rgba(246,239,224,.14);--sh:0 10px 28px rgba(0,0,0,.28)}
.band{padding:56px 0;color:var(--fg);background:var(--bg)}
.b-a{background:var(--bg)}
.b-b{background:var(--bg2);--card:var(--bg)}
.b-c{background:var(--cream);--fg:#2b3452;--hd:#0b1630;--mu:#4a5473;--card:#fff;--cardb:rgba(11,22,48,.14);--acc:#b07d12;--lnk:#7a4f00;--line:rgba(11,22,48,.14);--sh:0 8px 24px rgba(11,22,48,.1)}
@media(min-width:800px){.band{padding:84px 0}}
.band a,.post-body a{color:var(--lnk)}
.band h2,.band h3,.post-body h2,.post-body h3{color:var(--hd)}
.band p,.band li,.post-body p,.post-body li{color:var(--fg)}
.band-in{font-size:1.125rem;line-height:1.7}
.band-in{--col:42rem}
.band-in>*{max-width:var(--col);margin:0 auto 1.1em}
.band-in>.wide,.band-in>.related{max-width:none}
.band-in>.mid,.band-in>.table-wrap.wide{max-width:none}
.band-in .mid{max-width:880px;margin-left:auto;margin-right:auto}
.band-in>.wide{margin-top:1.6em;margin-bottom:1.8em}
.band-in>h2,.related>h2,.post-body h2{font-size:clamp(1.75rem,5vw,2.4rem);margin:0 auto .7em}
.band-in>h2::before{counter-increment:sec;content:counter(sec,decimal-leading-zero);display:block;font:700 .78rem/1 system-ui,sans-serif;letter-spacing:.18em;color:var(--acc);margin-bottom:.9em}
.band-in>h2::after,.related>h2::after,.ps h2::after{content:"";display:block;width:56px;height:3px;border-radius:3px;background:var(--acc);margin-top:.55em}
.related>h2{max-width:42rem;margin-left:auto;margin-right:auto}
.band-in h3{font-size:1.25rem;margin:1.4em auto .4em}
.band-intro{padding-top:48px;padding-bottom:20px}
.band-intro .band-in>p:first-child{font-size:1.28rem;line-height:1.6;color:var(--hd)}
.band-in>h3{color:var(--acc)}

/* panels, checklists, chips */
.panel{background:var(--card);border:1px solid var(--cardb);border-radius:var(--r);padding:22px 24px;box-shadow:var(--sh)}
.panel-label{margin:0 0 .9em;font:700 .78rem/1.2 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.checks li{position:relative;padding-left:36px;margin:0}
.checks li::before{content:"";position:absolute;left:0;top:.22em;width:24px;height:24px;border-radius:50%;background:var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b1630' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/15px no-repeat}
@media(min-width:760px){.panel.two .checks{grid-template-columns:1fr 1fr;gap:14px 36px}}
.cklist{list-style:none;margin:0;padding:0}
.cklist li{border-top:1px solid var(--line);margin:0}
.cklist li:first-child{border-top:0}
.cklist label{display:flex;gap:14px;align-items:flex-start;padding:13px 0;min-height:48px;cursor:pointer}
.cklist input{position:absolute;opacity:0;width:24px;height:24px;margin:0}
.cklist .box{flex:0 0 26px;height:26px;margin-top:.12em;border:2px solid var(--acc);border-radius:7px;background:transparent;display:grid;place-items:center}
.cklist input:checked+.box{background:var(--acc)}
.cklist input:checked+.box::after{content:"";width:6px;height:12px;border:solid #0b1630;border-width:0 3px 3px 0;transform:rotate(45deg) translate(-1px,-1px)}
.cklist input:checked~.lt{opacity:.62;text-decoration:line-through;text-decoration-thickness:1px}
.cklist input:focus-visible+.box{outline:3px solid var(--gold2);outline-offset:3px}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 16px 8px 12px;margin:0;background:var(--card);border:1px solid var(--cardb);border-radius:999px;font-size:1rem;line-height:1.35}
.ic{width:24px;height:24px;flex:none}
.chip-ic{width:20px;height:20px;color:var(--acc);stroke-width:2.6}

/* feature cards + step cards */
.feat,.stepcards{list-style:none;padding:0;display:grid;gap:16px;grid-template-columns:1fr}
.feat li,.stepcards li{background:var(--card);border:1px solid var(--cardb);border-radius:var(--r);padding:22px;margin:0;box-shadow:var(--sh)}
.feat-ic{width:44px;height:44px;padding:10px;border-radius:12px;background:rgba(224,176,80,.16);color:var(--acc);margin-bottom:12px}
.b-c .feat-ic{background:rgba(176,125,18,.14)}
.feat h3,.stepcards h3{font-size:1.15rem;margin:0 0 .35em}
.feat p,.stepcards p{margin:0;color:var(--mu);font-size:1rem;line-height:1.6}
.band .feat p,.band .stepcards p{color:var(--mu)}
.stepcards .num,.tl .num{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--gold);color:var(--ink);font:800 1.4rem Georgia,serif;margin-bottom:14px;box-shadow:0 0 0 6px rgba(224,176,80,.18)}
.b-c .stepcards .num,.b-c .tl .num{box-shadow:0 0 0 6px rgba(176,125,18,.16)}
@media(min-width:600px){.band .feat,.band .stepcards{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){
  .band .feat.n3,.band .feat.n6,.band .feat.n9,.band .stepcards.n3{grid-template-columns:repeat(3,1fr)}
  .band .feat.n4,.band .feat.n2,.band .stepcards.n2{grid-template-columns:repeat(2,1fr)}
  .band .feat.n8{grid-template-columns:repeat(4,1fr)}
  .band .stepcards.n4{grid-template-columns:repeat(4,1fr)}
  .band .feat.n5{grid-template-columns:repeat(6,1fr)}.band .feat.n5 li{grid-column:span 2}.band .feat.n5 li:nth-child(n+4){grid-column:span 3}
  .band .feat.n7{grid-template-columns:repeat(12,1fr)}.band .feat.n7 li{grid-column:span 3}.band .feat.n7 li:nth-child(n+5){grid-column:span 4}
}
.post-body .feat,.post-body .stepcards{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}

/* timeline + numbered list */
.tl{list-style:none;margin:1.8em auto;padding:0}
.tl li{display:grid;grid-template-columns:52px 1fr;gap:18px;position:relative;padding-bottom:30px;margin:0}
.tl li:last-child{padding-bottom:0}
.tl li::before{content:"";position:absolute;left:25px;top:60px;bottom:8px;width:2px;background:linear-gradient(var(--acc),transparent)}
.tl li:last-child::before{display:none}
.tl .num{margin:0}
.tl h3{margin:.3em 0 .3em;font-size:1.3rem}
.tl p{margin:0 0 .8em}
.tl ul{margin-top:.6em}
.numlist{counter-reset:nl;list-style:none;padding:0;margin:1.6em auto;display:grid;gap:12px}
.numlist li{counter-increment:nl;display:flex;gap:16px;align-items:center;min-height:56px;padding:12px 18px;margin:0;background:var(--card);border:1px solid var(--cardb);border-radius:14px}
.numlist li::before{content:counter(nl);flex:none;width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--ink);display:grid;place-items:center;font:800 1.1rem Georgia,serif}

/* callouts, quotes, facts, jump chips */
.callout{display:flex;gap:14px;align-items:flex-start;background:rgba(224,176,80,.12);border:1px solid rgba(224,176,80,.4);border-left:5px solid var(--acc);border-radius:12px;padding:16px 20px;margin-top:1.6em;margin-bottom:1.6em}
.b-c .callout,.post-body .callout{background:rgba(176,125,18,.1)}
.post-body .callout{background:rgba(224,176,80,.12)}
.callout-ic{width:28px;height:28px;color:var(--acc);margin-top:2px}
.callout p{margin:0;font-size:1.02rem;line-height:1.6}
.callout .callout-label{font:700 .76rem/1.2 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:.35em}
.pull{margin:2em auto;padding:6px 0 6px 28px;border-left:4px solid var(--acc);font:italic 1.45rem/1.45 Georgia,serif;color:var(--hd)}
.facts{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:1.4em;margin-bottom:1.4em}
.facts div{background:var(--card);border:1px solid var(--cardb);border-radius:14px;padding:16px 18px}
.facts dt{font:700 .76rem/1.2 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin-bottom:.4em}
.facts dd{margin:0;font-size:1rem;line-height:1.55}
.jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:1.4em}
.jump a{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:1px solid var(--cardb);border-radius:999px;background:var(--card);text-decoration:none;font-size:1rem;color:var(--hd)}
.jump a:hover{border-color:var(--acc)}
.topics{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.topics{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.band .topics{grid-template-columns:repeat(3,1fr)}}
.topic{background:var(--card);border:1px solid var(--cardb);border-radius:var(--r);padding:22px;box-shadow:var(--sh)}
.topic h3{margin:0 0 .6em;padding-bottom:.5em;border-bottom:1px solid var(--line);font-size:1.15rem;color:var(--hd)}
.topic .ticks{margin:0}
.topic .ticks li{margin-bottom:.55em;font-size:1rem;line-height:1.5}
.topic .ticks li::before{border-color:var(--acc)}
.band-in .ticks{max-width:42rem}

/* accordion */
.acc{display:grid;gap:10px}
.acc-i{background:var(--card);border:1px solid var(--cardb);border-radius:14px;transition:border-color .15s}
.acc-i[open]{border-color:var(--acc)}
.acc-i summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 18px;cursor:pointer;list-style:none;font-weight:600;font-size:1.06rem;line-height:1.4;color:var(--hd)}
.acc-i summary::-webkit-details-marker{display:none}
.acc-x{position:relative;flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--acc)}
.acc-x::before,.acc-x::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;margin:-1px 0 0 -6px;background:var(--acc);transition:transform .2s}
.acc-x::after{transform:rotate(90deg)}
.acc-i[open] .acc-x::after{transform:rotate(0)}
.acc-a{padding:0 18px 8px}
.acc-a p{margin:0 0 .9em;color:var(--mu);font-size:1.02rem;line-height:1.65}
.acc-a ul{margin-bottom:.9em}
.acc-a a{color:var(--lnk)}

/* tables */
.band .table-wrap,.post-body .table-wrap{overflow-x:auto;border:1px solid var(--cardb);border-radius:var(--r);background:var(--card);box-shadow:var(--sh);margin:0}
.band .table-wrap:focus-visible{outline-offset:2px}
.band .compare{margin:0;font-size:1rem;min-width:560px}
.band .compare th,.band .compare td{border:0;border-bottom:1px solid var(--line);padding:14px 18px;color:var(--fg)}
.band .compare thead th{background:rgba(224,176,80,.16);color:var(--hd);font:700 1.05rem Georgia,serif;border-bottom:2px solid var(--acc)}
.band .compare tbody th{background:var(--card);color:var(--acc);width:24%;font-weight:700;position:sticky;left:0}
.b-c .compare tbody th{color:#7a4f00}
.band .compare tbody tr:nth-child(even) td{background:rgba(224,176,80,.06)}
.band .compare tbody tr:last-child>*{border-bottom:0}

/* key facts */
.kf-sec{position:relative;z-index:3;margin-top:-36px}
.kf{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin:0;background:#d8cdb4;border-radius:18px;overflow:hidden;border:1px solid rgba(224,176,80,.55);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.kf>div{background:var(--cream);color:var(--ink);padding:16px 16px 15px;display:grid;grid-template-columns:30px 1fr;column-gap:10px;align-content:start}
.kf-ic{grid-row:1/4;width:28px;height:28px;color:#b07d12;margin-top:2px}
.kf dt{font:700 .7rem/1.3 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#4a5473}
.kf dd{margin:.15em 0 .1em;font:700 1.2rem/1.2 Georgia,serif;color:var(--ink)}
.kf-sub{font-size:.84rem;line-height:1.35;color:#4a5473}
@media(min-width:900px){.kf{grid-template-columns:repeat(4,1fr)}.kf>div{padding:20px 22px}.kf dd{font-size:1.3rem}}

/* mid-page CTA + media breaks */
.mid-cta{background:linear-gradient(100deg,var(--gold),var(--gold2));color:var(--ink);padding:40px 0}
.mid-cta-in{display:grid;gap:20px;align-items:center}
@media(min-width:860px){.mid-cta-in{grid-template-columns:1fr auto;gap:40px}}
.mid-cta-title{font:700 clamp(1.5rem,4.5vw,2rem)/1.2 Georgia,serif;margin:0 0 .4em;color:var(--ink)}
.mid-cta p{margin:0;color:#1d2540}
.mid-cta .cta-row{margin:0}
.mid-cta .btn{background:var(--ink);border-color:var(--ink);color:var(--cream)}
.mid-cta .btn:hover{background:#1a2d5c;border-color:#1a2d5c}
.mid-cta .btn-ghost{background:transparent;color:var(--ink);border-color:rgba(11,22,48,.55)}
.mid-cta .btn-ghost:hover{background:rgba(11,22,48,.1);border-color:var(--ink)}
.media-break{background:var(--bg3);padding:48px 0;overflow:hidden}
.mb{margin:0}
.mb-media{width:100%;height:auto;border-radius:20px;border:1px solid rgba(224,176,80,.35);box-shadow:0 18px 50px rgba(0,0,0,.45);background:var(--bg2)}
.mb-land .mb-media{aspect-ratio:4/3;object-fit:cover;object-position:50% 30%}
@media(min-width:760px){.mb-land .mb-media{aspect-ratio:16/7;object-position:50% 20%}}
.mb-port{display:grid;gap:28px;align-items:center;max-width:920px;margin:0 auto}
.mb-port figure{margin:0 auto;width:100%;max-width:300px}
.mb-port .mb-media{aspect-ratio:3/4;object-fit:cover;object-position:50% 25%}
@media(min-width:760px){.mb-port{grid-template-columns:320px 1fr;gap:56px}.mb-port.rev{grid-template-columns:1fr 320px}.mb-port.rev figure{order:2}.mb-port figure{max-width:none}}
.mb-title{font:700 clamp(1.5rem,4vw,2rem)/1.2 Georgia,serif;color:var(--cream);margin:0 0 .8em}
.mb-text .checks li{color:var(--fg)}

/* related cards + post cards */
.rel-grid,.pgrid{list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.rel-grid,.pgrid{grid-template-columns:repeat(3,1fr)}.pgrid-index{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.pgrid-index{grid-template-columns:repeat(3,1fr)}}
.rel-grid li,.pgrid li{margin:0}
.rel-card{position:relative;display:flex;flex-direction:column;gap:6px;height:100%;min-height:44px;background:var(--card);border:1px solid var(--cardb);border-radius:16px;padding:22px 52px 22px 22px;text-decoration:none;color:var(--hd)!important;box-shadow:var(--sh);transition:border-color .15s,transform .15s}
.rel-card:hover{border-color:var(--acc);transform:translateY(-2px)}
.rel-ic{width:28px;height:28px;color:var(--acc);margin-bottom:4px}
.rel-card strong{font:700 1.15rem/1.25 Georgia,serif;color:var(--hd)}
.rel-card span{color:var(--mu);font-size:.97rem;line-height:1.5}
.rel-card::after{content:"\2192";position:absolute;right:20px;top:20px;color:var(--acc);font-size:1.3rem}
.pcard a{display:flex;flex-direction:column;height:100%;background:var(--card);border:1px solid var(--cardb);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--hd)!important;box-shadow:var(--sh);transition:border-color .15s,transform .15s}
.pcard a:hover{border-color:var(--acc);transform:translateY(-2px)}
.thumb{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:var(--bg3)}
.pcard-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.pcat{align-self:flex-start;font:700 .7rem/1 system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--gold);border-radius:999px;padding:6px 10px}
.pcard strong{font:700 1.15rem/1.3 Georgia,serif;color:var(--hd)}
.pdesc{color:var(--mu);font-size:.95rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pcard em{margin-top:auto;padding-top:4px;color:var(--acc);font-style:normal;font-size:.85rem}
.post-more-in h2{font-size:clamp(1.5rem,4vw,2rem)}
.post-more-in>.related+.related{margin-top:56px}

/* blog post */
.post-head{padding:24px 0 48px}
.post-hd{max-width:976px}
.post-hd>*{max-width:820px}
.post-hd>.crumbs{max-width:none}
.post-cat{display:inline-block;margin:0 0 .9em;font:700 .75rem/1 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);background:var(--gold);border-radius:999px;padding:7px 12px}
.post-head h1{font-size:clamp(2rem,6vw,3.2rem);margin-bottom:.45em}
.standfirst{font-size:1.2rem;line-height:1.55;color:var(--muted);margin:0 0 1.1em;max-width:40em}
.post-head .meta{display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--muted)}
.post-layout{padding-top:44px;padding-bottom:72px}
.post-toc{display:none}
.toc-m{background:var(--bg2);border:1px solid var(--cardb);border-radius:14px;margin:0 0 32px}
.toc-m summary{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:10px 18px;cursor:pointer;list-style:none;font-weight:700;color:var(--cream)}
.toc-m summary::-webkit-details-marker{display:none}
.toc-m summary::after{content:"+";color:var(--gold);font-size:1.5rem}
.toc-m[open] summary::after{content:"\2212"}
.toc-m ol{margin:0;padding:0 18px 12px 42px}
.toc-m li{margin:0}
.toc-m a{display:block;padding:10px 0;color:var(--gold2);text-decoration:none;line-height:1.35}
@media(min-width:1000px){
  .post-layout{display:grid;grid-template-columns:240px minmax(0,42rem);gap:64px;justify-content:center}
  .toc-m{display:none}
  .post-toc{display:block}
  .toc-d{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding-right:8px}
  .toc-title{font:700 .75rem/1 system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
  .toc-d ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
  .toc-d li{margin:0}
  .toc-d a{display:block;padding:8px 0 8px 16px;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);text-decoration:none;font-size:.94rem;line-height:1.4}
  .toc-d a:hover,.toc-d a[aria-current]{color:var(--gold2);border-left-color:var(--gold)}
}
.post-body{font-size:1.125rem;line-height:1.7;color:var(--fg);min-width:0}
.post-body p{margin:0 0 1.15em}
.post-intro p:first-child{font-size:1.3rem;line-height:1.6;color:var(--cream)}
.ps{margin-top:52px;padding-top:44px;border-top:1px solid var(--line);scroll-margin-top:16px}
.post-intro+.ps{margin-top:40px}
.ps h2{font-size:clamp(1.6rem,4.6vw,2.1rem);margin:0 0 .8em}
.ps h2::before{counter-increment:ps;content:counter(ps,decimal-leading-zero);display:block;font:700 .78rem/1 system-ui,sans-serif;letter-spacing:.18em;color:var(--gold);margin-bottom:.9em}
.post-body h3{font-size:1.25rem;margin:1.6em 0 .4em;color:var(--gold2)}
.post-body .wide{margin:1.6em 0 1.8em}
.post-body .panel,.post-body .callout,.post-body .acc,.post-body .tl,.post-body .numlist{margin-top:1.4em;margin-bottom:1.6em}
.post-body .panel{padding:20px}
.post-body .panel .checks,.post-body .cklist{font-size:1.05rem;line-height:1.6}
.post-body .topics{grid-template-columns:1fr}
@media(min-width:640px){.post-body .topics{grid-template-columns:repeat(2,1fr)}}
.post-body .cta-box{margin:56px 0 0;background:linear-gradient(155deg,#1a2d5c,var(--bg2));border:1px solid rgba(224,176,80,.55);border-radius:22px;padding:30px 28px;box-shadow:0 18px 50px rgba(0,0,0,.4);position:relative;overflow:hidden}
.post-body .cta-box::before{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(224,176,80,.3),transparent 70%)}
.post-body .cta-box h2{font-size:1.6rem;margin:0 0 .5em;position:relative}
.post-body .cta-box h2::after{display:none}
.post-body .cta-box p,.post-body .cta-box .cta-row{position:relative}
.post-body .cta-box .cta-row{margin-bottom:0}
.post-body .cta-box .btn{flex:1 1 200px}

/* tap targets and a11y on inner pages (home keeps its own sizing) */
.plain .btn-sm{min-height:44px;display:inline-flex;align-items:center}
.plain .menu summary{width:44px;height:44px}
.plain .foot-cols a{padding:6px 0}
@media(max-width:700px){.plain .foot-cols a{padding:11px 0}}
.plain .crumbs{display:flex;flex-wrap:nowrap;align-items:center;gap:0 8px;white-space:nowrap}
.plain .crumbs>*{flex:none}
.plain .crumbs>[aria-current]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.plain .crumbs a{display:inline-block;padding:12px 2px}
.plain .page-head .cta-row .btn{min-height:48px}
@media(prefers-reduced-motion:reduce){.rel-card,.pcard a,.acc-i,.acc-x::before,.acc-x::after{transition:none}.rel-card:hover,.pcard a:hover{transform:none}}

.band-in>h2+p:has(+p){font-size:1.22rem;line-height:1.6;color:var(--hd)}

@media(max-width:899px){
  .kf>div{grid-template-columns:1fr;padding:14px 14px 13px}
  .kf-ic{grid-row:auto;width:24px;height:24px;margin-bottom:6px}
  .kf dd{font-size:1.12rem}
}
@media(max-width:599px){
  .stepcards li{display:grid;grid-template-columns:52px 1fr;column-gap:14px;align-items:center;padding:18px}
  .stepcards .num{margin:0;grid-row:1}
  .stepcards h3{margin:0}
  .stepcards p{grid-column:1/-1;margin-top:12px}
}

.post-more-in .related>h2{max-width:none;margin-left:0}
.post-more-in>.related>h2::after{margin-left:0}
/* Real Santa vs AI comparison */
#real-santa .eyebrow{text-align:center}
.vs-lead{max-width:760px;margin:0 auto 1em;text-align:center;color:var(--muted)}
.vs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:1.4em}
.vs-col{border-radius:20px;padding:26px 24px}
.vs-us{background:var(--bg);border:2px solid var(--gold)}
.vs-them{background:rgba(255,255,255,.04);border:1px solid rgba(196,203,224,.25);color:var(--muted)}
.vs-col h3{margin-bottom:.8em}
.vs-them h3{color:var(--muted)}
.crosses{list-style:none;padding:0;margin:0}
.crosses li{position:relative;padding-left:30px;margin-bottom:.55em;line-height:1.5}
.crosses li::before,.crosses li::after{content:"";position:absolute;left:6px;top:.75em;width:14px;height:2px;background:#9aa3bd;transform:rotate(45deg)}
.crosses li::after{transform:rotate(-45deg)}
.book-head{text-align:center}
.book-choose{padding-top:0}
@media (max-width:760px){.vs{grid-template-columns:1fr}}
