/* Employment Library — Direction G "Marquee". Mobile-first. */
:root{
  --bk:#0A0908;--ch:#141311;--ch2:#1B1A17;--ash:#2A2825;--line:#33302B;
  --bone:#EDE6DF;--bone2:#D9D3C8;--smoke:#A39E95;--em:#FF5B1F;--em2:#FF7A45;--emd:#C2370A;--ok:#5BD68A;
  --disp:'Big Shoulders Display',Impact,'Arial Narrow',sans-serif;
  --ui:'Barlow',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:16px;--hdr:56px;--tab:64px;--r:6px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
@media (min-width:760px){:root{--pad:32px;--hdr:68px}}
@media (min-width:1200px){:root{--pad:56px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bk);color:var(--bone);font:400 16px/1.5 var(--ui);-webkit-font-smoothing:antialiased;overflow-x:clip;padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom))}
@media (min-width:900px){body{padding-bottom:0}}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,h4,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--em);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--bone);color:var(--bk);padding:10px 14px;border-radius:6px;font-weight:700}
.skip:focus{top:12px}
.disp{font-family:var(--ui);font-weight:600;letter-spacing:-.01em;line-height:1.15}
.eyebrow{font-weight:700;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--em)}
.illus{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--smoke);border:1px dashed #4a453e;border-radius:3px;padding:1px 6px;white-space:nowrap}

/* ---------- Key art system ---------- */
.art{position:absolute;inset:0;overflow:hidden;background:var(--bk);isolation:isolate}
.art img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(.92)}
.art::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(200deg,rgba(255,91,31,0) 30%,rgba(255,91,31,.55));mix-blend-mode:soft-light}
.art .grain{position:absolute;inset:-50%;z-index:2;opacity:.2;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.art.type{background:radial-gradient(120% 90% at 85% 0%,#3b2216 0%,#160f0b 45%,var(--bk) 80%)}
.art.type::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,91,31,.07) 0 1px,transparent 1px 14px)}
.art.type::after{display:none}
.art .num{position:absolute;right:8px;top:6px;font-family:var(--ui);font-weight:600;font-size:clamp(38px,24cqw,150px);line-height:1.15;color:transparent;-webkit-text-stroke:1.5px rgba(255,91,31,.45);letter-spacing:-.01em}
.art .bars{position:absolute;left:12px;top:12px;width:14px;height:18px;background:linear-gradient(var(--em) 0 22%,transparent 22% 39%,var(--em) 39% 61%,transparent 61% 78%,var(--em) 78%);opacity:.9}

/* ---------- Header ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:50;height:calc(var(--hdr) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);transition:background .3s var(--ease),box-shadow .3s}
.hdr::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,8,.85),rgba(10,9,8,0));z-index:-1;transition:opacity .3s}
.hdr.solid{background:rgba(10,9,8,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--ash)}
.hdr.solid::before{opacity:0}
.hin{height:var(--hdr);display:flex;align-items:center;gap:28px;padding:0 var(--pad)}
.logo{display:flex;align-items:center;gap:10px;flex:none}
.logo svg{width:32px;height:32px}
.logo .wm{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.nav{display:none;gap:22px;font-size:15px}
.nav a{color:#cfc9bf;font-weight:500;padding:6px 0}
.nav a[aria-current]{color:#fff;font-weight:700}
.nav a:hover{color:#fff}
.hr{margin-left:auto;display:flex;align-items:center;gap:8px}
.ibtn{width:44px;height:44px;display:grid;place-items:center;border-radius:50%}
.ibtn:hover{background:rgba(255,255,255,.08)}
.freechip{display:none;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--em);border:1px solid rgba(255,91,31,.45);padding:5px 10px;border-radius:3px}
@media (min-width:900px){.nav{display:flex}.freechip{display:inline-block}.logo svg{width:34px;height:34px}.logo .wm{font-size:21px}}
@media (max-width:899px){.hdr .listbtn{display:none}}

/* ---------- Billboard ---------- */
.bb{position:relative;height:clamp(590px,76svh,650px);overflow:hidden;background:var(--bk)}
@media (min-width:900px){.bb{height:min(94vh,900px);min-height:680px}}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s var(--ease),visibility 0s .9s}
.slide.on{opacity:1;visibility:visible;transition:opacity .9s var(--ease)}
.slide .art img{transform:scale(1.06);transition:transform 9s linear}
.slide.on .art img{transform:scale(1)}
.shade{position:absolute;inset:0;z-index:3;background:linear-gradient(0deg,var(--bk) 0%,rgba(10,9,8,.7) 38%,rgba(10,9,8,.15) 70%,rgba(10,9,8,.55) 100%)}
@media (min-width:900px){.shade{background:linear-gradient(90deg,rgba(10,9,8,.94) 0%,rgba(10,9,8,.6) 36%,rgba(10,9,8,0) 66%),linear-gradient(0deg,var(--bk) 0%,rgba(10,9,8,0) 32%)}}
.bbin{position:absolute;z-index:4;left:var(--pad);right:var(--pad);bottom:44px;text-align:center}
@media (min-width:900px){.bbin{right:auto;width:min(640px,48vw);bottom:clamp(150px,20vh,220px);text-align:left}}
.orig{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--bone)}
.orig .oc{display:none}
@media (min-width:900px){.orig .oc{display:inline}}
.orig i{width:14px;height:18px;background:linear-gradient(var(--em) 0 22%,transparent 22% 39%,var(--em) 39% 61%,transparent 61% 78%,var(--em) 78%)}
.lockup{margin-top:14px}
.lockup .pre{display:block;font-family:var(--ui);font-weight:600;font-size:clamp(13px,3.4vw,17px);letter-spacing:-.01em;color:var(--em);margin-bottom:6px}
.lockup .t{display:block;font-family:var(--ui);font-weight:600;line-height:1.15;font-size:clamp(32px,8.5vw,56px);letter-spacing:-.01em;text-wrap:balance}
.lockup .t.long{font-size:clamp(54px,15.5vw,118px)}
.badges{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:16px 0 10px}
@media (min-width:900px){.badges{justify-content:flex-start}}
.free{background:var(--em);color:#160803;font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;border-radius:3px}
.bd{border:1px solid rgba(242,238,230,.42);font-size:12.5px;font-weight:500;padding:3px 8px;border-radius:3px;color:#ddd7cc;white-space:nowrap}
.fit{color:var(--ok);font-weight:800;font-size:14px}
.meta{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 14px;font-size:13.5px;color:#cfc9bf}
@media (min-width:900px){.meta{justify-content:flex-start;font-size:14.5px}}
.meta b{color:var(--bone);font-weight:600}
.logline{margin:12px auto 0;max-width:600px;font-size:15.5px;line-height:1.45;color:#ece7de;text-shadow:0 2px 12px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:900px){.logline{margin-left:0;font-size:19px}}
.btns{display:flex;gap:10px;margin-top:20px;justify-content:center}
@media (min-width:900px){.btns{justify-content:flex-start;gap:12px;margin-top:24px}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 20px;border-radius:6px;font-weight:700;font-size:16px;white-space:nowrap;transition:transform .15s,background .2s}
.btn:active{transform:scale(.97)}
.btn.pri{background:var(--bone);color:var(--bk)}.btn.pri:hover{background:#fff}
.btn.sec{background:rgba(120,114,105,.42);color:#fff;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.btn.sec:hover{background:rgba(140,134,125,.55)}
.btn.em{background:var(--em);color:#160803}
.btn.ghost{border:1px solid var(--line);color:var(--bone)}
.btn svg{width:18px;height:18px;flex:none}
.btns .btn{flex:1 1 0;max-width:200px}
@media (min-width:900px){.btns .btn{flex:none;padding:0 26px;min-height:50px;font-size:17px}}
.btns .info{display:none}
@media (min-width:900px){.btns .info{display:inline-flex}}
.saved .plus{display:none}.btn:not(.saved) .tick{display:none}
.dots{position:absolute;z-index:5;left:0;right:0;bottom:18px;display:flex;justify-content:center;gap:6px}
.dot{width:26px;height:24px;display:grid;place-items:center}
.dot i{display:block;width:100%;height:3px;background:rgba(242,238,230,.3);border-radius:2px;overflow:hidden}
.dot i::after{content:"";display:block;height:100%;width:0;background:var(--bone)}
.dot.on i::after{width:100%;animation:fill var(--dur,8s) linear}
.dot.done i::after{width:100%}
@keyframes fill{from{width:0}to{width:100%}}
.paused .dot.on i::after{animation-play-state:paused}
@media (min-width:900px){
 .dots{left:auto;right:var(--pad);bottom:clamp(160px,21vh,230px);flex-direction:column;gap:2px;width:260px;padding:10px 12px;background:rgba(10,9,8,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:8px}
 .dot{width:100%;height:auto;display:block;text-align:left;padding:7px 0 7px 14px;border-left:2px solid rgba(242,238,230,.18);color:#cfc9bf;font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
 .dot i{display:none}
 .dot span{display:block;width:100%;text-align:left}
 .dot{text-align:left!important;justify-items:start}
 .dot.on{border-left-color:var(--em);color:var(--bone)}
 .dot small{display:block;font-size:11px;letter-spacing:.1em;color:var(--smoke);font-weight:500;text-transform:none}
}
@media (max-width:899px){.dot span{display:none}}

/* ---------- Rows ---------- */
.rows{position:relative;z-index:6;margin-top:-6px}
@media (min-width:900px){.rows{margin-top:clamp(-150px,-15vh,-110px)}}
.row{position:relative;margin:0 0 30px}
@media (min-width:900px){.row{margin-bottom:42px}}
.rh{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding:0 var(--pad);margin-bottom:10px}
.rh h2{font-size:18px;font-weight:700;color:#efeae1;letter-spacing:.005em}
@media (min-width:900px){.rh h2{font-size:22px}}
.rh .sub{font-size:12.5px;color:var(--smoke)}
.rh .all{margin-left:auto;font-size:13px;font-weight:700;color:var(--em);padding:6px 0}
.track{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 var(--pad);padding:4px var(--pad) 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:start;flex:none}
@media (min-width:900px){.track{gap:10px}}
.arw{display:none}
@media (hover:hover) and (min-width:900px){
 .arw{display:grid;place-items:center;position:absolute;z-index:8;top:38px;bottom:10px;width:calc(var(--pad) - 6px);background:rgba(10,9,8,.6);color:#fff;opacity:0;transition:opacity .2s}
 .arw svg{width:26px;height:26px}
 .arw.l{left:0}.arw.r{right:0}
 .row:hover .arw:not([disabled]){opacity:1}
 .arw[disabled]{display:none}
}

/* Tiles */
.tile{position:relative;display:block;width:min(64vw,260px);border-radius:var(--r);container-type:inline-size;transition:transform .25s var(--ease)}
@media (min-width:900px){.tile{width:clamp(240px,21vw,300px)}}
.tile .fr{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:var(--ch)}
.tile.poster{width:min(36vw,160px)}
@media (min-width:900px){.tile.poster{width:clamp(160px,13.5vw,200px)}}
.tile.poster .fr{aspect-ratio:2/3}
.fr::after{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(0deg,rgba(10,9,8,.88),rgba(10,9,8,0) 58%);pointer-events:none}
.lock{position:absolute;left:12px;right:12px;bottom:10px;z-index:5}
.lock .k{display:block;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--em);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lock .n{display:block;font-family:var(--ui);font-weight:600;font-size:clamp(16px,8cqw,21px);line-height:1.15;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.tile.poster .lock .n{font-size:clamp(20px,15cqw,30px)}
.flag{position:absolute;z-index:5;top:8px;left:8px;background:var(--em);color:#160803;font-size:9.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:3px 6px;border-radius:2px}
.tmeta{position:absolute;z-index:5;top:8px;right:8px;background:rgba(10,9,8,.8);font-size:11.5px;font-weight:700;padding:3px 7px;border-radius:3px}
.prog{position:absolute;z-index:6;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.22)}
.prog i{display:block;height:100%;background:var(--em)}
.under{font-size:12.5px;color:var(--smoke);margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile:hover .fr,.tile:focus-visible .fr{box-shadow:0 0 0 2px var(--bone)}
.tile:focus-visible{outline:none}
.savedmark{position:absolute;z-index:6;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--bone);color:var(--bk);display:grid;place-items:center;font-size:13px;font-weight:900}

/* Top 10 — catalogue cards (EL treatment) */
.t10{width:min(46vw,200px)}
@media (min-width:900px){.t10{width:clamp(200px,16vw,230px)}}
.t10 .fr{aspect-ratio:3/4}
.t10 .stamp{position:absolute;z-index:6;left:0;top:0;display:flex;align-items:stretch;background:var(--bk);border-bottom-right-radius:10px;padding:0 12px 4px 8px}
.t10 .stamp b{font-family:var(--ui);font-weight:600;font-size:clamp(46px,30cqw,64px);line-height:1.15;color:var(--em);letter-spacing:-.01em}
.t10 .stamp small{align-self:flex-end;margin:0 0 6px 6px;font-size:9px;font-weight:700;letter-spacing:.14em;line-height:1.2;text-transform:uppercase;color:var(--smoke)}
.t10 .callno{display:flex;justify-content:space-between;margin-top:7px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--smoke);font-weight:600}
.t10 .callno b{color:var(--bone2)}

/* Sponsor + empty + quiz + jobs + categories */
.spon{width:min(64vw,260px)}
@media (min-width:900px){.spon{width:clamp(240px,21vw,300px)}}
.spon .fr{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px 16px;background:repeating-linear-gradient(135deg,#151412 0 12px,#1a1916 12px 24px);border:1.5px dashed #4a453e}
.spon .fr::after{display:none}
.slab{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--em)}
.spon b{font-size:16px;line-height:1.2}.spon p{font-size:12.5px;color:var(--smoke);line-height:1.35}
.spon .lnk{font-size:12.5px;font-weight:700;color:var(--bone);text-decoration:underline;text-underline-offset:3px}
.empty{width:min(80vw,380px);border:1px solid var(--ash);border-radius:var(--r);padding:16px;background:var(--ch);display:flex;gap:14px;align-items:center}
.empty p{font-size:14px;color:var(--bone2);line-height:1.4}.empty .btn{min-height:40px;padding:0 14px;font-size:14px;margin-top:8px}
.quizcta{margin:0 var(--pad) 30px;position:relative;border-radius:10px;overflow:hidden;background:radial-gradient(90% 140% at 100% 0%,#3a1a0c,var(--ch) 60%);border:1px solid var(--ash);padding:20px;display:grid;gap:14px}
@media (min-width:900px){.quizcta{grid-template-columns:1fr auto;align-items:center;padding:28px 32px;margin-bottom:42px}}
.quizcta h2{font-family:var(--ui);font-weight:600;font-size:clamp(26px,6vw,36px);line-height:1.15}
.quizcta p{color:var(--bone2);font-size:15px;margin-top:8px;max-width:560px}
.job{width:min(78vw,300px);border-radius:var(--r);background:var(--ch);border:1px solid var(--ash);padding:14px;display:flex;flex-direction:column;gap:6px;min-height:150px}
.job .jt{font-weight:700;font-size:15.5px;line-height:1.25}
.job .jo{font-size:13px;color:var(--smoke)}
.job .jc{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}
.job .jc span{font-size:11.5px;border:1px solid var(--line);border-radius:3px;padding:2px 7px;color:var(--bone2)}
.job .ex{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--em)}
.job.spj{background:repeating-linear-gradient(135deg,#151412 0 12px,#1a1916 12px 24px);border:1.5px dashed #4a453e}
.cat{width:min(42vw,190px)}
@media (min-width:900px){.cat{width:clamp(180px,14vw,210px)}}
.cat .fr{aspect-ratio:1/1}
.cat .lock .n{font-size:clamp(20px,13cqw,28px)}
.cat .cnt{position:absolute;z-index:5;top:10px;right:10px;font-family:var(--ui);font-weight:600;font-size:22px;color:var(--bone)}

/* ---------- Preview (desktop hover card + mobile sheet) ---------- */
.pv{position:absolute;z-index:70;width:380px;background:var(--ch);border-radius:10px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.8),0 0 0 1px var(--ash);opacity:0;transform:scale(.92);transition:opacity .2s,transform .25s var(--ease);pointer-events:none}
.pv:not(.on){visibility:hidden;transition:opacity .2s,transform .25s var(--ease),visibility 0s .25s}
.pv.on{opacity:1;transform:none;pointer-events:auto}
.pvart{position:relative;aspect-ratio:16/9;container-type:inline-size}
.pvart::after{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(0deg,var(--ch),rgba(20,19,17,0) 60%)}
.pvart .lock{z-index:5}.pvart .lock .n{font-size:40px}
.pvb{padding:14px 16px 16px}
.pvbtn{display:flex;gap:8px;align-items:center}
.pvbtn .btn{min-height:40px;padding:0 16px;font-size:14.5px}
.cbtn{width:40px;height:40px;border-radius:50%;border:2px solid #6b665e;display:grid;place-items:center;color:#fff;flex:none}
.cbtn:hover{border-color:var(--bone)}
.cbtn svg{width:18px;height:18px}
.cbtn.saved{background:var(--bone);color:var(--bk);border-color:var(--bone)}
.pvbtn .more{margin-left:auto}
.pvrow{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0 10px}
.facts{display:grid;gap:5px;font-size:13.5px;margin:0 0 12px}
.facts div{display:grid;grid-template-columns:78px 1fr;gap:8px}
.facts dt{color:var(--smoke)}.facts dd{margin:0}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.tags span{font-size:12px;border:1px solid #3a3732;border-radius:3px;padding:3px 8px;color:#d5cfc4}
.hire{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:13px;padding:6px 11px;border-radius:4px;background:rgba(255,91,31,.12);color:#FF8A5B;border:1px solid rgba(255,91,31,.4)}
.hire i{width:8px;height:8px;border-radius:50%;background:var(--em)}
.hire small{font-weight:500;opacity:.8}
.pvlog{font-size:13.5px;color:var(--bone2);line-height:1.45;margin-bottom:12px}
.scrim{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity .25s}
.scrim.on{opacity:1;pointer-events:auto}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:90;max-height:88svh;overflow:auto;background:var(--ch);border-radius:16px 16px 0 0;transform:translateY(105%);transition:transform .32s var(--ease);padding-bottom:env(safe-area-inset-bottom)}
.sheet:not(.on){visibility:hidden;transition:transform .32s var(--ease),visibility 0s .32s}
.sheet.on{transform:none}
.sheet .grab{width:40px;height:5px;border-radius:3px;background:#4a453e;margin:8px auto 0;position:relative;z-index:6}
.sheet .x{position:absolute;right:10px;top:10px;z-index:7;width:36px;height:36px;border-radius:50%;background:rgba(10,9,8,.7);display:grid;place-items:center}
.sheet .pvart{margin-top:-13px}

/* ---------- Overlays: search / list / quiz ---------- */
.ov{position:fixed;inset:0;z-index:100;background:rgba(10,9,8,.98);display:none;flex-direction:column;overflow:auto}
.ov.on{display:flex}
.ovh{position:sticky;top:0;z-index:2;background:rgba(10,9,8,.96);backdrop-filter:blur(10px);padding:calc(10px + env(safe-area-inset-top)) var(--pad) 12px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--ash)}
.ovh h2{font-family:var(--ui);font-weight:600;font-size:28px;line-height:1}
.ovh .x{margin-left:auto}
.sbox{flex:1;display:flex;align-items:center;gap:10px;background:var(--ch2);border:1px solid var(--line);border-radius:8px;padding:0 12px;height:48px}
.sbox:focus-within{border-color:var(--em)}
.sbox input{flex:1;min-width:0;background:none;border:0;color:var(--bone);font:500 17px var(--ui);outline:none}
.sbox input::placeholder{color:#7d786f}
.ovb{padding:16px var(--pad) 40px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 18px}
.chip{border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;color:var(--bone2);min-height:40px}
.chip:hover,.chip[aria-pressed="true"]{background:var(--bone);color:var(--bk);border-color:var(--bone)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:640px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}}
.grid .tile{width:100%}
.res-meta{font-size:13px;color:var(--smoke);margin-bottom:12px}
.ovempty{color:var(--smoke);padding:30px 0;text-align:center}
.quiz{max-width:860px;margin:0 auto;width:100%;padding:18px var(--pad) 40px;display:flex;flex-direction:column;min-height:100%}
.qbar{height:4px;background:var(--ash);border-radius:2px;overflow:hidden;margin:6px 0 22px}.qbar i{display:block;height:100%;background:var(--em);transition:width .3s}
.qstep{font-size:13px;color:var(--smoke);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.quiz h3{font-family:var(--ui);font-weight:600;font-size:clamp(28px,7vw,44px);line-height:1.15;margin:8px 0 8px}
.quiz .qs{color:var(--bone2);margin-bottom:20px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (min-width:760px){.opts{grid-template-columns:repeat(4,1fr)}}
.opts.one{grid-template-columns:1fr}
@media (min-width:760px){.opts.one{grid-template-columns:1fr 1fr}}
.opt{position:relative;text-align:left;border:2px solid var(--ash);background:var(--ch);border-radius:8px;padding:14px;min-height:64px;font-weight:700;font-size:16px;display:flex;align-items:flex-end;overflow:hidden}
.opt.img{aspect-ratio:4/3;padding:0}
.opt.img .art{position:absolute;inset:0}
.opt.img span{position:relative;z-index:5;padding:10px 12px;font-family:var(--ui);font-weight:600;font-size:22px;line-height:1.15}
.opt.img::after{content:"";position:absolute;inset:0;z-index:4;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 65%)}
.opt[aria-pressed="true"]{border-color:var(--em)}
.opt[aria-pressed="true"]::before{content:"✓";position:absolute;z-index:6;top:8px;right:8px;width:26px;height:26px;border-radius:50%;background:var(--em);color:#160803;display:grid;place-items:center;font-weight:900;font-size:14px}
.qnav{display:flex;gap:10px;margin-top:auto;padding-top:24px}
.qnav .btn{flex:1}
@media (min-width:760px){.qnav{justify-content:flex-end}.qnav .btn{flex:none;min-width:160px}}

/* ---------- Tab bar (mobile) ---------- */
.tabbar{position:fixed;z-index:60;left:0;right:0;bottom:0;display:flex;justify-content:space-around;background:rgba(10,9,8,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--ash);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.tabbar a,.tabbar button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;font-weight:600;color:#8f8a81;min-height:48px;justify-content:center}
.tabbar svg{width:23px;height:23px}
.tabbar [aria-current]{color:#fff}
.tabbar .cnt{position:absolute;margin:-4px 0 0 22px;background:var(--em);color:#160803;font-size:10px;font-weight:800;border-radius:9px;padding:0 5px;line-height:16px}
.tabbar .tb{position:relative;display:flex;flex-direction:column;align-items:center}
@media (min-width:900px){.tabbar{display:none}}

/* ---------- Footer ---------- */
.foot{border-top:1px solid var(--ash);margin-top:20px;padding:36px var(--pad) 30px;background:linear-gradient(180deg,var(--bk),#0d0b0a)}
.fgrid{display:grid;gap:30px}
@media (min-width:900px){.fgrid{grid-template-columns:1.3fr 1fr 1.2fr;gap:48px}}
.foot h3{font-family:var(--ui);font-weight:600;letter-spacing:-.01em;font-size:22px;margin-bottom:10px}
.foot p{color:var(--bone2);font-size:14.5px;line-height:1.55}
.foot .stats{display:flex;gap:22px;margin-top:16px}
.foot .stats b{display:block;font-family:var(--ui);font-weight:600;font-size:40px;line-height:1.15;color:var(--em)}
.foot .stats span{font-size:12px;color:var(--smoke);letter-spacing:.06em;text-transform:uppercase}
.emp{border:1px solid var(--ash);border-radius:10px;padding:18px;background:var(--ch)}
.emp ul{display:grid;gap:6px;margin:10px 0 14px;font-size:14px;color:var(--bone2)}
.emp li::before{content:"";display:inline-block;width:6px;height:6px;background:var(--em);margin-right:9px;vertical-align:middle}
.emp .btns2{display:flex;gap:8px;flex-wrap:wrap}
.emp .btn{min-height:42px;font-size:14.5px;padding:0 16px}
.signup{display:flex;gap:8px;margin-top:12px}
.signup input{flex:1;min-width:0;height:46px;border-radius:6px;border:1px solid var(--line);background:var(--ch2);color:var(--bone);padding:0 12px;font:500 16px var(--ui)}
.signup input:focus{outline:none;border-color:var(--em)}
.note{font-size:12px;color:var(--smoke);margin-top:8px}
.legal{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:34px;padding-top:18px;border-top:1px solid var(--ash);font-size:13px;color:var(--smoke)}
.legal a{text-decoration:underline;text-underline-offset:3px}
.legal .logo .wm{font-size:16px}.legal .logo svg{width:26px;height:26px}
.disclose{font-size:12px;color:#8a857c;line-height:1.5;margin-top:14px;max-width:1000px}

/* toast */
.toast{position:fixed;z-index:120;left:50%;bottom:calc(var(--tab) + 18px + env(safe-area-inset-bottom));transform:translate(-50%,20px);background:var(--bone);color:var(--bk);font-weight:700;font-size:14px;padding:10px 16px;border-radius:6px;opacity:0;pointer-events:none;transition:all .25s var(--ease);white-space:nowrap}
@media (min-width:900px){.toast{bottom:28px}}
.toast.on{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
 .slide .art img{transform:none!important}
}

.flinks{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
@media (min-width:900px){.flinks{grid-template-columns:repeat(4,1fr)}}
.flinks div{display:flex;flex-direction:column;gap:2px}
.flinks b{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--em);margin-bottom:6px}
.flinks a{color:var(--bone2);font-size:14.5px;padding:5px 0}.flinks a:hover{color:#fff}
.page-h{padding:calc(var(--hdr) + 28px + env(safe-area-inset-top)) var(--pad) 18px}
.page-h h1{font-family:var(--ui);font-weight:600;font-size:clamp(30px,7.5vw,48px);line-height:1.15;margin-top:8px}
.page-h p{color:var(--bone2);margin-top:12px;max-width:640px;font-size:16px}
.draft{background:#3a1a0c;border:1px solid var(--em);color:#ffd9c7;padding:10px 14px;border-radius:6px;font-size:14px;font-weight:600;margin:0 var(--pad) 18px;max-width:900px}
select,.inp{background:var(--ch2);border:1px solid var(--line);color:var(--bone);border-radius:6px;height:46px;padding:0 12px;font:500 16px var(--ui)}
textarea.inp{height:auto;padding:10px 12px;min-height:120px}
select:focus,.inp:focus{outline:none;border-color:var(--em)}
.prose{padding:0 var(--pad) 30px;max-width:780px}
.prose h2{font-family:var(--ui);font-weight:600;font-size:28px;margin:26px 0 8px}
.prose p,.prose li{color:var(--bone2);line-height:1.65;font-size:16px;margin-bottom:10px}
.prose ul{list-style:disc;padding-left:22px}.prose a{color:var(--em);text-decoration:underline}

/* Quiet numerals (Matt: no oversized numbers; names + photos lead) */
.art .num{display:none}
.t10 .stamp{left:8px;top:8px;padding:4px 9px;border-radius:999px;background:rgba(10,10,10,.78);backdrop-filter:blur(6px);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bone);line-height:1.2;border-bottom-right-radius:999px}
.t10 .callno{display:none}
.cat .cnt{font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.08em;padding:3px 8px;border-radius:999px;background:rgba(10,10,10,.7);color:var(--bone2)}
.foot .stats{display:block;font-size:13px;color:var(--smoke);letter-spacing:.02em;text-transform:none}
.art picture{display:contents}
.tile:not(.poster):not(.t10) .art.type .bars{display:none}
/* Home intro (value proposition) */
.bb.intro{height:auto;min-height:clamp(600px,88svh,760px);display:flex;align-items:flex-end}
.intro .mos{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;gap:3px;opacity:.55}
.intro .mos .art{position:relative;inset:auto;height:100%}
.intro .mos img{width:100%;height:100%;object-fit:cover}
.intro .shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,9,8,.55) 0%,rgba(10,9,8,.75) 40%,var(--bk) 92%)}
.introin{position:relative;z-index:3;padding:calc(var(--hdr) + 40px) var(--pad) 36px;max-width:720px}
.intro .ih{font-family:var(--ui);font-weight:600;font-size:clamp(28px,7.4vw,46px);line-height:1.12;letter-spacing:-.015em;color:var(--bone);margin:10px 0 12px}
.intro .isub{color:var(--bone2);font-size:17px;line-height:1.5;margin:0 0 22px}
.ben{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px}
.ben li{display:flex;gap:12px;align-items:flex-start;color:var(--smoke);font-size:15px;line-height:1.35}
.ben svg{flex:none;width:34px;height:34px;padding:7px;border-radius:50%;background:rgba(255,91,31,.14);color:var(--em)}
.ben b{display:block;color:var(--bone);font-weight:600;font-size:16px}
.intro .btns{display:flex;flex-wrap:wrap;gap:10px}
@media (min-width:900px){.ben{grid-template-columns:repeat(3,1fr)}.intro .mos{grid-template-columns:repeat(5,1fr)}}

/* Homepage variants B-D */
.hv{position:relative;padding:calc(var(--hdr) + 28px) var(--pad) 30px;max-width:900px;margin:0 auto}
.hv .vh{font-family:var(--ui);font-weight:600;font-size:clamp(26px,7vw,40px);line-height:1.15;letter-spacing:-.01em;color:var(--bone);margin:10px 0 12px}
.hv .vs{color:var(--bone2);font-size:17px;line-height:1.5;margin:0 0 20px}
.hv .vh2{font-family:var(--ui);font-weight:600;font-size:19px;color:var(--bone);margin:28px 0 12px}
.vsearch{display:flex;align-items:center;gap:8px;background:#1a1816;border:1px solid #3a3530;border-radius:14px;padding:6px 6px 6px 14px}
.vsearch svg{width:20px;height:20px;color:var(--bone2);flex:none}
.vsearch input{flex:1;min-width:0;background:none;border:0;color:var(--bone);font:500 17px var(--ui);padding:12px 0;outline:none}
.vsearch .btn{padding:10px 16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.chip{border:1px solid #4a433c;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;color:var(--bone)}
.chip:hover{border-color:#FF5B1F;color:#FF5B1F}
.vnote{color:var(--bone2);font-size:14px}.vnote a{color:#FF5B1F;text-decoration:underline}
.ctiles{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:700px){.ctiles{grid-template-columns:repeat(4,1fr)}}
.ctile{display:block;border-radius:12px;overflow:hidden;background:#161412}
.ctile .ph,.pcard,.sph{position:relative;overflow:hidden}
.ctile .ph{aspect-ratio:16/10}
.ctile .art,.pcard .art,.sph .art{position:absolute;inset:0}
.ctile img,.pcard img,.sph img{width:100%;height:100%;object-fit:cover}
.ctile span{display:block;padding:9px 10px;font-size:14px;font-weight:600;color:var(--bone)}
.steps{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:14px}
.steps li{display:flex;gap:14px;align-items:flex-start;background:#161412;border-radius:14px;padding:12px}
.sph{width:84px;height:84px;border-radius:10px;flex:none}
.steps .sk{display:block;color:#FF5B1F;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.steps b{display:block;font-size:17px;font-weight:600;color:var(--bone);margin:2px 0 4px}
.steps p{margin:0 0 6px;color:var(--bone2);font-size:14.5px;line-height:1.45}
.steps .lnk,.pcard .lnk{color:#FF5B1F;font-size:14px;font-weight:600}
.hv .btns{display:flex;flex-wrap:wrap;gap:10px}
.pgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 22px}
@media(min-width:700px){.pgrid{grid-template-columns:repeat(3,1fr)}}
.pcard{display:block;aspect-ratio:3/4;border-radius:14px;background:#161412}
.pcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(10,9,8,.85))}
.pcard .pn{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;font-weight:600;font-size:16px;color:var(--bone)}
.pcard.qz{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:14px;background:linear-gradient(160deg,#2a1810,#FF5B1F33);border:1px solid #FF5B1F55}
.pcard.qz::after{display:none}
.pcard.qz b{font-size:18px;font-weight:600;color:var(--bone);line-height:1.25}
.hv~.rows{margin-top:0!important}
