/* ONYX TRAINING site styles. Fonts self-hosted (no Google connection). */
@font-face{font-family:"Teko";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/teko-latin-600-normal.woff2) format("woff2");}
@font-face{font-family:"Teko";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/teko-latin-700-normal.woff2) format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/inter-latin-400-normal.woff2) format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/inter-latin-500-normal.woff2) format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/inter-latin-600-normal.woff2) format("woff2");}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/inter-latin-700-normal.woff2) format("woff2");}

:root{
  --stone:#0E0E10; --stone-deep:#141416; --surface:#17171A; --black:#000;
  --white:#FFFFFF; --off-white:#F4F4F2;
  --ice:#7FD4FF; --ice-deep:#2E8FC4;
  --grey:#8A8A90; --grey-light:#C9C9CE; --grey-mid:#6E6E73; --graphite:#3C3C42;
  --rule-dark:#2A2A30; --rule-light:#D6D6D2;
  --display:"Teko","Arial Narrow",Arial,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --nav-h:64px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{font-family:var(--body);font-size:17px;line-height:1.6;background:var(--stone);color:var(--grey-light);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:var(--white);}
:focus-visible{outline:2px solid var(--ice);outline-offset:3px;}
.skip{position:absolute;left:-9999px;top:8px;background:var(--white);color:var(--stone);padding:10px 16px;z-index:999;font-weight:600;}
.skip:focus{left:16px;}

/* grain: the stone surface */
body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.06;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
header,main,section,footer,nav{position:relative;z-index:1;}

.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px;}
.narrow{max-width:640px;margin-left:auto;margin-right:auto;}
.center{text-align:center;}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);background:rgba(14,14,16,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule-dark);}
.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;}
.nav-links{display:flex;align-items:center;gap:24px;}
.nav-links a.txt{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--grey-light);}
.nav-links a.txt:hover{color:var(--white);}
@media (max-width:560px){.nav-links a.txt.hide-s{display:none;}}
main{padding-top:var(--nav-h);}

/* logo lockup: ONYX with TRAINING set bottom-right, flush with the X */
.lockup{display:inline-flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:var(--white);line-height:1;}
.lockup .o{font-family:var(--display);font-weight:700;font-size:40px;line-height:.8;letter-spacing:1px;}
.lockup .t{font-family:var(--display);font-weight:600;font-size:7.5px;letter-spacing:2px;margin-right:-2px;margin-top:1px;}
.lockup.lg .o{font-size:64px;letter-spacing:1.6px;} .lockup.lg .t{font-size:12px;letter-spacing:3.2px;margin-right:-3.2px;}

/* type */
h1,h2,h3.d,.display{font-family:var(--display);font-weight:700;text-transform:uppercase;color:var(--white);line-height:.9;letter-spacing:.01em;}
h1{font-size:clamp(60px,16vw,128px);}
h2{font-size:clamp(46px,11vw,84px);}
h3.d{font-size:clamp(28px,6vw,36px);font-weight:600;line-height:1;}
.statement{font-family:var(--display);font-weight:700;text-transform:uppercase;color:var(--white);font-size:clamp(50px,13vw,104px);line-height:.88;}
.accent{color:var(--ice);}
.kick{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);margin-bottom:18px;display:block;}
.lead{font-size:18px;color:var(--grey-light);max-width:620px;margin-top:22px;}
.lead.big{font-size:clamp(19px,2.2vw,22px);color:var(--white);}
.center .lead{margin-left:auto;margin-right:auto;}
p+p{margin-top:14px;}
.white{color:var(--white);}

/* slabs */
.slab{padding:88px 0;}
@media (min-width:900px){.slab{padding:128px 0;}}
.slab.surface{background:var(--surface);border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);}
.slab.black{background:var(--black);}
.slab.light{background:var(--off-white);color:var(--graphite);border-top:1px solid var(--rule-light);border-bottom:1px solid var(--rule-light);}
.slab.light h1,.slab.light h2,.slab.light h3.d,.slab.light .statement{color:var(--stone);}
.slab.light .kick{color:var(--grey-mid);}
.slab.light .lead{color:var(--graphite);}
.slab.light .lead.big{color:var(--stone);}
.slab.light a{color:var(--stone);}

/* buttons: square, Teko */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:15px 32px 11px;font-family:var(--display);font-weight:600;font-size:26px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;background:var(--white);color:var(--stone);border:2px solid var(--white);transition:background .15s,color .15s;}
.btn:hover{background:var(--grey-light);border-color:var(--grey-light);color:var(--stone);}
.btn.ghost{background:transparent;color:var(--white);}
.btn.ghost:hover{background:var(--white);color:var(--stone);}
.btn.block{display:flex;width:100%;}
.slab.light .btn{background:var(--stone);color:var(--white);border-color:var(--stone);}
.slab.light .btn:hover{background:var(--graphite);border-color:var(--graphite);}
.slab.light .btn.ghost{background:transparent;color:var(--stone);}
.cta-row{margin-top:32px;display:flex;flex-direction:column;gap:14px;align-items:flex-start;}
.center .cta-row{align-items:center;}
.cta-note{font-size:14px;color:var(--grey);}
.slab.light .cta-note{color:var(--grey-mid);}
@media (max-width:560px){.cta-row .btn{width:100%;}}

/* lists and rules */
.rules{list-style:none;margin-top:32px;}
.rules li{padding:18px 0;border-top:1px solid var(--rule-dark);color:var(--white);}
.rules.x li{display:flex;gap:14px;}
.rules li:last-child{border-bottom:1px solid var(--rule-dark);}
.rules.x li::before{content:"\2715";color:var(--grey);font-weight:700;flex-shrink:0;}
.slab.light .rules li{border-color:var(--rule-light);color:var(--stone);}

.grid{display:grid;gap:1px;background:var(--rule-dark);border:1px solid var(--rule-dark);margin-top:36px;}
.grid>*{background:var(--stone);padding:28px 22px;}
.slab.surface .grid>*{background:var(--surface);}
.slab.light .grid{background:var(--rule-light);border-color:var(--rule-light);}
.slab.light .grid>*{background:var(--off-white);}
.g2{grid-template-columns:1fr 1fr;}
.g2s{grid-template-columns:1fr;}
@media (min-width:700px){.g2s{grid-template-columns:1fr 1fr;}}
@media (min-width:900px){.g4{grid-template-columns:repeat(4,1fr);} .g3{grid-template-columns:repeat(3,1fr);}}
.grid h3{font-family:var(--display);font-weight:600;font-size:28px;line-height:1;text-transform:uppercase;color:var(--white);margin-bottom:10px;}
.slab.light .grid h3{color:var(--stone);}
.grid p{font-size:15px;line-height:1.55;}
.num{font-family:var(--display);font-weight:700;font-size:44px;line-height:.85;color:var(--grey);display:block;margin-bottom:12px;}

/* stats */
.stat .n{font-family:var(--display);font-weight:700;font-size:clamp(44px,11vw,64px);line-height:.85;color:var(--white);}
.stat .l{font-size:13px;margin-top:8px;color:var(--grey-light);}
.slab.light .stat .n{color:var(--stone);} .slab.light .stat .l{color:var(--graphite);}

/* photo sections */
.photo{position:relative;overflow:hidden;background:var(--stone);}
.photo>img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.75);}
.photo .ov{position:absolute;inset:0;}
.photo .wrap{position:relative;z-index:2;}
.hero{min-height:calc(100svh - var(--nav-h));display:flex;align-items:flex-end;padding:96px 0 64px;}
.hero .ov{background:linear-gradient(180deg,rgba(14,14,16,.55) 0%,rgba(14,14,16,.35) 35%,rgba(14,14,16,.88) 75%,rgba(14,14,16,1) 100%);}
@media (min-width:900px){.hero{padding:120px 0 96px;} .hero .ov{background:linear-gradient(100deg,rgba(14,14,16,.92) 0%,rgba(14,14,16,.6) 45%,rgba(14,14,16,.25) 75%),linear-gradient(0deg,rgba(14,14,16,.8),transparent 45%);}}
.band{min-height:70vh;display:flex;align-items:center;padding:88px 0;}
.band .ov{background:linear-gradient(180deg,rgba(14,14,16,.8),rgba(14,14,16,.6) 50%,rgba(14,14,16,.9));}

/* split (coach) */
.split{display:grid;grid-template-columns:1fr;}
.split img{width:100%;height:clamp(380px,100vw,560px);object-fit:cover;object-position:center 25%;filter:saturate(.75);}
.split .copy{padding:64px 20px 88px;}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;} .split img{height:100%;min-height:680px;} .split .copy{padding:110px 64px;display:flex;flex-direction:column;justify-content:center;}}

/* cards */
.card{border:1px solid var(--rule-dark);background:var(--surface);padding:28px 22px;}
.slab.surface .card{background:var(--stone);}
.slab.light .card{background:var(--white);border-color:var(--rule-light);}
.cards{display:grid;gap:16px;margin-top:36px;grid-template-columns:1fr;}
@media (min-width:900px){.cards.c3{grid-template-columns:repeat(3,1fr);} .cards.c2{grid-template-columns:1fr 1fr;}}

/* offer */
.offer{border:2px solid var(--white);background:var(--stone);padding:36px 22px;max-width:640px;margin:36px auto 0;}
.slab.light .offer{border-color:var(--stone);background:var(--white);}
.stack{list-style:none;}
.stack li{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:15px 0;border-top:1px solid var(--rule-dark);color:var(--white);font-size:16px;}
.stack li:last-child{border-bottom:1px solid var(--rule-dark);}
.stack li .v{font-size:13px;color:var(--grey);white-space:nowrap;}
.slab.light .stack li{border-color:var(--rule-light);color:var(--stone);} .slab.light .stack li .v{color:var(--grey-mid);}
.price{font-family:var(--display);font-weight:700;font-size:clamp(72px,20vw,104px);line-height:.85;color:var(--white);}
.price small{font-family:var(--body);font-size:15px;font-weight:400;color:var(--grey);}
.slab.light .price{color:var(--stone);} .slab.light .price small{color:var(--grey-mid);}
.box{border:1px solid var(--rule-dark);padding:24px 20px;margin-top:24px;}
.slab.light .box{border-color:var(--rule-light);}
.box .bt{font-family:var(--display);font-weight:700;font-size:28px;line-height:1;text-transform:uppercase;color:var(--white);margin-bottom:8px;}
.slab.light .box .bt{color:var(--stone);}
.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:var(--white);color:var(--stone);padding:6px 12px;}
.chip{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--white);border:1px solid var(--graphite);padding:8px 14px;}

/* faq */
.faq{margin-top:28px;max-width:820px;}
.faq details{border-top:1px solid var(--rule-dark);}
.faq details:last-child{border-bottom:1px solid var(--rule-dark);}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-weight:600;font-size:17px;color:var(--white);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--grey);font-weight:400;font-size:22px;line-height:1;}
.faq details[open] summary::after{content:"\2212";}
.faq details p{padding:0 0 22px;font-size:16px;}
.center .faq{margin-left:auto;margin-right:auto;text-align:left;}

/* footer */
.foot{border-top:1px solid var(--rule-dark);padding:56px 0 40px;font-size:14px;}
.foot .top{display:flex;flex-direction:column;gap:22px;justify-content:space-between;margin-bottom:28px;}
.foot .tagline{font-family:var(--display);font-weight:700;font-size:34px;line-height:.9;text-transform:uppercase;color:var(--white);}
.foot .links{display:flex;flex-wrap:wrap;gap:12px 24px;}
.foot .links a,.foot .links button{font:inherit;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-light);text-decoration:none;background:none;border:0;cursor:pointer;padding:6px 0;}
.foot .links a:hover,.foot .links button:hover{color:var(--white);}
.foot .meta{border-top:1px solid var(--rule-dark);padding-top:22px;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--grey);}
.foot .legal{font-size:12px;color:var(--grey);margin-top:16px;max-width:820px;line-height:1.6;}
@media (min-width:900px){.foot .top{flex-direction:row;align-items:flex-end;} .foot .meta{flex-direction:row;justify-content:space-between;}}

/* consent banner */
#cc{position:fixed;left:12px;right:12px;bottom:12px;z-index:999;background:var(--surface);border:1px solid var(--graphite);box-shadow:0 24px 64px rgba(0,0,0,.6);padding:22px 20px;display:none;}
#cc.show{display:block;animation:rise .35s cubic-bezier(.2,.7,.2,1);}
#cc .in{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between;}
#cc .tx{flex:1 1 320px;}
#cc .h{display:block;font-family:var(--display);font-weight:700;font-size:30px;line-height:1;text-transform:uppercase;color:var(--white);margin-bottom:6px;}
#cc p{font-size:15px;line-height:1.55;color:var(--grey-light);margin:0;}
#cc p a{color:var(--white);}
#cc .b{display:flex;gap:10px;flex:0 0 auto;width:100%;max-width:380px;}
#cc button{flex:1;min-height:52px;font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border:2px solid var(--white);padding:12px 10px 8px;}
#cc .no{background:transparent;color:var(--white);}
#cc .yes{background:var(--white);color:var(--stone);}
#cc .yes:hover{background:var(--grey-light);border-color:var(--grey-light);}
@media (min-width:900px){#cc{left:auto;right:24px;bottom:24px;max-width:520px;} #cc .b{max-width:none;}}

/* legal pages */
.legalpage{padding:72px 0 96px;}
.legalpage h1{font-size:clamp(48px,10vw,80px);margin-bottom:36px;overflow-wrap:anywhere;hyphens:auto;}
.legalpage h2{font-size:28px;margin:40px 0 10px;}
.legalpage h3{font-weight:600;font-size:17px;color:var(--white);margin:22px 0 6px;}
.legalpage p,.legalpage li{font-size:16px;color:var(--grey-light);}
.legalpage ul{margin:8px 0 8px 20px;}
.legalpage li+li{margin-top:6px;}
.legalpage strong{color:var(--white);font-weight:600;}

/* reveal */
@keyframes rise{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:no-preference){.rv{opacity:0;animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards;}.rv.d2{animation-delay:.12s;}.rv.d3{animation-delay:.24s;}.rv.d4{animation-delay:.36s;}}

/* ice accent: one touch per section */
.lockup .t{color:var(--ice);}
.kick{color:var(--ice);}
.slab.light .kick{color:var(--grey-mid);}
.num{color:var(--ice);}
.slab.light .num{color:var(--ice-deep);}
.slab.light .accent{color:var(--ice-deep);}
.faq summary::after{color:var(--ice);}
.tier li::before{color:var(--ice);}
.chip{border-color:rgba(127,212,255,.45);}
.tag{background:var(--ice);color:var(--stone);}
#cc p a{color:var(--ice);}
a:not(.btn):not(.lockup):hover{color:var(--ice);}

/* ================= premium details ================= */
::selection{background:var(--ice);color:var(--stone);}
html{scrollbar-color:var(--graphite) var(--stone);}
body::-webkit-scrollbar{width:10px;} body::-webkit-scrollbar-track{background:var(--stone);} body::-webkit-scrollbar-thumb{background:var(--graphite);}

/* nav: transparent over the hero, solid once you scroll; ice progress line */
.nav{transition:background .35s ease,border-color .35s ease;}
.overlay-nav .nav:not(.solid){background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
.overlay-nav main{padding-top:0;}
.overlay-nav .hero{min-height:100svh;padding-top:calc(var(--nav-h) + 72px);}
.progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--ice);transform-origin:0 50%;transform:scaleX(0);}

/* buttons: chevron that moves, press feedback */
.btn{gap:14px;transition:background .2s,color .2s,border-color .2s,transform .15s;}
.btn:not(.sm)::after{content:"";width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .25s cubic-bezier(.2,.7,.2,1);flex-shrink:0;}
.btn:not(.sm):hover::after{transform:translate(4px,-2px) rotate(45deg);}
.btn:active{transform:scale(.98);}

/* kicker gets a short ice rule */
.kick{display:inline-flex;align-items:center;gap:12px;}

.center .kick{justify-content:center;}

/* hairline light on dark section tops */
.slab.surface::before,.slab.black::before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(127,212,255,.25),transparent);pointer-events:none;}

/* hero: slow settle on the photo, scroll cue */
@keyframes settle{from{transform:scale(1.08);}to{transform:scale(1);}}
@media (prefers-reduced-motion:no-preference){.hero>img.bg{animation:settle 2.6s cubic-bezier(.2,.7,.2,1) both;}}
.cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--grey-light);text-decoration:none;}
.cue i{display:block;width:1px;height:36px;background:linear-gradient(var(--ice),transparent);position:relative;overflow:hidden;}
@keyframes drip{0%{transform:translateY(-100%);}100%{transform:translateY(100%);}}
@media (prefers-reduced-motion:no-preference){.cue i::after{content:"";position:absolute;inset:0;background:var(--white);animation:drip 1.8s ease-in-out infinite;}}
@media (max-width:899px){.cue{display:none;}}

/* scroll reveal (only applied by JS to content below the fold) */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
.photo.band>img.bg,.split img{transition:transform 1.6s cubic-bezier(.2,.7,.2,1);}
.zoom>img.bg,.split.zoom img{transform:scale(1.08);}
.zoom.in>img.bg,.split.zoom.in img{transform:scale(1);}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}.zoom>img.bg,.split.zoom img{transform:none;}}

/* cards: quiet lift */
.card,.grid>*{transition:border-color .3s,transform .3s,background .3s;}
@media (hover:hover){.card:hover{border-color:var(--grey);transform:translateY(-3px);} .grid>*:hover{background:var(--stone-deep);} .slab.light .grid>*:hover{background:var(--white);} .slab.surface .grid>*:hover{background:var(--stone);}}

/* marquee of ONYX lines */
.marquee{overflow:hidden;border-top:1px solid var(--rule-dark);border-bottom:1px solid var(--rule-dark);background:var(--stone);padding:18px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.marquee .track{display:flex;width:max-content;gap:0;}
.marquee span{font-family:var(--display);font-weight:600;font-size:clamp(26px,4vw,40px);line-height:1;text-transform:uppercase;letter-spacing:.04em;color:var(--white);white-space:nowrap;padding:0 28px;display:inline-flex;align-items:center;gap:56px;}
.marquee span::after{content:"";width:7px;height:7px;background:var(--ice);flex-shrink:0;}
@keyframes slide{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:no-preference){.marquee .track{animation:slide 48s linear infinite;} .marquee:hover .track{animation-play-state:paused;}}

/* faq: soft open */
@keyframes fadeDown{from{opacity:0;transform:translateY(-6px);}to{opacity:1;transform:none;}}
.faq details[open] p{animation:fadeDown .35s ease;}
.faq summary:hover{color:var(--ice);}

/* footer: the tagline owns the bottom */
.foot .tagline{font-size:clamp(48px,9vw,112px);line-height:.86;}

/* sticky mobile CTA */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:150;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(14,14,16,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--rule-dark);display:flex;align-items:center;gap:14px;transform:translateY(110%);transition:transform .35s cubic-bezier(.2,.7,.2,1);}
.sticky.on{transform:none;}
.sticky .s{flex:1;font-size:13px;line-height:1.35;color:var(--grey-light);}
.sticky .s b{display:block;color:var(--white);font-weight:600;font-size:14px;}
.sticky .btn{min-height:48px;padding:12px 18px 8px;font-size:21px;}
@media (min-width:900px){.sticky{display:none;}}

.reveal,.card.reveal,.grid>.reveal{transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}

/* goal cards: ice outline on hover/focus */
.doors .card{border-width:1px;transition:border-color .25s,box-shadow .25s,transform .3s;}
@media (hover:hover){.doors .card:hover{border-color:var(--ice);box-shadow:0 0 0 1px var(--ice);}}
.doors .card:focus-within{border-color:var(--ice);box-shadow:0 0 0 1px var(--ice);}
.doors .card:hover .btn.ghost{border-color:var(--ice);}
@media (max-width:420px){.btn{font-size:22px;letter-spacing:.05em;padding:15px 20px 11px;white-space:nowrap;}}

/* real photos: keep their colour, lighter veils */
.photo>img.bg,.split img{filter:saturate(.95) contrast(1.03);}
.hero .ov{background:linear-gradient(180deg,rgba(14,14,16,.35) 0%,rgba(14,14,16,.1) 30%,rgba(14,14,16,.75) 68%,rgba(14,14,16,1) 100%);}
.band .ov{background:linear-gradient(180deg,rgba(14,14,16,.72),rgba(14,14,16,.42) 50%,rgba(14,14,16,.85));}
@media (min-width:900px){
  .hero>img.bg{left:auto;right:0;width:60%;object-position:center 22%!important;}
  .hero .ov{background:linear-gradient(90deg,var(--stone) 0%,var(--stone) 38%,rgba(14,14,16,.55) 52%,rgba(14,14,16,.05) 75%),linear-gradient(0deg,rgba(14,14,16,.7),transparent 35%);}
}
/* footer: quieter small print */
.foot .links{gap:8px 20px;}
.foot .links a,.foot .links button{font-size:11px;letter-spacing:.12em;}
.foot .meta{font-size:11px;}
.foot .legal{font-size:11px;}
.split{overflow:hidden;}
html{overflow-x:clip;}

/* ================= 30-second check ================= */
.quiz{margin-top:40px;}
.quiz .bar{height:2px;background:var(--rule-dark);margin-bottom:28px;}
.quiz .bar i{display:block;height:100%;background:var(--ice);transition:width .4s cubic-bezier(.2,.7,.2,1);}
.quiz .step{font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--grey);}
.quiz .q{font-family:var(--display);font-weight:700;font-size:clamp(34px,8vw,48px);line-height:.95;text-transform:uppercase;color:var(--white);margin:10px 0 24px;}
.quiz .opts{display:grid;gap:10px;}
@media (min-width:700px){.quiz .opts{grid-template-columns:1fr 1fr;}}
.quiz .opt{font:inherit;font-size:17px;text-align:left;color:var(--white);background:var(--surface);border:1px solid var(--rule-dark);padding:18px 18px;min-height:60px;cursor:pointer;transition:border-color .2s,background .2s,transform .15s;}
.quiz .opt:hover,.quiz .opt:focus-visible{border-color:var(--ice);outline:none;}
.quiz .opt:active{transform:scale(.99);}
.quiz .back{font:inherit;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-light);background:none;border:0;cursor:pointer;margin-top:20px;padding:8px 0;}
.quiz .back:hover{color:var(--ice);}
.quiz .res{border:1px solid var(--grey);background:var(--surface);padding:32px 22px;}
.quiz .res .echo{font-family:var(--display);font-weight:700;font-size:clamp(36px,8.5vw,56px);line-height:.92;text-transform:uppercase;color:var(--white);}
.quiz .res p{font-size:17px;margin-top:16px;}
.quiz .res .rec{border-top:1px solid var(--rule-dark);margin-top:28px;padding-top:24px;}
.quiz .res .rec h3{font-family:var(--display);font-weight:600;font-size:30px;line-height:1;text-transform:uppercase;color:var(--white);}
.quiz .res .rec p{margin-top:8px;font-size:16px;}
.quiz .res .btn{margin-top:22px;}
@keyframes qin{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:no-preference){.quiz .pane{animation:qin .35s cubic-bezier(.2,.7,.2,1);}}
.quiz .opt.multi{position:relative;padding-right:52px;}
.quiz .opt.multi::after{content:"";position:absolute;right:18px;top:50%;width:18px;height:18px;margin-top:-9px;border:1.5px solid var(--grey);}
.quiz .opt[aria-pressed="true"]{border-color:var(--ice);background:var(--stone-deep);}
.quiz .opt[aria-pressed="true"]::after{border-color:var(--ice);background:var(--ice);box-shadow:inset 0 0 0 3px var(--stone-deep);}
.quiz .next{margin-top:20px;width:100%;}
.quiz .next[disabled]{opacity:.35;cursor:not-allowed;}
.quiz-page{padding:56px 0 96px;min-height:70vh;}
.quiz .res .rec p.small{font-size:15px;margin-top:18px;color:var(--grey-light);}
.quiz .res .rec p.small a{color:var(--ice);}
