/* jadenmoor.com — shared styles · built 21 Aug 2026 */
:root{
  --bg:#FDFDFC;--band:#F7F6F2;--ink:#0A0A0A;--body:#3A3A38;--muted:#8A8A86;--hair:#E8E6E0;--hair-soft:#F0EEE8;
  --teal:#087587;--teal-deep:#043B44;--teal-ink:#F3F6F5;--brass:#A47028;--brass-soft:#F4ECDD;--teal-soft:#E4F0F1;
  --card:#FFFFFF;--glass:rgba(253,253,252,.8);--glass-border:rgba(10,10,10,.06);--shadow:0 14px 44px -18px rgba(4,59,68,.22);--shadow-card:0 18px 50px -24px rgba(10,10,10,.16);
  --display:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --text:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --maxw:1180px;--pad:clamp(20px,4vw,48px);--blend:multiply;--img1:#DCE9EA;--img2:#EFE6D6;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0E1314;--band:#131A1B;--ink:#F3F1EC;--body:#C9C7C0;--muted:#8A8F8E;--hair:#253031;--hair-soft:#1B2425;
    --teal:#3BAFBF;--teal-deep:#0B2A30;--teal-ink:#EAF2F2;--brass:#D1A458;--brass-soft:#2A2216;--teal-soft:#12272B;
    --card:#141B1C;--glass:rgba(14,19,20,.8);--glass-border:rgba(243,241,236,.08);--shadow:0 14px 44px -18px rgba(0,0,0,.6);--shadow-card:0 18px 50px -24px rgba(0,0,0,.6);--blend:screen;--img1:#16282B;--img2:#2A2318;
  }
}
:root[data-theme="dark"]{
  --bg:#0E1314;--band:#131A1B;--ink:#F3F1EC;--body:#C9C7C0;--muted:#8A8F8E;--hair:#253031;--hair-soft:#1B2425;
  --teal:#3BAFBF;--teal-deep:#0B2A30;--teal-ink:#EAF2F2;--brass:#D1A458;--brass-soft:#2A2216;--teal-soft:#12272B;
  --card:#141B1C;--glass:rgba(14,19,20,.8);--glass-border:rgba(243,241,236,.08);--shadow:0 14px 44px -18px rgba(0,0,0,.6);--shadow-card:0 18px 50px -24px rgba(0,0,0,.6);--blend:screen;--img1:#16282B;--img2:#2A2318;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--text);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);margin:0;letter-spacing:-.025em;text-wrap:balance;line-height:1.1}
h1{font-size:clamp(40px,6vw,76px);font-weight:700}
h2{font-size:clamp(30px,4vw,50px);font-weight:700}
h3{font-size:clamp(20px,2vw,24px);font-weight:600;letter-spacing:-.015em;line-height:1.25}
h4{font-size:17px;font-weight:600;letter-spacing:-.01em}
p{margin:0}
em{font-style:normal}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.grad{background:linear-gradient(100deg,var(--teal) 0%,var(--ink) 55%,var(--brass) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.kick{font-family:var(--text);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}
.kick.brass{color:var(--brass)}
.lede{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--body);max-width:62ch}
.measure{max-width:62ch}
section{padding:clamp(72px,9vw,140px) 0}
section.tight{padding-top:0}
.band-bg{background:var(--band)}

/* quiz modal */
.qz{position:fixed;inset:0;z-index:500;background:rgba(4,59,68,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:20px}
.qz.open{display:flex}
.qzbox{width:100%;max-width:640px;max-height:92vh;overflow:auto;background:var(--card);border-radius:28px;padding:36px 40px 32px;position:relative;box-shadow:0 40px 120px -30px rgba(0,0,0,.5);animation:qzin .35s cubic-bezier(.2,.8,.2,1)}
@keyframes qzin{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.qz .x{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;border:0;background:var(--band);cursor:pointer;font-size:20px;color:var(--ink)}
.qz .top{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);margin-bottom:16px}
.qz .top button{background:none;border:0;color:var(--muted);cursor:pointer;padding:0;font-size:13px;font-weight:600}
.qbar{display:grid;grid-auto-flow:column;gap:6px;margin-bottom:26px}
.qbar i{height:3px;border-radius:3px;background:var(--hair)}
.qbar i.on{background:var(--teal)}
.qz h3{font-size:clamp(22px,2.4vw,28px);margin-bottom:6px}
.qz .hint{font-size:14px;color:var(--muted);margin-bottom:16px}
.opts{display:grid;gap:10px;margin:18px 0 22px}
.opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:15px 18px;border:1px solid var(--hair);border-radius:16px;background:var(--bg);cursor:pointer;font-size:16px;font-weight:500;color:var(--ink);transition:border-color .2s,background .2s,transform .2s}
.opt:hover{border-color:var(--ink)}
.opt i{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--hair);flex:none;position:relative;transition:border-color .2s}
.opt.multi i{border-radius:6px}
.opt.sel{border-color:var(--teal);background:var(--teal-soft)}
.opt.sel i{border-color:var(--teal)}
.opt.sel i::after{content:"";position:absolute;inset:4px;border-radius:inherit;background:var(--teal)}
.opts.cols{grid-template-columns:1fr 1fr}
@media (max-width:560px){.opts.cols{grid-template-columns:1fr}}
.qz .form{border:0;padding:0;background:transparent;margin:18px 0 22px}
.qz .form textarea{border:1px solid var(--hair);border-radius:12px;padding:12px 14px;font:inherit;font-size:15px;background:var(--bg);color:var(--ink);resize:vertical}
.qnav{display:flex;gap:10px;align-items:center}
.qnav .pill-ink{flex:1}
.qz small{display:block;margin-top:14px;font-size:13px;color:var(--muted)}
.qdone{text-align:center;padding:20px 0 10px}
.qdone h3{font-size:30px;margin:18px 0 10px}
.qdone .tick{width:64px;height:64px;border-radius:50%;background:var(--teal-soft);margin:0 auto;position:relative}
.qdone .tick::after{content:"";position:absolute;left:23px;top:16px;width:14px;height:26px;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(45deg)}
@media (max-width:560px){.qz{padding:0;align-items:flex-end}.qzbox{border-radius:28px 28px 0 0;max-height:94vh;padding:28px 22px 26px}}
/* cookie */
.ck{position:fixed;left:20px;bottom:20px;z-index:450;width:min(380px,calc(100vw - 40px));background:var(--card);border:1px solid var(--hair);border-radius:22px;padding:20px 22px;box-shadow:var(--shadow-card);font-size:14px;display:none;transform:translateY(12px);opacity:0;transition:opacity .4s,transform .4s}
.ck.show{display:block;opacity:1;transform:none}
.ck b{display:block;font-family:var(--display);font-size:16px;color:var(--ink);margin-bottom:6px}
.ck p{color:var(--body)}
.ck .b{display:flex;gap:8px;margin-top:14px}
.ck .pill{height:40px;padding:0 18px;font-size:14px}
/* nav — edge-to-edge bar */
header{position:fixed;top:0;left:0;right:0;z-index:250;padding:0 12px}
.nav{display:flex;align-items:center;gap:8px;height:76px;padding:0 18px 0 clamp(20px,3vw,40px);border-radius:0 0 28px 28px;background:var(--glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--glass-border);border-top:0;box-shadow:var(--shadow);transition:height .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
header.scrolled .nav{height:62px;box-shadow:0 18px 48px -16px rgba(4,59,68,.32)}
.logo{font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:-.04em;line-height:1;display:inline-flex}
.logo span{display:inline-block;transition:color 1.2s linear}
.nav ul{display:flex;gap:2px;list-style:none;margin:0 6px 0 auto;padding:0}
.nav li a{display:block;padding:9px 15px;border-radius:30px;font-size:15px;font-weight:500;color:var(--ink);transition:background .2s}
.nav li a:hover,.nav li a.on{background:var(--hair-soft)}
.pill{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 26px;border-radius:40px;font-size:15px;font-weight:600;font-family:var(--text);border:1px solid transparent;cursor:pointer;transition:transform .25s cubic-bezier(.2,.8,.2,1),background .2s,border-color .2s,box-shadow .25s;white-space:nowrap;position:relative;overflow:hidden}
.pill:hover{transform:translateY(-2px)}
.pill-ink{background:var(--ink);color:var(--bg)}
.pill-ink:hover{box-shadow:0 12px 30px -12px rgba(10,10,10,.5)}
.pill-line{background:transparent;color:var(--ink);border-color:var(--hair)}
.pill-line:hover{border-color:var(--ink)}
.pill-light{background:var(--bg);color:var(--ink)}
.nav .pill{height:42px;padding:0 20px;font-size:14px}
.burger{display:none;width:42px;height:42px;border-radius:50%;border:1px solid var(--hair);background:transparent;margin-left:8px;cursor:pointer;position:relative}
.burger i{position:absolute;left:12px;right:12px;height:1.5px;background:var(--ink);transition:transform .3s,opacity .3s}
.burger i:nth-child(1){top:15px}.burger i:nth-child(2){top:20px}.burger i:nth-child(3){top:25px}
.burger.on i:nth-child(1){transform:translateY(5px) rotate(45deg)}.burger.on i:nth-child(2){opacity:0}.burger.on i:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.mm{position:fixed;inset:0;z-index:460;visibility:hidden}
.mm.open{visibility:visible}
.mm-scrim{position:absolute;inset:0;background:rgba(10,10,10,.4);opacity:0;transition:opacity .3s;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.mm.open .mm-scrim{opacity:1}
.mm-panel{position:absolute;top:0;right:0;bottom:0;width:100%;background:rgba(255,255,255,.9);backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);padding:24px 26px;transform:translateX(100%);transition:transform .35s cubic-bezier(.7,0,.2,1);overflow-y:auto;display:flex;flex-direction:column}
.mm.open .mm-panel{transform:translateX(0)}
.mm-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.mm-close{background:rgba(10,10,10,.05);border:none;font-size:20px;line-height:1;color:var(--ink);cursor:pointer;width:38px;height:38px;border-radius:50%;transition:background .2s}
.mm-close:hover{background:rgba(10,10,10,.1)}
.mm-links a{display:block;padding:14px 4px;font-family:var(--display);font-size:19px;font-weight:700;color:var(--ink);letter-spacing:-.02em;border-bottom:1px solid var(--hair)}
.mm-links a:hover{color:var(--teal)}
.mm-foot{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:14px}
.mm-foot .pill{height:50px;justify-content:center;font-size:15px}
@media (max-width:1000px){.nav ul{display:none}.nav .pill{display:none}.burger{display:block;margin-left:auto}.nav{height:64px;border-radius:0 0 22px 22px}header.scrolled .nav{height:58px}}

/* pages */


/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(150px,16vw,210px) 0 clamp(70px,8vw,110px);text-align:center}
.aurora{position:absolute;inset:-20%;z-index:0;pointer-events:none;filter:blur(80px);opacity:.22}
.aurora i{position:absolute;display:block;border-radius:50%;mix-blend-mode:var(--blend)}
.aurora i:nth-child(1){width:52%;height:52%;left:-2%;top:-8%;background:radial-gradient(circle,var(--teal) 0%,transparent 70%);animation:drift1 14s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:50%;height:50%;right:-4%;bottom:-12%;background:radial-gradient(circle,var(--brass) 0%,transparent 70%);animation:drift2 17s ease-in-out infinite alternate}
.aurora i:nth-child(3){width:30%;height:30%;left:40%;top:30%;background:radial-gradient(circle,var(--teal-deep) 0%,transparent 70%);opacity:.4;animation:drift1 22s ease-in-out infinite alternate-reverse}
@keyframes drift1{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(12%,8%,0) scale(1.15)}}
@keyframes drift2{from{transform:translate3d(0,0,0) scale(1.08)}to{transform:translate3d(-10%,-7%,0) scale(.94)}}
.hero .wrap{position:relative;z-index:1}
.hero .kick{display:block;margin-bottom:28px}
.hero h1{max-width:17ch;margin:0 auto}
.hero .lede{margin:30px auto 0;text-align:center}
.ctas{display:flex;gap:10px;justify-content:center;margin-top:38px;flex-wrap:wrap}
/* word reveal */
.w{display:inline-block;opacity:0;transform:translateY(.35em) rotate(1deg);filter:blur(6px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1),filter .7s}
.w.in{opacity:1;transform:none;filter:none}
.fade{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}
.fade.in{opacity:1;transform:none}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:clamp(60px,7vw,96px) auto 0;max-width:980px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}
.metrics div{padding:22px 10px;border-right:1px solid var(--hair);text-align:center}
.metrics div:last-child{border-right:0}
.metrics b{display:block;font-family:var(--display);font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}
.metrics span{font-size:13px;color:var(--muted)}
.metrics-cap{margin-top:14px;font-size:13px;color:var(--muted);text-align:center}
@media (max-width:760px){.metrics{grid-template-columns:1fr 1fr}.metrics div:nth-child(2){border-right:0}.metrics div:nth-child(-n+2){border-bottom:1px solid var(--hair)}}

/* image slots */
.img{position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,var(--img1),var(--img2));display:flex;align-items:flex-end;padding:18px;min-height:220px}
.img::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 18px,rgba(10,10,10,.025) 18px 19px)}
.img span{position:relative;max-width:100%;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--teal-deep);background:rgba(253,253,252,.7);padding:6px 10px;border-radius:8px;backdrop-filter:blur(6px)}
:root[data-theme="dark"] .img span{color:var(--teal-ink);background:rgba(14,19,20,.6)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .img span{color:var(--teal-ink);background:rgba(14,19,20,.6)}}
.img.tall,.img.wide,.img.sq{min-height:0;width:100%}.img.tall{aspect-ratio:4/5}.img.wide{aspect-ratio:16/9}.img.sq{aspect-ratio:1}

/* narrative */
.statement{font-family:var(--display);font-size:clamp(26px,3.2vw,42px);font-weight:600;letter-spacing:-.025em;line-height:1.2;color:var(--ink);max-width:28ch}
.statement em{color:var(--teal)}
.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px)}
@media (max-width:760px){.two{grid-template-columns:minmax(0,1fr)}}

/* AI answer mock */
.answer{background:var(--card);border:1px solid var(--hair);border-radius:24px;box-shadow:var(--shadow-card);overflow:hidden}
.answer .ah{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--hair);font-size:12.5px;color:var(--muted)}
.answer .ah b{color:var(--ink);font-weight:600}
.answer .q{padding:20px 22px 6px;font-family:var(--display);font-size:18px;font-weight:600;color:var(--ink);letter-spacing:-.015em}
.answer .a{padding:8px 22px 22px;font-size:15px;color:var(--body)}
.answer .a p{margin-bottom:10px}
.answer .a ol{margin:0 0 10px;padding-left:20px;display:grid;gap:6px}
.answer .a li{color:var(--ink)}
.answer .a li.you{color:var(--muted)}
.answer .a li.you b{color:var(--brass);font-weight:600}
.answer .af{padding:12px 22px;border-top:1px solid var(--hair);background:var(--band);font-size:13px;color:var(--muted)}
.answer .af b{color:var(--brass);font-weight:600}
.typing{display:inline-block;width:8px;height:16px;background:var(--teal);vertical-align:-2px;margin-left:2px;animation:blink 1s steps(2) infinite}
@keyframes blink{to{opacity:0}}

/* method spine (Silvengate style) */
.method{position:relative}
.mgrid{display:grid;grid-template-columns:64px 1fr;gap:28px;position:relative}
.spine{position:relative}
.spine .track{position:absolute;left:31px;top:0;bottom:0;width:2px;background:var(--hair)}
.spine .fill{position:absolute;left:31px;top:0;width:2px;height:0;background:linear-gradient(180deg,var(--teal),var(--teal-deep) 60%,var(--brass));transition:height .15s linear}
.msteps{display:grid;gap:26px}
.mstep{position:relative;background:var(--card);border:1px solid var(--hair);border-radius:22px;padding:30px 32px 28px;box-shadow:var(--shadow-card);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.mstep:hover{transform:translateY(-3px);box-shadow:0 26px 60px -26px rgba(4,59,68,.3)}
.mstep::before{content:attr(data-n);position:absolute;left:-92px;top:26px;width:56px;height:56px;border-radius:50%;background:var(--bg);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;font-family:var(--display);font-weight:700;font-size:14px;color:var(--ink);box-shadow:var(--shadow);transition:border-color .4s,color .4s}
.mstep.lit::before{border-color:var(--teal);color:var(--teal)}
.mstep h3{margin-bottom:10px}
.mstep p{font-size:15.5px;max-width:70ch}
.mmeta{display:grid;grid-template-columns:1.2fr 1.2fr .7fr;gap:20px;margin-top:22px;padding-top:18px;border-top:1px solid var(--hair)}
.mmeta div{font-size:14px;color:var(--body)}
.mmeta b{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);font-weight:600;margin-bottom:6px}
@media (max-width:760px){.mmeta{grid-template-columns:1fr}}
.mstep .dur{display:inline-block;margin-top:16px;font-size:12.5px;font-weight:600;color:var(--teal);background:var(--teal-soft);padding:5px 11px;border-radius:20px}
@media (max-width:640px){.mgrid{grid-template-columns:1fr;gap:0}.spine{display:none}.mstep::before{display:none}.mstep{padding:24px}}

/* facts */
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.fact b{display:block;font-family:var(--display);font-size:clamp(44px,5.2vw,68px);font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.fact b em{color:var(--teal)}
.fact p{margin-top:14px;font-size:15.5px}
.fact small{display:block;margin-top:10px;font-size:12.5px;color:var(--muted)}
@media (max-width:760px){.facts{grid-template-columns:1fr}}

/* services */
.split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:clamp(28px,5vw,80px);align-items:start}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)!important}}
.slist{border-top:1px solid var(--hair)}
.srow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) auto;gap:24px;padding:26px 0;border-bottom:1px solid var(--hair);align-items:baseline;position:relative}
.srow h3{font-size:19px;transition:transform .3s}
a.srow:hover h3{transform:translateX(6px)}
.srow p{font-size:15px}
.srow .to{font-size:13.5px;font-weight:600;color:var(--teal);white-space:nowrap}
a.srow:hover .to{text-decoration:underline;text-underline-offset:4px}
@media (max-width:700px){.srow{grid-template-columns:1fr;gap:8px}}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.scell{background:var(--bg);padding:28px 26px 30px;min-height:190px;display:flex;flex-direction:column;gap:10px;transition:background .25s;position:relative}
.scell::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,var(--teal),var(--brass));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.scell:hover{background:var(--band)}.scell:hover::after{transform:scaleX(1)}
.scell .kick{font-size:11px}
.scell h3{font-size:18px;margin-top:auto}
.scell p{font-size:14.5px;color:var(--muted)}
@media (max-width:860px){.sgrid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.sgrid{grid-template-columns:1fr}}

/* service cards */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.svcc{background:var(--card);border:1px solid var(--hair);border-radius:22px;padding:28px 26px 24px;display:flex;flex-direction:column;gap:12px;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.svcc:hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}
.svcc .kick{font-size:11px}
.svcc h3{font-size:19px}
.svcc p{font-size:14.5px;flex:1}
.svcc .m{font-size:13px;color:var(--muted);border-top:1px solid var(--hair);padding-top:12px}
.svcc .m b{color:var(--teal);font-weight:600}
@media (max-width:900px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc{grid-template-columns:1fr}}
/* verticals */
.vgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:40px}
.vcard{display:flex;flex-direction:column;gap:12px}
.vcard .img{min-height:0;aspect-ratio:4/5;border-radius:18px;padding:12px}
.vcard .img span{font-size:10.5px}
.vcard h3{font-size:16px}
.vcard p{font-size:13.5px;color:var(--muted)}
@media (max-width:960px){.vgrid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:600px){.vgrid{grid-template-columns:1fr 1fr}}

/* dark block */
.dark{background:var(--teal-deep);color:var(--teal-ink);border-radius:28px;padding:clamp(48px,6vw,84px) clamp(28px,5vw,72px);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,72px);align-items:center;position:relative;overflow:hidden}
.dark::after{content:"";position:absolute;width:60%;aspect-ratio:1;right:-20%;bottom:-50%;border-radius:50%;background:radial-gradient(circle,rgba(164,112,40,.35),transparent 70%);filter:blur(40px)}
.dark>*{position:relative;z-index:1}
.dark h2{color:#fff;font-size:clamp(28px,3.4vw,44px)}
.dark p{opacity:.82;font-size:16px}
.dark .rules{display:grid;border-top:1px solid rgba(255,255,255,.14)}
.dark .rules div{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:15px;display:grid;grid-template-columns:22px 1fr;gap:10px}
.dark .rules i{font-style:normal;color:var(--brass);font-weight:600;font-family:var(--display)}
@media (max-width:820px){.dark{grid-template-columns:1fr}}

/* doors */
.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.door{border:1px solid var(--hair);border-radius:24px;padding:34px 30px 30px;display:flex;flex-direction:column;gap:12px;background:var(--card);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.door:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.door.hot{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.door.hot h3{color:var(--bg)}
.door .tag{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brass)}
.door .meta{font-size:14px;color:var(--teal);font-weight:600}
.door.hot .meta{color:#8ED3DC}
.door p{font-size:15px;flex:1}
.door.hot p{color:rgba(253,253,252,.8)}
.door .pill{margin-top:16px;align-self:flex-start}
@media (max-width:860px){.doors{grid-template-columns:1fr}}

/* faq */
.faq{border-top:1px solid var(--hair)}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;padding:24px 0;display:grid;grid-template-columns:1fr 28px;gap:20px;align-items:center;font-family:var(--display);font-size:clamp(18px,1.6vw,21px);font-weight:600;color:var(--ink);letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;border-right:1.5px solid var(--teal);border-bottom:1.5px solid var(--teal);transform:rotate(45deg);justify-self:center;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .fa{padding:0 0 26px;max-width:70ch;font-size:15.5px}

/* cta */
.close{text-align:center;border-top:1px solid var(--hair)}
.close h2{font-size:clamp(34px,5vw,64px)}
.close .pill{margin-top:34px}

/* footer */
footer{border-top:1px solid var(--hair);padding:64px 0 40px;font-size:14px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px}
.fgrid h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:16px}
.fgrid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fgrid a{color:var(--body)}
.fgrid a:hover{color:var(--teal)}
.fbrand p{max-width:34ch;color:var(--muted);margin-top:14px;font-size:14px}
.fbrand a.mail{display:inline-block;margin-top:14px;color:var(--ink);font-weight:600;border-bottom:1px solid var(--hair)}
.fbot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:56px;padding-top:22px;border-top:1px solid var(--hair);color:var(--muted);font-size:13px}
.fbot .sg{color:var(--ink)}
@media (max-width:860px){.fgrid{grid-template-columns:1fr 1fr}}

/* inner pages */
.phero{padding:clamp(140px,14vw,190px) 0 clamp(48px,6vw,80px);position:relative;overflow:hidden}
.phero .kick{display:block;margin-bottom:22px}
.phero h1{font-size:clamp(36px,5vw,64px);max-width:18ch}
.phero .lede{margin-top:26px}
.phero .ctas{justify-content:flex-start;margin-top:32px}
.phero .aurora{opacity:.14}
.phero .wrap{position:relative;z-index:1}
.phero.has-art .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
@media (max-width:860px){.phero.has-art .wrap{grid-template-columns:minmax(0,1fr)}}
.prose p{margin-bottom:18px;font-size:16.5px}
.prose p:last-child{margin-bottom:0}
.note{background:var(--brass-soft);border-left:2px solid var(--brass);padding:22px 26px;border-radius:0 16px 16px 0;margin-top:34px}
.note h4{margin-bottom:8px}
.note p{font-size:15px}
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{font-family:var(--text);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;text-align:left;padding:0 14px 12px 0;border-bottom:1px solid var(--hair)}
.tbl td{padding:16px 14px 16px 0;border-bottom:1px solid var(--hair);vertical-align:top}
.tbl td:first-child{font-weight:600;color:var(--ink);font-family:var(--display);letter-spacing:-.01em;white-space:nowrap}
.tblwrap{overflow-x:auto}
.feat{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.feat div{background:var(--bg);padding:26px 24px;transition:background .25s}
.feat div:hover{background:var(--band)}
.feat h4{margin-bottom:8px}
.feat p{font-size:14.5px;color:var(--body)}
@media (max-width:760px){.feat{grid-template-columns:1fr}}
.subnav{position:sticky;top:70px;z-index:50;display:flex;gap:6px;flex-wrap:wrap;padding:10px 0;background:linear-gradient(var(--bg) 70%,transparent);margin-bottom:30px}
.subnav a{font-size:13px;font-weight:600;color:var(--muted);padding:7px 13px;border:1px solid var(--hair);border-radius:30px;background:var(--bg)}
.subnav a:hover{color:var(--ink);border-color:var(--ink)}

/* score ring + scorecard */
.ring{position:relative;width:220px;height:220px;margin:0 auto}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:6;stroke-linecap:round}
.ring .bg{stroke:var(--hair)}
.ring .fg{stroke:url(#rg);stroke-dasharray:628;stroke-dashoffset:628;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1)}
.ring.in .fg{stroke-dashoffset:calc(628 - 628 * var(--v))}
.ring .val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring .val b{font-family:var(--display);font-size:58px;font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.ring .val span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:6px}
.card{background:var(--card);border:1px solid var(--hair);border-radius:24px;box-shadow:var(--shadow-card);padding:28px}
.card .ch{display:flex;justify-content:space-between;font-size:12.5px;color:var(--muted);margin-bottom:18px}
.card .ch b{color:var(--ink);font-weight:600}
.score{display:grid;gap:0}
.score div{display:grid;grid-template-columns:24px 1fr 90px 44px;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--hair-soft);font-size:14px}
.score div:last-child{border-bottom:0}
.score i{font-style:normal;color:var(--muted);font-size:12px;font-weight:600}
.score .bar{height:4px;background:var(--hair);border-radius:4px;overflow:hidden}
.score .bar b{display:block;height:100%;width:0;border-radius:4px;background:var(--teal);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.score .bar b.amb{background:var(--brass)}
.score .bar b.low{background:#C25555}
.in .score .bar b{width:var(--w)}
.score .n{font-family:var(--display);font-weight:600;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.points{counter-reset:pt;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.pt{background:var(--bg);padding:22px 20px 24px;display:grid;grid-template-rows:auto auto 1fr;gap:10px;transition:background .25s}
.pt:hover{background:var(--band)}
.pt::before{counter-increment:pt;content:counter(pt,decimal-leading-zero);font-family:var(--display);font-weight:600;font-size:13px;color:var(--brass);padding-top:3px}
.pt h4{margin-bottom:6px;font-size:16px;min-height:2.5em;display:flex;align-items:flex-end}
.pt p{font-size:13.5px;color:var(--body)}
@media (max-width:1000px){.points{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.points{grid-template-columns:1fr 1fr}}

/* prompt panel */
.panel{border:1px solid var(--hair);border-radius:20px;overflow:hidden;background:var(--card);box-shadow:var(--shadow-card)}
.panel .ph{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--hair);font-size:12.5px;color:var(--muted);gap:12px;flex-wrap:wrap}
.panel .ph b{color:var(--ink);font-weight:600}
.panel table{width:100%;border-collapse:collapse;font-size:14px}
.panel th{font-weight:600;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:12px 14px;text-align:center;border-bottom:1px solid var(--hair);background:var(--band)}
.panel th:first-child{text-align:left}
.panel td{padding:13px 14px;border-bottom:1px solid var(--hair-soft);text-align:center;color:var(--body)}
.panel td:first-child{text-align:left;color:var(--ink)}
.panel tr:last-child td{border-bottom:0}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--hair);transform:scale(.3);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .5s}
.in .dot,.pf .dot{transform:scale(1);opacity:1}
.dot.y{background:var(--teal)}
.dot.p{background:var(--brass)}
.panel .pf{display:flex;gap:18px;padding:12px 18px;font-size:12.5px;color:var(--muted);border-top:1px solid var(--hair);background:var(--band);flex-wrap:wrap}
.panel .pf span{display:inline-flex;align-items:center;gap:6px}

/* form */
.form{border:1px solid var(--hair);border-radius:24px;padding:30px;display:grid;gap:16px;background:var(--card)}
.form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--ink)}
.form input,.form select{height:46px;border:1px solid var(--hair);border-radius:12px;padding:0 14px;font:inherit;font-size:15px;background:var(--bg);color:var(--ink)}
.form input:focus,.form select:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form small{font-size:13px;color:var(--muted)}
@media (max-width:560px){.form .row{grid-template-columns:1fr}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.aurora i{animation:none}.reveal,.w,.fade{opacity:1;transform:none;filter:none;transition:none}html{scroll-behavior:auto}.ring .fg,.score .bar b,.dot{transition:none}}
:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.img.photo::before{display:none}
.img.photo span{display:none}
.img.photo{min-height:0}
.credit{font-size:11px;color:var(--muted);margin-top:6px}
.legal h2{font-size:22px;margin:34px 0 10px}
.legal p,.legal li{font-size:15.5px;margin-bottom:12px}
.hero .img{margin:clamp(48px,6vw,80px) auto 0;max-width:980px;aspect-ratio:21/9;min-height:0}
.verts{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.vert{padding:11px 16px;border:1px solid var(--hair);border-radius:40px;font-size:14.5px;font-weight:500;color:var(--ink);background:var(--card)}
.phero.has-art .img.tall{max-height:560px}
.sgrid.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:860px){.sgrid.three{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.sgrid.three{grid-template-columns:1fr}}
/* footer on small screens */
@media (max-width:600px){.fgrid{grid-template-columns:1fr;gap:28px}.fbrand{padding-bottom:8px;border-bottom:1px solid var(--hair)}.fbot{flex-direction:column;gap:8px}}
.fbot a{color:var(--muted)}.fbot a:hover{color:var(--teal)}
@media (max-width:860px){.hide-m{display:none}}
/* articles */
.art{max-width:720px}
.art .prose p{font-size:17px;line-height:1.7;margin-bottom:20px}
.art h2{font-size:clamp(24px,2.6vw,32px);margin:44px 0 14px}
.art h3{font-size:20px;margin:30px 0 10px}
.art ul,.art ol{padding-left:22px;margin:0 0 20px}
.art li{font-size:16.5px;line-height:1.65;margin-bottom:8px}
.keynum{background:var(--band);border-radius:22px;padding:26px 28px;margin:32px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.keynum div b{display:block;font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.03em;color:var(--teal);line-height:1}
.keynum div span{display:block;font-size:13.5px;color:var(--body);margin-top:8px}
@media (max-width:640px){.keynum{grid-template-columns:1fr}}
.byline{display:flex;gap:14px;align-items:center;font-size:14px;color:var(--muted);margin-top:22px;flex-wrap:wrap}
.byline b{color:var(--ink);font-weight:600}
.srcs{border-top:1px solid var(--hair);margin-top:48px;padding-top:22px;font-size:14px;color:var(--muted)}
.srcs ol{padding-left:18px}.srcs li{margin-bottom:6px;font-size:14px}
.agrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.acard{display:flex;flex-direction:column;gap:10px;border:1px solid var(--hair);border-radius:22px;overflow:hidden;background:var(--card);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.acard:hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}
.acard .img{border-radius:0;aspect-ratio:16/9;min-height:0}
.acard .ab{padding:6px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.acard h3{font-size:19px}
.acard p{font-size:14.5px;color:var(--body);flex:1}
.acard .meta{font-size:12.5px;color:var(--muted)}
@media (max-width:900px){.agrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.agrid{grid-template-columns:1fr}}
.art .tbl td{font-size:14.5px}
.art .tbl td:first-child{white-space:normal}
@media (max-width:540px){.scell{min-height:0;padding:20px 20px 22px}.scell h3{margin-top:4px}}

/* ---- v4 polish ---- */
/* numbers: one colour */
.fact b{color:var(--teal)}.fact b em{color:inherit}
.keynum div b{color:var(--teal)}
/* cards: kicker, title, text on the same rows */
.scell{display:grid;grid-template-rows:auto auto 1fr;align-content:start;gap:10px;min-height:0}
.scell h3{margin-top:0}
.svcc{display:grid;grid-template-rows:auto auto 1fr auto;gap:12px}
.svcc p{margin:0}
.acard .ab{display:grid;grid-template-rows:auto auto 1fr auto;gap:8px}
.door{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:12px}
.door .pill{margin-top:8px}
.pt{display:grid;grid-template-rows:auto auto 1fr;gap:10px}
.pt h4{min-height:0;display:block}
/* vertical rhythm: every section carries the same padding; heroes the same bottom */
section{padding:clamp(64px,8vw,104px) 0}
section.tight{padding-top:clamp(64px,8vw,104px)}
.hero{padding-bottom:clamp(40px,5vw,64px)}
.phero{padding-bottom:clamp(40px,5vw,64px)}
.close{padding:clamp(72px,9vw,120px) 0}
footer{padding-top:56px}
/* footer: platforms strip + single-colour bottom line */
.plat{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:48px;padding-top:22px;border-top:1px solid var(--hair);font-size:13px;color:var(--muted)}
.plat .pl{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink);margin-right:6px}
.plat span:not(.pl){font-family:var(--display);font-weight:600;color:var(--muted);letter-spacing:-.01em}
.fbot{margin-top:22px;color:var(--muted)}
.fbot a,.fbot .sg{color:var(--muted);font-weight:400}
.fbot a:hover{color:var(--teal)}
.ck a{color:var(--teal);font-weight:600}
.qz .hint{margin-bottom:14px}
.plat{gap:10px 22px}
.plat .pi{display:inline-flex;align-items:center;gap:8px;font-family:var(--text);font-weight:500;font-size:13.5px;color:var(--muted)}
.plat .pi svg{width:18px;height:18px;fill:currentColor;color:var(--muted);flex:none}
.plat .pi:hover,.plat .pi:hover svg{color:var(--ink)}
.art{max-width:min(720px,100%)}
.art .img,.art .img img{max-width:100%}
.art .prose img{max-width:100%;height:auto}
/* audit score gauge */
.gauge{width:100%;max-width:420px;margin:0 auto}
.gwrap{position:relative}
.garc{width:100%;height:auto;display:block;overflow:visible}
.garc .gbg{fill:none;stroke:var(--hair);stroke-width:10;stroke-linecap:round}
.garc .gfg{fill:none;stroke:url(#gg);stroke-width:10;stroke-linecap:round;stroke-dasharray:377;stroke-dashoffset:377;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1)}
.gauge.in .gfg{stroke-dashoffset:calc(377 - 377 * var(--v))}
.garc .ticks line{stroke:var(--hair);stroke-width:1.5;stroke-linecap:round}
.garc .ticks line.on{stroke:var(--teal)}
.gval{position:absolute;left:0;right:0;bottom:6%;text-align:center}
.gval b{display:block;font-family:var(--display);font-size:clamp(56px,6vw,76px);font-weight:700;letter-spacing:-.04em;color:var(--ink);line-height:1;font-variant-numeric:tabular-nums}
.gval span{display:block;margin-top:6px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--muted)}
.gpillars{display:grid;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--hair)}
.gpillars div{display:grid;grid-template-columns:72px 1fr 56px;gap:12px;align-items:center}
.gpillars i{font-style:normal;font-size:12.5px;font-weight:600;color:var(--ink)}
.gbar{height:5px;background:var(--hair);border-radius:5px;overflow:hidden}
.gbar b{display:block;height:100%;width:0;border-radius:5px;background:var(--teal);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}
.gauge.in .gbar b{width:var(--w)}
.gpillars em{font-style:normal;font-family:var(--display);font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;font-size:15px}
.gpillars em small{font-weight:500;color:var(--muted);font-size:12px}
.qz .consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;font-weight:500;color:var(--body);border:1px solid var(--hair);border-radius:14px;padding:14px 16px;cursor:pointer}
.qz .consent input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--teal)}
.qz .consent.bad{border-color:#C25555}
.form .consent{display:flex;gap:12px;align-items:flex-start;font-size:14px;font-weight:500;color:var(--body);border:1px solid var(--hair);border-radius:14px;padding:14px 16px;cursor:pointer}
.form .consent input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:var(--teal)}
.form .consent.bad{border-color:#C25555}
