/* OlaCEO v5: bright, airy, sky and white (after Jason's AUREO reference).
   One face (Manrope, light headlines), white ground, one soft tone step, deep-sky accent, real daylight photography.
   Rounded photo cards, pill actions, soft dividers only on real lists, tables and the FAQ. */
@font-face{font-family:"Manrope";src:url(/fonts/manrope.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}

:root{
  --white:#FFFFFF; --mist:#F2F6F9; --mist-2:#E6EEF4;
  --ink:#121820; --ink-2:#46525E;
  --sky:#1C6A94; --sky-2:#155578; --sky-wash:#DCEBF4;
  --on-photo:#FFFFFF;
  --line:#DCE3E9;
  --err:#A3261A;
  --font:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --m:clamp(20px, 4vw, 64px);
  --gap:clamp(96px, 11vw, 168px);
  --r:22px; --r-s:16px;
  --ease:cubic-bezier(.19,1,.22,1);
  --t-h1:clamp(2.625rem, 5.4vw, 5rem);
  --t-h2:clamp(2rem, 3.4vw, 3.125rem);
  --t-st:clamp(1.25rem, 1.6vw, 1.5rem);
  --t-body:1.0625rem;
  --t-small:.9375rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:84px;background:var(--white);color-scheme:light}
body{margin:0;background:var(--white);color:var(--ink);font:400 var(--t-body)/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{display:block;max-width:100%}
[hidden]{display:none!important}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.24em}
a:hover{color:var(--sky)}
::selection{background:var(--sky-wash);color:var(--ink)}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.on-photo :focus-visible{outline-color:var(--white)}
h1,h2,h3{font-family:var(--font);margin:0;text-wrap:balance}
h1{font-size:var(--t-h1);font-weight:300;line-height:1.04;letter-spacing:-.03em}
h2{font-size:var(--t-h2);font-weight:400;line-height:1.1;letter-spacing:-.025em}
h3{font-size:1.25rem;font-weight:600;line-height:1.3;letter-spacing:-.01em}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--white);padding:12px 18px;border-radius:999px;font-weight:600}
.skip:focus{top:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* frame */
.wrap{width:100%;max-width:1360px;margin:0 auto;padding:0 var(--m)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px)}
section{position:relative}
.sec{padding:var(--gap) 0}
.mist{background:var(--mist)}
.lede{font-size:var(--t-st);line-height:1.45;color:var(--ink-2);max-width:34ch;margin-top:20px}
.body{max-width:60ch}
.head-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:clamp(16px,2vw,32px);align-items:end;margin-bottom:clamp(40px,4.4vw,64px)}
.head-row h2{grid-column:1/7}
.head-row p{grid-column:9/13;margin:0;color:var(--ink-2);max-width:38ch}
.center{text-align:center}
.center .lede{margin-left:auto;margin-right:auto}
@media (max-width:900px){.head-row h2,.head-row p{grid-column:1/-1}.head-row p{margin-top:16px}}

/* photos: real daylight photography, rounded cards */
.ph{position:relative;overflow:hidden;border-radius:var(--r);background:var(--mist-2)}
.ph img{width:100%;height:100%;object-fit:cover}

/* nav: plain bar; white over the hero photo, white bar once scrolled */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;color:var(--ink);background:var(--white);transition:background-color .4s var(--ease),color .4s var(--ease)}
.has-photo-hero .nav{background:transparent;color:var(--on-photo)}
.has-photo-hero .nav.scrolled{background:var(--white);color:var(--ink)}
main{display:block}
body:not(.has-photo-hero) main{padding-top:72px}
.nav-in{display:flex;align-items:center;gap:clamp(16px,2.4vw,40px);min-height:72px}
.brand{display:flex;align-items:center;min-height:44px;color:inherit;margin-right:auto}
.brand .wordmark{height:15px;width:auto}
.nav-links{display:flex;gap:clamp(18px,2.2vw,34px);list-style:none;margin:0;padding:0}
.nav-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-weight:500;font-size:.9375rem;color:inherit}
.nav-links a:hover,.nav-links a[aria-current="page"]{text-decoration:underline;text-underline-offset:.5em}
.nav-menu{display:none}
.has-photo-hero .nav:not(.scrolled) .nav-cta{background:var(--white);color:var(--ink)}
@media (max-width:900px){
  .nav-links{display:none}
  .nav-in{min-height:64px;gap:10px}
  .brand .wordmark{height:13px}
  .nav-menu{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 6px;background:none;border:0;color:inherit;font:600 1rem var(--font);cursor:pointer}
  .nav .btn{min-height:44px;padding:0 18px;font-size:.9375rem}
  body:not(.has-photo-hero) main{padding-top:64px}
}
/* mobile menu sheet (v5.3): header row matches the nav bar, links start right under it, CTA directly below the links, no dead space */
.sheet{position:fixed;inset:0;z-index:60;background:var(--white);color:var(--ink);display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:env(safe-area-inset-top);padding-bottom:calc(24px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .32s var(--ease),transform .5s var(--ease),visibility 0s linear .5s}
.sheet.open{opacity:1;visibility:visible;transform:none;transition:opacity .32s var(--ease),transform .5s var(--ease),visibility 0s}
.sheet-top{display:flex;align-items:center;justify-content:space-between;min-height:64px;flex:none}
.sheet-top .brand{margin:0}
.sheet-top .wordmark{height:13px;width:auto}
.sheet-close{display:inline-flex;align-items:center;gap:8px;min-height:44px;min-width:44px;margin-right:-6px;padding:0 6px;background:none;border:0;color:inherit;font:600 1rem var(--font);cursor:pointer}
.sheet-close svg{width:22px;height:22px}
.sheet-body{display:flex;flex-direction:column;padding-top:clamp(20px,4vh,40px)}
.sheet-links{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.sheet-links li{border-bottom:1px solid var(--line)}
.sheet-links a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;font:300 clamp(1.875rem,8.4vw,2.5rem)/1.1 var(--font);letter-spacing:-.025em;text-decoration:none;color:inherit}
.sheet-links a svg{width:24px;height:24px;flex:none;color:var(--ink-2);transition:transform .3s var(--ease),color .3s var(--ease)}
.sheet-links a:hover svg,.sheet-links a:focus-visible svg{transform:translateX(4px);color:var(--sky)}
.sheet-links a[aria-current="page"] span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.sheet-cta{margin-top:28px;width:100%;min-height:56px;font-size:1.0625rem}
.sheet-foot{display:flex;flex-wrap:wrap;gap:8px 20px;margin:24px 0 0;font-size:var(--t-small);color:var(--ink-2)}
.sheet-foot a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.sheet-links li,.sheet-cta,.sheet-foot{opacity:0;transform:translateY(10px);transition:opacity .4s var(--ease),transform .6s var(--ease)}
.sheet.open .sheet-links li,.sheet.open .sheet-cta,.sheet.open .sheet-foot{opacity:1;transform:none}
.sheet.open .sheet-links li:nth-child(1){transition-delay:.06s}
.sheet.open .sheet-links li:nth-child(2){transition-delay:.11s}
.sheet.open .sheet-links li:nth-child(3){transition-delay:.16s}
.sheet.open .sheet-cta{transition-delay:.22s}
.sheet.open .sheet-foot{transition-delay:.27s}
html.sheet-lock,html.sheet-lock body{overflow:hidden}
@media (min-width:901px){.sheet{display:none!important}}

/* buttons: flat, fully round, decided once */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;background:var(--ink);color:var(--white);border:0;border-radius:999px;font:600 1rem/1 var(--font);text-decoration:none;cursor:pointer;transition:background-color .3s var(--ease),transform .3s var(--ease);-webkit-tap-highlight-color:transparent}
.btn:hover{background:var(--sky-2);color:var(--white)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn-light{background:var(--white);color:var(--ink)}
.btn-light:hover{background:var(--sky-wash);color:var(--ink)}
.btn-quiet{background:transparent;color:inherit;padding:0 4px;min-height:44px;text-decoration:underline;text-underline-offset:.3em;font-weight:600}
.btn-quiet:hover{background:transparent;color:var(--sky)}
.arrow::after{content:"\2192";font-weight:400}

/* forms */
.capture{display:block;max-width:540px;margin-top:32px}
.field{display:block}
.field-l{display:block;font-weight:600;font-size:.9375rem;margin-bottom:8px}
.field-l em{font-style:normal;font-weight:400;color:var(--ink-2)}
.input{display:block;width:100%;min-height:54px;padding:14px 22px;background:var(--mist);color:var(--ink);border:2px solid transparent;border-radius:999px;font:400 1rem/1.3 var(--font);-webkit-appearance:none;appearance:none;transition:border-color .3s var(--ease)}
.input:focus{border-color:var(--sky);outline:none}
.input::placeholder{color:#5B6772}
textarea.input{border-radius:var(--r-s);min-height:96px;resize:vertical;line-height:1.5}
.input[aria-invalid="true"]{border-color:var(--err)}
.capture .row{display:flex;gap:8px}
.capture .row .input{flex:1;min-width:0}
.capture .row .btn{flex:none}
.msg{min-height:1.5em;margin:10px 0 0;font-weight:600;font-size:.9375rem;color:var(--err)}
.msg.ok{color:inherit}
.fine{font-size:var(--t-small);margin-top:12px;color:var(--ink-2)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:560px){.capture .row{flex-direction:column}.capture .row .btn{width:100%}}
.ok-box h3{margin-bottom:10px}
.ok-box .btn{margin-top:20px}

/* the photo hero: full bleed, centred light headline over the sky */
.hero-photo{position:relative;min-height:min(100svh,960px);display:flex;align-items:flex-start;color:var(--on-photo);overflow:hidden;background:#3E86B0}
.hero-photo .bg{position:absolute;inset:0}
.hero-photo .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 100%}
@media (max-width:900px){.hero-photo .bg img{transform:scale(1.25);transform-origin:50% 0}}
.hero-photo .wrap{position:relative;z-index:1;padding-top:clamp(112px,14vh,168px);padding-bottom:64px;text-align:center}
.hero-photo h1{max-width:15ch;margin:0 auto;text-shadow:0 1px 18px rgba(10,40,62,.28)}
.hero-photo .lede{color:var(--on-photo);max-width:40ch;margin:20px auto 0;font-size:clamp(1.0625rem,1.3vw,1.25rem);text-shadow:0 1px 12px rgba(10,40,62,.35)}
.hero-photo .capture{margin:30px auto 0}
.hero-photo .field-l{text-align:left;padding-left:22px;text-shadow:0 1px 10px rgba(10,40,62,.4)}
.hero-photo .input{background:var(--white)}
.hero-photo .fine{color:var(--on-photo);text-shadow:0 1px 10px rgba(10,40,62,.45)}
.hero-photo .msg{color:var(--white);background:var(--err);display:inline-block;padding:0 12px;border-radius:999px}
.hero-photo .msg:empty{display:none}
@media (max-width:900px){
  .hero-photo{min-height:100svh}
  .hero-photo .wrap{padding-top:96px}
  .hero-photo h1{font-size:clamp(2.5rem,11.4vw,3.5rem)}
  .hero-photo .lede{margin-top:14px}
  .hero-photo .capture{margin-top:22px}
}

/* how it works: three rounded photo cards, asymmetric, label over the photo */
.rungs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1.9fr 1fr 1fr;gap:clamp(12px,1.4vw,20px)}
.rungs li{display:flex}
.rung{position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-height:clamp(420px,40vw,560px);border-radius:var(--r);overflow:hidden;color:var(--on-photo);text-decoration:none;background:var(--ink)}
.rung picture,.rung img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rung img{transition:transform 1.2s var(--ease)}
.rung:hover img{transform:scale(1.03)}
.rung:hover{color:var(--on-photo)}
.rung-label{position:relative;z-index:1;padding:clamp(20px,2.2vw,32px)}
.rung h3{font-size:clamp(1.375rem,1.8vw,1.75rem);font-weight:500;letter-spacing:-.02em}
.rung p{margin:8px 0 0;max-width:36ch;font-size:.9375rem;line-height:1.5}
.rung-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:18px;font-size:.9375rem}
.rung-go{display:inline-flex;align-items:center;min-height:40px;padding:0 18px;border-radius:999px;background:var(--white);color:var(--ink);font-weight:600}
@media (max-width:900px){.rungs{grid-template-columns:1fr}.rung{min-height:380px}}

/* truth: headline left, photo right */
.split .grid{align-items:center;row-gap:40px}
.split-copy{grid-column:1/6}
.split-media{grid-column:7/13;aspect-ratio:4/3}
.split-media.tall{aspect-ratio:4/5}
.statement{font-size:var(--t-st);line-height:1.45;margin-top:24px;max-width:30ch}
.split-copy .body{margin-top:16px;color:var(--ink-2)}
.split-copy .btn{margin-top:32px}
.split.rev .split-copy{grid-column:8/13;order:2}
.split.rev .split-media{grid-column:1/7;order:1}
@media (max-width:900px){.split-copy,.split-media,.split.rev .split-copy,.split.rev .split-media{grid-column:1/-1;order:0}}

/* the CHEAT guide: centred title, big photo, feature list */
.feature .center{max-width:760px;margin:0 auto clamp(40px,4.4vw,64px)}
.feature .grid{align-items:start;row-gap:40px}
.feature-media{grid-column:1/7;aspect-ratio:5/4}
.feature-list{grid-column:8/13}
.plays{list-style:none;margin:0;padding:0}
.plays li{padding:22px 0;border-bottom:1px solid var(--line)}
.plays li:first-child{padding-top:0}
.plays h3{font-weight:500;font-size:1.25rem}
.plays p{margin:8px 0 0;color:var(--ink-2);max-width:46ch}
.feature .capture{margin-top:32px}
@media (max-width:900px){.feature-media,.feature-list{grid-column:1/-1}}

/* library: two quiet cards */
.shelf-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.shelf-cards li{display:flex}
.card{flex:1;display:flex;flex-direction:column;gap:12px;padding:clamp(28px,3vw,44px);background:var(--mist);border-radius:var(--r);text-decoration:none;color:var(--ink);transition:background-color .4s var(--ease)}
.card:hover{background:var(--sky-wash);color:var(--ink)}
.card-k{font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}
.card h3{font-size:clamp(1.5rem,2.2vw,2rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;max-width:18ch}
.card p{margin:0;color:var(--ink-2);max-width:44ch}
.card-go{margin-top:auto;padding-top:16px;font-weight:600;display:inline-flex;align-items:center;gap:8px}
.card-go::after{content:"\2192";font-weight:400;transition:transform .4s var(--ease)}
.card:hover .card-go::after{transform:translateX(4px)}
.shelf-note{margin:28px 0 0;color:var(--ink-2)}
.shelf-note a{color:var(--sky);font-weight:600}
@media (max-width:720px){.shelf-cards{grid-template-columns:1fr}}

/* the Ola Room facts and the FAQ: soft dividers */
.facts{margin:28px 0 0;padding:0}
.facts div{padding:18px 0;border-bottom:1px solid var(--line)}
.facts div:first-child{border-top:1px solid var(--line)}
.facts dt{font-weight:600;margin-bottom:4px}
.facts dd{margin:0;color:var(--ink-2)}
.steps{margin:0;padding:0 0 0 1.3em}
.steps li+li{margin-top:4px}
.faq-list{max-width:none}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list details:first-child{border-top:1px solid var(--line)}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:14px 0;font-weight:600;font-size:1.0625rem;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"";flex:none;width:36px;height:36px;border-radius:50%;background:var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23121820' stroke-width='1.6'/%3E%3C/svg%3E") center/12px 8px no-repeat;transition:transform .4s var(--ease)}
.faq-list details[open] summary::after{transform:rotate(180deg)}
.faq-list details p{margin:0 0 22px;max-width:68ch;color:var(--ink-2)}

/* letter */
.letter .grid{align-items:center;row-gap:40px}
.letter-portrait{grid-column:1/5;margin:0}
.letter-portrait .ph{aspect-ratio:4/5}
.letter-portrait figcaption{font-size:var(--t-small);margin-top:12px;color:var(--ink-2)}
.letter-copy{grid-column:6/12}
.letter-copy h2{margin-bottom:24px}
.letter-copy p{max-width:58ch}
.letter-copy .sign{font-size:1.75rem;font-weight:300;letter-spacing:-.02em;margin:24px 0 0}
.letter .btn{margin-top:32px}
@media (max-width:900px){.letter-portrait{grid-column:1/-1;max-width:360px}.letter-copy{grid-column:1/-1}}

/* closing CTA over a full-bleed photo (a bright shop before open: ink type, ink pill) */
.closing{position:relative;min-height:min(86svh,760px);display:flex;align-items:flex-start;color:var(--ink);overflow:hidden;background:var(--mist)}
.closing .bg{position:absolute;inset:0}
.closing .bg img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.closing .wrap{position:relative;z-index:1;text-align:center;padding-top:clamp(72px,9vw,128px);padding-bottom:96px}
.closing h2{font-weight:300;font-size:clamp(2.5rem,4.6vw,4.25rem);letter-spacing:-.03em}
.closing p{max-width:40ch;margin:16px auto 0;font-size:1.125rem}
.closing .btn{margin-top:28px}

/* footer (v5.4, Jason 2026-10-22 5:47 PM CT): one centered column. Wordmark (links to Instagram, no @handle text), one muted legal line, copyright, short disclaimer. */
.foot{padding:56px 0 calc(32px + env(safe-area-inset-bottom));font-size:var(--t-small);color:var(--ink-2);text-align:center;border-top:1px solid var(--line)}
.foot-c{display:flex;flex-direction:column;align-items:center}
.foot .foot-mark{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0 10px;color:var(--ink);border-radius:999px;transition:color .3s var(--ease),opacity .3s var(--ease)}
.foot .foot-mark:hover{opacity:.62}
.foot .foot-mark:focus-visible{outline:3px solid var(--sky);outline-offset:3px}
.foot-mark .wordmark{height:14px;width:auto}
.foot-legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 10px;margin:8px 0 0;font-size:.8125rem;color:var(--ink-2)}
.foot-legal a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;color:inherit}
.foot-legal a:hover{color:var(--sky);text-decoration:underline}
.foot-copy{margin:2px 0 0;font-size:.8125rem}
.disclaimer{max-width:62ch;margin:22px auto 0;font-size:.75rem;line-height:1.6;color:var(--ink-2);opacity:.85}
.disclaimer strong{font-weight:600}

/* floating "Book Your 1-on-1 Call" pill: sky, centered, follows the scroll (JS shows it; hidden without JS) */
.float-cta{display:none}
.js .float-cta{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;max-width:calc(100vw - 2 * var(--m));white-space:nowrap;background:var(--sky);color:var(--white);border-radius:999px;font:600 1rem/1 var(--font);text-decoration:none;box-shadow:0 8px 24px rgba(18,24,32,.16);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s linear .5s,background-color .3s var(--ease)}
.js .float-cta.on{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s,background-color .3s var(--ease)}
.js .float-cta:hover{background:var(--sky-2)}
.js .float-cta:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.js .float-cta,.js .float-cta.on{transform:translate(-50%,0);transition:opacity .2s linear,visibility 0s linear .2s}.js .float-cta.on{transition:opacity .2s linear}}

/* video slots (shown only once a URL is set) */
.vsl{position:relative}
.vsl-frame{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--mist-2);border-radius:var(--r)}
.vsl-frame img,.vsl-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vsl-ph{position:absolute;inset:auto 16px 16px 16px;padding:20px 24px;background:var(--white);border-radius:var(--r-s)}
.vsl-ph .vsl-t{font-size:var(--t-st);font-weight:500;margin-bottom:6px}
.vsl-ph p{max-width:52ch;color:var(--ink-2)}
.vsl-bar{display:flex;gap:8px;margin-top:10px}
.vsl-btn{min-height:44px;padding:0 18px;background:var(--mist);color:var(--ink);border:0;border-radius:999px;font:600 .9375rem var(--font);cursor:pointer}
.vsl-btn.vsl-sound{background:var(--ink);color:var(--white)}
.clips{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.clip{aspect-ratio:9/12;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:var(--mist);border-radius:var(--r)}
.clip p{margin:8px 0 0;color:var(--ink-2);font-size:var(--t-small)}
@media (max-width:700px){.clips{grid-template-columns:1fr}.clip{aspect-ratio:auto;min-height:150px}.vsl-frame{aspect-ratio:auto}.vsl-frame picture{display:block;position:relative;aspect-ratio:16/9}.vsl-ph{position:relative;inset:auto;margin:0}}

/* inner-page heroes: split, copy left, panel right */
.page-hero{padding:clamp(48px,7vw,104px) 0 var(--gap)}
.page-hero .grid{row-gap:40px;align-items:start}
.page-hero .intro{grid-column:1/6}
.page-hero .panel{grid-column:7/13}
.page-hero .intro .btn{margin-top:28px}
.after{margin-top:32px;padding:24px 28px;background:var(--mist);border-radius:var(--r-s)}
.after h2{font-size:1.0625rem;font-weight:600;letter-spacing:0;margin:0 0 10px;line-height:1.4}
.intro .ph{margin-top:32px;aspect-ratio:3/2}
@media (max-width:900px){.page-hero .intro,.page-hero .panel{grid-column:1/-1}.page-hero .intro .ph{display:none}}

/* "good step if" list (from the Iles DQ page) */
.fit{margin-top:28px;max-width:46ch}
.fit h3{font-size:1rem;margin-bottom:8px}
.fit ul{margin:0;padding:0 0 0 1.2em;color:var(--ink-2)}
.fit li+li{margin-top:4px}

/* the qualifying quiz: a soft card, one question at a time */
.quiz{background:var(--mist);color:var(--ink);padding:clamp(24px,3vw,44px);border-radius:var(--r)}
.progress{display:flex;align-items:center;gap:16px;margin-bottom:28px;font-weight:600;font-size:.9375rem}
.progress-track{flex:1;height:6px;background:var(--mist-2);border-radius:999px;overflow:hidden}
.progress-fill{display:block;height:100%;width:16%;background:var(--sky);border-radius:999px;transition:width .7s var(--ease)}
.qz{border:0;margin:0;padding:0;min-width:0}
.js .quiz.live .qz{display:none}
.js .quiz.live .qz.cur{display:block}
.quiz-form{display:flex;flex-direction:column}
.quiz-form .msg{margin-top:12px}
.qz legend{font-size:clamp(1.5rem,2.2vw,2rem);font-weight:400;line-height:1.2;letter-spacing:-.02em;padding:0;margin-bottom:22px;max-width:26ch;outline:none}
.qz .hint{color:var(--ink-2);margin:-8px 0 18px;font-size:var(--t-small)}
.opts{display:grid;gap:10px}
.opt{position:relative;display:flex;align-items:center;gap:16px;min-height:62px;padding:14px 20px;background:var(--white);border-radius:var(--r-s);cursor:pointer;transition:background-color .3s var(--ease)}
.opt:hover{background:var(--sky-wash)}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt .dot{flex:none;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 2px #7C8A96}
.opt input:checked+.dot{box-shadow:inset 0 0 0 7px var(--sky)}
.opt:has(input:checked){background:var(--sky-wash)}
.opt input:focus-visible+.dot{outline:3px solid var(--sky);outline-offset:3px}
.opt span:last-child{font-size:1.0625rem}
.qz .field{margin-bottom:16px}
.qz .input{background:var(--white)}
.input-short{min-height:84px}
.qz-go{width:100%;margin-top:6px}
.qz-nav{display:flex;justify-content:space-between;margin-top:auto;padding-top:24px}
.btn-text{min-height:44px;padding:0 4px;background:none;border:0;color:inherit;font:600 1rem var(--font);text-decoration:underline;text-underline-offset:.3em;cursor:pointer}
.btn-text:hover{color:var(--sky)}
.btn-text[disabled]{opacity:.6;cursor:progress}
.qz-nav .btn-text[disabled]{visibility:hidden}
.qz-nav [hidden]{display:block!important;visibility:hidden}
.result{min-height:var(--qz-h,520px);outline:none}
.result h2{font-size:clamp(1.75rem,2.6vw,2.5rem);margin-bottom:16px}
.result .lede{font-size:1.0625rem;margin:0 0 24px;max-width:44ch}
.result .btn{width:100%}
.result-more{list-style:none;margin:20px 0 0;padding:0}
.result-more li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:44px}
.result-more a{font-weight:600;color:var(--sky)}
.result-more .msg{margin:0}
.result-wait{margin:0;padding:18px 20px;background:var(--white);border-radius:var(--r-s)}
.lane p{margin:0 0 20px;padding:18px 20px;background:var(--white);border-radius:var(--r-s)}
.lane b{font-weight:700}
.quiz-h{font-size:clamp(1.5rem,2vw,1.875rem);margin-bottom:6px}
.quiz-sub{color:var(--ink-2);margin:0 0 20px}
.clips-slot{margin-top:20px}
@media (max-width:900px){.quiz{margin:0 calc(-1 * var(--m));border-radius:0;padding:28px var(--m) 24px}.page-hero .after{display:none}}

/* motion: one entrance, from visible */
@media (prefers-reduced-motion:no-preference){
  .js .rise{animation:rise 1.1s var(--ease) both}
  .js .rise-2{animation-delay:.08s}.js .rise-3{animation-delay:.16s}
  @keyframes rise{from{opacity:.001;transform:translate3d(0,16px,0)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* utilities (CSP: no inline styles) */
.m0{margin:0}.mt-xs{margin-top:12px}.mt-s{margin-top:20px}.mt{margin-top:24px}.mt-l{margin-top:36px}.pb{padding-bottom:64px}
.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:90;max-width:560px;margin:0 auto;background:var(--white);color:var(--ink);padding:18px 20px;border-radius:var(--r-s);box-shadow:0 12px 40px rgba(18,24,32,.18);display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;font-size:var(--t-small)}
.consent p{margin:0;flex:1 1 260px}
.consent .btn{min-height:44px;padding:0 18px}
@media (max-width:900px){.home .nav-cta,.page-cheat .nav-cta{display:none}}
.page-welcome .nav-cta,.page-guide .nav-cta{display:none}
.welcome-next .side{grid-column:8/13;background:var(--white);margin-top:0;align-self:center}
.welcome-next .side .btn-quiet{margin-top:12px}
.foot .brand{margin:0;color:var(--ink)}
@media (max-width:900px){.welcome-next .side{grid-column:1/-1}}

/* v5 Haynes pass: focused qualify page, inline scheduler, what-happens-next */
.wrap.narrow{max-width:760px}
.apply-top{text-align:left}
.apply-top h1{font-size:clamp(2.25rem,4.4vw,3.75rem)}
.apply-top .lede{max-width:46ch}
.apply-vsl{margin:32px 0 0}
.apply-top .panel{margin-top:32px}
.next-block{margin-top:28px;padding:24px 28px;background:var(--white);border-radius:var(--r-s)}
.next-block h2,.next-block h3{font-size:1.125rem;font-weight:600;letter-spacing:0;line-height:1.4;margin:0 0 12px}
.next-block .check{margin:16px 0 0;color:var(--ink-2)}
.next-block .check a,.result-more a{color:var(--sky);font-weight:600;text-underline-offset:3px}
.welcome-what .next-block{background:var(--mist);margin-top:0}
.sched{margin:0 0 8px;border-radius:var(--r-s);overflow:hidden;background:var(--white)}
.sched iframe{display:block;width:100%;height:700px;border:0}
.result .vsl{margin-top:24px}
.clips-in{grid-template-columns:1fr}
@media (max-width:900px){.next-block{padding:20px}.apply-top .panel{margin-top:24px}}
.page-apply .nav-cta{display:none}

/* optional phone on the qualified result */
.phone-opt{margin:0 0 20px;padding:22px 24px;background:var(--white);border-radius:var(--r-s)}
.phone-opt h3{font-size:1.125rem;font-weight:600;letter-spacing:0;line-height:1.4;margin:0 0 4px}
.phone-opt .soft{font-weight:400;color:var(--ink-2);font-size:var(--t-small);margin-left:6px}
.phone-opt .fine{margin:0 0 14px}
.phone-opt .field{margin-bottom:12px}
.phone-opt .input{background:var(--mist)}
.consent-row{display:flex;gap:12px;align-items:flex-start;min-height:44px;margin:0 0 16px;font-size:var(--t-small);line-height:1.5;color:var(--ink-2);cursor:pointer}
.consent-row input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--ink)}
.phone-opt .btn{width:100%}
.phone-done{margin:0 0 20px;padding:18px 20px;background:var(--white);border-radius:var(--r-s);outline:none}

/* Page A (/apply, License and Scale pattern): wordmark-only header, numbered steps, no footer links */
.nav-min .brand{margin:0 auto}
/* step header: logo left, counter optically dead center (3-column grid with equal side tracks) */
.nav-min-in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.nav-min .nav-min-in .brand{margin:0;justify-self:start}
.nav-count{justify-self:center;font:600 .9375rem/1 var(--font);letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--ink-2);opacity:0;transition:opacity .3s var(--ease)}
.nav-count.on{opacity:1}
.nav-count .of{color:#8A96A2;font-weight:500}
.nav-min-pad{justify-self:end}
.step-label{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:clamp(20px,3vw,32px) 0 14px;font-size:.8125rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-align:center}
.step-tag{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--sky);color:var(--white);letter-spacing:.06em}
.step-next{text-transform:none;letter-spacing:0;font-weight:600;font-size:.9375rem;color:var(--ink-2)}
.step-next .step-tag{text-transform:uppercase;font-size:.8125rem}
.step-cta{text-align:center}
.anchor{position:relative;top:-90px;display:block;height:0}
.rung::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(18,24,32,.86) 0%,rgba(18,24,32,.6) 38%,rgba(18,24,32,0) 72%);pointer-events:none}
.sched-cal{min-height:520px;padding:4px 0}
.sched-cal-in{width:100%;min-height:500px}
.sched-wait{padding:20px}

/* legal pages (privacy, terms) */
.legal h2{margin:2rem 0 .5rem;font-size:1.25rem}
.legal ul{margin:.5rem 0 1rem 1.25rem;list-style:disc}
.legal li{margin:.35rem 0}
.legal p{margin:.5rem 0 1rem}

/* v5.1 polish (2026-10-21): footer disclaimer grid, inputs on mist, closing contrast */
.disclaimer h2{grid-column:1;grid-row:1/span 2}
.disclaimer p{grid-column:2}
@media (max-width:860px){.disclaimer h2,.disclaimer p{grid-column:1;grid-row:auto}}
.mist .input,.after .input{background:var(--white)}
.closing .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.78) 32%,rgba(255,255,255,0) 62%)}
.welcome-what{padding:clamp(48px,6vw,96px) 0}
.eyebrow{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px}

/* /guide: the CHEAT guide, delivered */
.guide-hero{min-height:min(92svh,860px)}
.guide-hero .guide-rule{margin:22px auto 0;font-weight:600;font-size:1.0625rem;text-shadow:0 1px 12px rgba(10,40,62,.35)}
.lane-jump{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:30px}
.lane-jump a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 8px;background:rgba(255,255,255,.94);color:var(--ink);border-radius:999px;font-weight:600;font-size:.9375rem;text-decoration:none;transition:background-color .3s var(--ease)}
.lane-jump a:hover{background:var(--white);color:var(--sky)}
.lane-jump span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--sky);color:var(--white);font-size:.8125rem;letter-spacing:.02em}
.glane .grid{row-gap:40px;align-items:start}
.lane-copy{grid-column:1/6}
.lane-steps{grid-column:7/13;padding-top:6px}
.glane.rev .lane-copy{grid-column:8/13;order:2}
.glane.rev .lane-steps{grid-column:1/7;order:1}
.lane-n{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);margin:0 0 16px}
.glane h2{max-width:16ch}
.glane .statement{color:var(--ink-2);max-width:36ch}
.lane-media{margin-top:36px;aspect-ratio:4/3}
.lane-steps>h3{font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.nsteps{list-style:none;margin:0;padding:0;counter-reset:n}
.nsteps li{counter-increment:n;position:relative;padding:22px 0 22px 64px;border-bottom:1px solid var(--line);font-size:1.0625rem;line-height:1.55}
.nsteps li::before{content:counter(n);position:absolute;left:0;top:18px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--sky-wash);color:var(--sky-2);font-weight:700;font-size:.9375rem}
.mist .nsteps li::before{background:var(--white)}
.clean{margin-top:32px;padding:24px 28px;background:var(--mist);border-radius:var(--r-s)}
.clean h3{font-size:1rem;margin-bottom:10px}
.clean ul{margin:0;padding:0 0 0 1.2em;color:var(--ink-2)}
.clean li+li{margin-top:6px}
.guide-next h2{margin:0 auto;max-width:18ch}
.guide-next .lede{margin:20px auto 0;max-width:44ch}
.guide-next .btn{margin-top:32px}
.guide-alt{margin:22px 0 0;color:var(--ink-2)}
.guide-alt a{color:var(--sky);font-weight:600}
.guide-next .fine{margin-top:28px}
@media (max-width:900px){
  .lane-copy,.lane-steps,.glane.rev .lane-copy,.glane.rev .lane-steps{grid-column:1/-1;order:0}
  .lane-media{margin-top:28px}
  .nsteps li{padding-left:56px}
}

/* doc pages: /booked, /rebook, /privacy, /terms share one calm reading layout */
.doc{padding:clamp(56px,8vw,120px) 0 var(--gap)}
.doc h1{font-size:clamp(2.5rem,5vw,4.25rem)}
.doc .lede{max-width:40ch}
.doc .next-block{background:var(--mist);padding:28px 32px;margin-top:32px}
.doc .next-block .steps li+li{margin-top:8px}
.legal{font-size:1rem}
.legal>p,.legal li{color:var(--ink-2)}
.legal h2{margin:2.75rem 0 .75rem;font-size:1.375rem;font-weight:500;letter-spacing:-.01em;color:var(--ink)}
.legal strong{color:var(--ink)}
.legal ul{padding-left:0}

/* v5.2 short one-pager (Jason 2026-10-21: benchmarked against Iles, Haynes, License and Scale funnel pages) */
.hero-cta{margin-top:32px;display:flex;flex-direction:column;align-items:center;gap:0}
.hero-cta .btn{min-width:min(320px,100%)}
.hero-cta .fine{margin-top:14px;color:var(--on-photo);text-shadow:0 1px 10px rgba(10,40,62,.45)}
.hero-alt{margin:6px 0 0;font-size:var(--t-small);text-shadow:0 1px 10px rgba(10,40,62,.45)}
.hero-alt a{font-weight:600;color:var(--on-photo)}
.hero-alt a:hover{color:var(--on-photo);text-decoration-thickness:2px}
.ticks{list-style:none;margin:28px 0 0;padding:0}
.ticks li{position:relative;padding:16px 0 16px 40px;border-bottom:1px solid var(--line);font-size:1.0625rem;line-height:1.5}
.ticks li:first-child{border-top:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:4px;top:21px;width:18px;height:10px;border-left:2px solid var(--sky);border-bottom:2px solid var(--sky);transform:rotate(-45deg)}
.who .body{margin-top:24px;color:var(--ink-2)}
.letter .eyebrow{color:var(--sky)}
.faq-title{margin-bottom:clamp(28px,3vw,44px)}
.faq-list details p a{color:var(--sky);font-weight:600}
.inside h2{margin-bottom:12px}
.inside-foot{margin:28px 0 0;font-weight:600}
.inside-foot a{color:var(--sky)}
.inside.sec{padding:clamp(64px,8vw,120px) 0}
.page-booked .nav-cta,.page-rebook .nav-cta,.page-cheat .nav-cta{display:none}

/* /guide v2 (2026-10-22): Step 1, pick your offer, then the lanes applied to it */
.goffer-head{max-width:720px}
.goffer-head h2{margin-top:0}
.goffer .statement{max-width:46ch;color:var(--ink)}
.goffer-p{margin-top:16px;max-width:52ch;color:var(--ink-2);font-size:1.0625rem}
.gquote{margin:28px 0 0;padding:20px 24px;border-left:3px solid var(--sky);background:var(--mist);border-radius:0 var(--r-s) var(--r-s) 0;max-width:640px;color:var(--ink-2)}
.gquote p{margin:0}
.gquote strong{color:var(--ink);font-weight:600}
.gquote footer{margin-top:8px;font-size:var(--t-small);font-weight:600;color:var(--ink)}
.gprompt{margin-top:clamp(40px,5vw,64px);max-width:820px;background:var(--ink);color:var(--white);border-radius:var(--r);padding:clamp(24px,3.4vw,40px)}
.gprompt .lane-n{color:#8FC3E2}
.gprompt-t{font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.55;margin:0}
.gprompt-t span{color:#8FC3E2;font-weight:600}
.gprompt .fine{color:#B8C4CF;margin-top:18px}
.ghow{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:820px}
.ghow li{border-top:2px solid var(--sky);padding-top:14px;color:var(--ink-2)}
.ghow strong{display:block;color:var(--ink);margin-bottom:4px}
.gex-h{margin-top:clamp(56px,7vw,96px);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;letter-spacing:-.02em}
.gex{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gex li{background:var(--mist);border-radius:var(--r-s);padding:20px 22px}
.gex .lane-n{margin-bottom:8px}
.gex p{margin:0}
.gex .fx{margin-top:8px;color:var(--ink-2);font-size:var(--t-small)}
.gex .fx strong{color:var(--ink)}
.gcommit{margin-top:clamp(40px,5vw,64px);max-width:820px;border:1.5px solid var(--ink);border-radius:var(--r);padding:clamp(24px,3.4vw,40px)}
.gcommit h3{font-size:clamp(1.375rem,2vw,1.75rem);font-weight:600;letter-spacing:-.015em}
.gcommit h3 span{color:var(--sky)}
.gcommit dl{margin:20px 0 0}
.gcommit dl div{display:grid;grid-template-columns:minmax(0,210px) 1fr;gap:12px;align-items:end;padding:14px 0 0}
.gcommit dt{font-weight:600;font-size:var(--t-small)}
.gcommit dd{margin:0;height:28px;border-bottom:1px solid var(--ink-2)}
.gcommit-s{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-2);line-height:2}
.gcommit-s i{display:inline-block;width:min(150px,24vw);height:16px;border-bottom:1px solid var(--ink-2);vertical-align:baseline}
.gcommit .fine{margin-top:14px}
.gyours{display:inline-flex;align-items:center;gap:12px;margin:20px 0 0;padding:10px 18px;background:var(--sky-wash);color:var(--sky-2);border-radius:999px;font-weight:600;font-size:var(--t-small)}
.gyours i{display:inline-block;width:min(220px,40vw);height:14px;border-bottom:1px solid var(--sky-2)}
@media (max-width:900px){.ghow,.gex{grid-template-columns:1fr}.gcommit dl div{grid-template-columns:1fr;gap:4px}.gcommit dd{height:24px}}
@media print{.goffer,.gcommit{break-inside:avoid}}

/* v5.5 polish (2026-10-22): doc pages (/booked, /prep) read as calm sections, not grey boxes; quiz result links align. */
.doc .next-block{background:none;border-radius:0;padding:36px 0 0;margin-top:44px;border-top:1px solid var(--line)}
.doc .apply-vsl:empty + .next-block,.doc .lede + .next-block{margin-top:40px}
.doc .next-block h2{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0 0 20px}
.doc .next-block p{color:var(--ink-2);line-height:1.6;margin:0}
.doc .next-block p + p{margin-top:14px}
.doc .next-block .steps{list-style:none;margin:0;padding:0;counter-reset:s}
.doc .next-block .steps li{counter-increment:s;position:relative;padding:0 0 0 46px;font-size:1.0625rem;line-height:1.55;min-height:28px}
.doc .next-block .steps li::before{content:counter(s);position:absolute;left:0;top:-1px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sky-wash);color:var(--sky-2);font-weight:700;font-size:.8125rem}
.doc .next-block .steps li+li{margin-top:18px}
.doc .next-block .fine{margin-top:22px;font-size:.9375rem}
.doc .next-block .fine a,.doc .next-block .check a{color:var(--sky);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.result .lane{margin:0 0 24px}
.result-more{margin:18px 0 0;display:flex;flex-direction:column;gap:4px}
.result-more li{min-height:44px}
.result-more .btn-text{padding:0;font-weight:600;color:var(--ink)}
.result-more .btn-text:hover{color:var(--sky)}
@media (max-width:900px){.doc .next-block{padding-top:30px;margin-top:36px}.doc .next-block .steps li{padding-left:42px}}
.result{min-height:0;padding-bottom:56px}
.doc .next-block .check{margin-top:24px}

/* ============ v5.5 dark legal pages (/privacy, /terms). Jason 2026-10-22: "extremely dark and luxurious". ============ */
.lux{--lx-bg:#FFFFFF;--lx-bg-rgb:255,255,255;--lx-ink:#0B0B0D;--lx-ink-rgb:11,11,13;--lx-on:#F1EEE8;--lx-hi:#000000;--lx-card:#F6F5F2;--lx-2:#55524C;--lx-3:#6E6A64;--lx-line:rgba(11,11,13,.09);background:var(--lx-bg);color:var(--lx-2);color-scheme:light}
.dk .lux{--lx-bg:#050506;--lx-bg-rgb:5,5,6;--lx-ink:#F1EEE8;--lx-ink-rgb:241,238,232;--lx-on:#0B0B0D;--lx-hi:#FFFFFF;--lx-card:#111114;--lx-2:#B4B0A8;--lx-3:#8C8880;--lx-line:rgba(241,238,232,.085);color-scheme:dark}
.lux ::selection{background:rgba(var(--lx-ink-rgb),.18);color:var(--lx-ink)}
.lux .nav,.lux.has-photo-hero .nav,.lux.has-photo-hero .nav.scrolled{background:transparent;color:var(--lx-ink);transition:background-color .5s var(--ease),border-color .5s var(--ease)}
.lux.has-photo-hero .nav.scrolled{background:rgba(var(--lx-bg-rgb),.78);-webkit-backdrop-filter:saturate(1.2) blur(16px);backdrop-filter:saturate(1.2) blur(16px);box-shadow:0 1px 0 var(--lx-line)}
.lux .nav .nav-cta,.lux.has-photo-hero .nav:not(.scrolled) .nav-cta{background:var(--lx-ink);color:var(--lx-on)}
.lux .nav .nav-cta:hover{background:var(--lx-hi)}
.lux .sheet{background:var(--lx-bg);color:var(--lx-ink)}
.lux .sheet-links,.lux .sheet-links li{border-color:var(--lx-line)}
.lux .sheet-links a svg,.lux .sheet-foot a{color:var(--lx-2)}
.lux .sheet-cta{background:var(--lx-ink);color:var(--lx-on)}
.lux a{color:var(--lx-ink);text-decoration-color:rgba(var(--lx-ink-rgb),.35);text-decoration-thickness:1px;text-underline-offset:.22em}
.lux a:hover{text-decoration-color:var(--lx-ink)}
.lx-eye{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--lx-3)}
.lx-hero{position:relative;min-height:min(78vh,680px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;isolation:isolate}
.lx-hero picture,.lx-hero-img{position:absolute;inset:0;width:100%;height:100%}
.lx-hero-img{object-fit:cover;object-position:50% 60%;opacity:.95;z-index:-2;animation:lxIn 2.4s var(--ease) both}
.lx-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(var(--lx-bg-rgb),.6) 0%,rgba(var(--lx-bg-rgb),.05) 34%,rgba(var(--lx-bg-rgb),.45) 70%,var(--lx-bg) 100%)}
@keyframes lxIn{from{opacity:0;transform:scale(1.05)}to{opacity:.95;transform:none}}
.lx-hero-in{padding-top:160px;padding-bottom:clamp(56px,7vw,96px)}
.lx-hero h1{margin:18px 0 0;font-weight:200;font-size:clamp(3.75rem,10vw,8.5rem);line-height:.92;letter-spacing:-.045em;color:var(--lx-ink)}
.lx-lede{margin:22px 0 0;font-size:1rem;letter-spacing:.01em;color:var(--lx-2)}
.lx-credit{position:absolute;right:0;left:0;bottom:18px;margin:0 auto;text-align:right;font-size:.6875rem;color:var(--lx-3)}
.lx-credit a{color:inherit}
.lx-body{display:grid;grid-template-columns:220px minmax(0,680px);justify-content:center;gap:clamp(64px,9vw,128px);padding-top:24px;padding-bottom:clamp(96px,10vw,160px)}
.lx-toc{position:sticky;top:112px;align-self:start;padding-top:8px}
.lx-toc ol,.lx-toc-m ol{list-style:none;margin:20px 0 0;padding:0}
.lx-toc li+li{margin-top:2px}
.lx-toc a,.lx-toc-m a{display:flex;gap:14px;align-items:baseline;padding:7px 0;font-size:.875rem;line-height:1.4;color:var(--lx-3);text-decoration:none;transition:color .3s var(--ease)}
.lx-toc a span,.lx-toc-m a span{font-size:.6875rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--lx-3);opacity:.7}
.lx-toc a:hover,.lx-toc a.on{color:var(--lx-ink)}
.lx-toc a.on span{opacity:1}
.lx-doc{font-size:1.0625rem;line-height:1.85}
.lx-sum{margin:0 0 64px;padding:36px 40px;border:1px solid rgba(var(--lx-ink-rgb),.1);border-radius:20px;background:linear-gradient(180deg,rgba(var(--lx-ink-rgb),.045),rgba(var(--lx-ink-rgb),.012))}
.lx-sum ul{list-style:none;margin:20px 0 0;padding:0}
.lx-sum li{position:relative;padding:12px 0 12px 32px;color:var(--lx-ink);line-height:1.6;border-top:1px solid var(--lx-line)}
.lx-sum li:first-child{border-top:0;padding-top:4px}
.lx-sum li::before{content:"";position:absolute;left:2px;top:25px;width:14px;height:1px;background:var(--lx-3)}
.lx-sum li:first-child::before{top:17px}
.lx-toc-m{display:none}
.lx-intro p{margin:0;font-size:1.125rem;line-height:1.8;color:var(--lx-2)}
.lx-sec{padding:52px 0 0;margin-top:52px;border-top:1px solid var(--lx-line);scroll-margin-top:96px}
.lx-n{margin:0 0 14px;font-size:.6875rem;letter-spacing:.16em;color:var(--lx-3);font-variant-numeric:tabular-nums}
.lx-sec h2{margin:0 0 22px;font-weight:300;font-size:clamp(1.625rem,2.6vw,2.125rem);line-height:1.15;letter-spacing:-.025em;color:var(--lx-ink)}
.lx-sec p{margin:0;color:var(--lx-2)}
.lx-sec p+p,.lx-sec ul+p{margin-top:18px}
.lx-sec ul{list-style:none;margin:0;padding:0}
.lx-sec li{position:relative;padding-left:30px;color:var(--lx-2)}
.lx-sec li+li{margin-top:16px}
.lx-sec li::before{content:"";position:absolute;left:0;top:.92em;width:14px;height:1px;background:var(--lx-3)}
.lx-sec strong,.lx-intro strong{font-weight:500;color:var(--lx-ink)}
.lx-band{position:relative;margin:0;height:clamp(260px,34vw,460px);overflow:hidden}
.lx-band picture,.lx-band-img{position:absolute;inset:0;width:100%;height:100%}
.lx-band-img{object-fit:cover;opacity:.6}
.lx-band::before,.lx-band::after{content:"";position:absolute;left:0;right:0;height:55%;z-index:1;pointer-events:none}
.lx-band::before{top:0;background:linear-gradient(180deg,var(--lx-bg),rgba(var(--lx-bg-rgb),0))}
.lx-band::after{bottom:0;background:linear-gradient(0deg,var(--lx-bg),rgba(var(--lx-bg-rgb),0))}
.lx-band figcaption{position:absolute;left:0;right:0;bottom:18px;z-index:2;margin:0 auto;text-align:right;font-size:.6875rem;color:var(--lx-3)}
.lx-band figcaption a{color:inherit}
.lux .foot{border-top:1px solid var(--lx-line);color:var(--lx-3);background:var(--lx-bg)}
.lux .foot .foot-mark{color:var(--lx-ink)}
.lux .foot-legal a:hover{color:var(--lx-hi)}
.lux .foot-legal,.lux .foot-copy{color:var(--lx-3)}
.lux .disclaimer{color:var(--lx-3);opacity:1}
.lux .disclaimer strong{color:var(--lx-2)}
.lux .consent{background:var(--lx-card);color:var(--lx-2);border:1px solid var(--lx-line)}
@media (max-width:900px){
  .lx-hero{min-height:min(70vh,560px)}
  .lx-hero-in{padding-top:128px;padding-bottom:56px}
  .lx-credit{bottom:14px}
  .lx-body{grid-template-columns:1fr;gap:0;padding-top:8px}
  .lx-toc{display:none}
  .lx-sum{margin-bottom:28px;padding:26px 24px;border-radius:18px}
  .lx-toc-m{display:block;margin:0 0 48px;border-top:1px solid var(--lx-line);border-bottom:1px solid var(--lx-line)}
  .lx-toc-m summary{display:flex;justify-content:space-between;align-items:center;min-height:56px;cursor:pointer;list-style:none;font-size:.6875rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--lx-3)}
  .lx-toc-m summary::-webkit-details-marker{display:none}
  .lx-toc-m summary::after{content:"+";font-size:1.25rem;font-weight:300;letter-spacing:0;color:var(--lx-2);transition:transform .3s var(--ease)}
  .lx-toc-m[open] summary::after{transform:rotate(45deg)}
  .lx-toc-m ol{margin:0 0 14px}
  .lx-toc-m a{min-height:44px;padding:10px 0}
  .lx-doc{font-size:1.0625rem;line-height:1.8}
  .lx-sec{padding-top:48px;margin-top:48px}
}
@media (prefers-reduced-motion:reduce){.lx-hero-img{animation:none}}
.lx-hero .lx-eye{color:var(--lx-2)}

/* ============ v5.6 quiz focus mode (Jason 2026-10-22): one question per screen, full viewport, huge tap cards, thin progress line, no numbers ============ */
.progress{display:none!important}
.nav-min-in{grid-template-columns:1fr}
.quiz .qz legend{font-size:clamp(1.75rem,5.4vw,2.5rem);font-weight:400;line-height:1.14;letter-spacing:-.028em;max-width:none;margin-bottom:28px;text-wrap:balance}
.quiz .qz legend.long{font-size:clamp(1.375rem,4.4vw,1.875rem);line-height:1.22}
.quiz .qz .hint{margin:-12px 0 26px;font-size:1rem;line-height:1.5;color:var(--ink-2);max-width:52ch}
.quiz .opts{gap:12px}
.quiz .opt{min-height:72px;padding:18px 22px;gap:18px;border-radius:18px;background:var(--white);box-shadow:inset 0 0 0 1.5px var(--line);-webkit-tap-highlight-color:transparent;transition:background-color .2s var(--ease),box-shadow .2s var(--ease),transform .14s var(--ease)}
.quiz .opt span:last-child{font-size:1.125rem;font-weight:500;line-height:1.35;letter-spacing:-.005em}
.quiz .opt .dot{width:24px;height:24px;box-shadow:inset 0 0 0 1.5px #A9B4BE;transition:box-shadow .2s var(--ease)}
.quiz .opt:hover{background:#F7FAFC;box-shadow:inset 0 0 0 1.5px #C9D3DC}
.quiz .opt:active{transform:scale(.985)}
.quiz .opt:has(input:checked){background:var(--sky-wash);box-shadow:inset 0 0 0 2px var(--sky)}
.quiz .opt input:checked+.dot{box-shadow:inset 0 0 0 7px var(--sky)}
.quiz .opt.tap{animation:qzTap .32s var(--ease)}
@keyframes qzTap{0%{transform:scale(1)}35%{transform:scale(.97)}100%{transform:scale(1)}}
.quiz .qz .field-l{display:block;margin-bottom:10px;font-size:.9375rem;font-weight:600;color:var(--ink-2)}
.quiz .qz .input{min-height:64px;padding:0 20px;font-size:1.25rem;border-radius:16px;background:var(--white);box-shadow:inset 0 0 0 1.5px var(--line);border:0}
.quiz .qz .input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--sky),0 0 0 4px rgba(28,106,148,.12)}
.quiz .qz-go{min-height:64px;font-size:1.125rem;border-radius:999px;margin-top:14px}
.quiz .qz .fine{margin-top:16px;font-size:.875rem;line-height:1.5}
.qz [data-qz-next2]{width:100%}
.qz-top{display:none}

/* focus: the quiz takes the whole screen while answering */
html.qz-lock,html.qz-lock body{overflow:hidden}
.js .quiz.qfocus{position:fixed;inset:0;z-index:95;margin:0;padding:0;border-radius:0;background:var(--white);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.quiz.qfocus .qz-top{display:block;position:sticky;top:0;z-index:2;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding-top:env(safe-area-inset-top)}
.qz-line{position:absolute;top:0;left:0;right:0;height:3px;background:rgba(28,106,148,.12);overflow:hidden}
.qz-line-fill{display:block;height:100%;width:100%;background:var(--sky);transform-origin:0 50%;transform:scaleX(0);transition:transform .6s cubic-bezier(.22,.8,.24,1)}
.qz-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:640px;margin:0 auto;min-height:60px;padding:3px 12px 0}
.qz-back{justify-self:start;display:inline-flex;align-items:center;gap:4px;min-height:44px;min-width:44px;padding:0 10px 0 4px;background:none;border:0;border-radius:999px;color:var(--ink-2);font:500 .9375rem var(--font);cursor:pointer;transition:color .2s var(--ease),opacity .2s var(--ease)}
.qz-back svg{width:20px;height:20px}
.qz-back:hover{color:var(--ink)}
.qz-back[disabled]{opacity:0;pointer-events:none}
.qz-mark{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}
.qz-mark .wordmark{height:12px;width:auto}
.quiz.qfocus .quiz-form{max-width:640px;margin:0 auto;min-height:calc(100dvh - 63px - env(safe-area-inset-top))!important;padding:clamp(28px,9vh,104px) 20px calc(40px + env(safe-area-inset-bottom));justify-content:flex-start}
.quiz.qfocus .qz-nav{display:none}
.quiz.qfocus .msg{margin-top:16px}
/* slide + fade between questions */
.qz.in-f{animation:qzInF .3s cubic-bezier(.2,.75,.25,1) both}
.qz.in-b{animation:qzInB .3s cubic-bezier(.2,.75,.25,1) both}
.qz.out-f{animation:qzOutF .14s ease-in both}
.qz.out-b{animation:qzOutB .14s ease-in both}
@keyframes qzInF{from{opacity:0;transform:translate3d(32px,0,0)}to{opacity:1;transform:none}}
@keyframes qzInB{from{opacity:0;transform:translate3d(-32px,0,0)}to{opacity:1;transform:none}}
@keyframes qzOutF{to{opacity:0;transform:translate3d(-20px,0,0)}}
@keyframes qzOutB{to{opacity:0;transform:translate3d(20px,0,0)}}
@media (min-width:700px){
  .quiz .opts{gap:14px}
  .quiz .opt{min-height:80px;padding:20px 26px;border-radius:20px}
  .quiz .opt span:last-child{font-size:1.25rem}
  .quiz .qz .input{min-height:72px;font-size:1.375rem}
  .quiz .qz-go{min-height:68px}
  .quiz.qfocus .qz-bar{min-height:68px}
  .qz-mark .wordmark{height:13px}
}
/* after the result on /apply, the page is about the result: drop the hero copy */
.qz-done .apply-top h1,.qz-done .apply-top>.wrap>.lede,.qz-done .apply-top .step-label,.qz-done .apply-top .fine.mt{display:none}
@media (prefers-reduced-motion:reduce){.qz.in-f,.qz.in-b,.qz.out-f,.qz.out-b,.quiz .opt.tap{animation:none}.qz-line-fill{transition:none}}
/* an animated ancestor (.rise/.reveal keep a transform) would trap position:fixed; neutralize it while focused */
html.qz-lock :has(> .quiz.qfocus),html.qz-lock :has(.quiz.qfocus){transform:none!important;animation:none!important;filter:none!important;opacity:1!important}
.quiz .qz-go,.quiz .qz-go:hover{background:var(--ink);color:var(--white)}
.quiz .qz-go:active{transform:scale(.985)}
.qz-eye{margin:0 0 14px;font-size:.8125rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--sky)}
@media (min-width:700px){
  .quiz.qfocus .quiz-form{display:flex;flex-direction:column;justify-content:center;padding-top:32px;padding-bottom:calc(14vh + env(safe-area-inset-bottom))}
}

/* ============ v5.7 funnel lux (/cheat, /welcome): same dark system as /privacy + /terms. Big type, one action, real photo. ============ */
.fx main{background:var(--lx-bg)}
.fx .nav-min .brand{color:var(--lx-ink)}
.fx-hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;overflow:hidden}
.fx-photo{position:absolute;inset:0;margin:0;z-index:-1}
.fx-photo picture,.fx-photo img{display:block;width:100%;height:100%}
.fx-photo img{object-fit:cover;object-position:50% 40%;animation:fxIn 1.8s var(--ease) both}
@keyframes fxIn{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:none}}
.fx-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--lx-bg-rgb),.55) 0%,rgba(var(--lx-bg-rgb),0) 16%,rgba(var(--lx-bg-rgb),.08) 34%,rgba(var(--lx-bg-rgb),.82) 58%,var(--lx-bg) 76%)}
.fx-photo figcaption{position:absolute;right:16px;top:calc(76px + env(safe-area-inset-top));z-index:1;font-size:.6875rem;color:rgba(var(--lx-ink-rgb),.5)}
.fx-photo figcaption a{color:inherit}
.fx-copy{position:relative;width:100%;max-width:560px;padding:120px 22px calc(36px + env(safe-area-inset-bottom))}
.fx-eye{margin:0 0 18px;font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--lx-2)}
.fx h1{margin:0;font-weight:300;font-size:clamp(2.75rem,11.5vw,5.5rem);line-height:.98;letter-spacing:-.045em;color:var(--lx-ink);text-wrap:balance}
.fx h2{margin:0;font-weight:300;font-size:clamp(2rem,7vw,3.25rem);line-height:1.04;letter-spacing:-.035em;color:var(--lx-ink);text-wrap:balance}
.fx-lede{margin:18px 0 0;font-size:1.0625rem;line-height:1.55;color:var(--lx-2);max-width:40ch}
.fx-form{margin-top:30px}
.fx-row{display:flex;flex-direction:column;gap:10px}
.fx-input{width:100%;height:60px;padding:0 20px;border-radius:14px;border:1px solid rgba(var(--lx-ink-rgb),.16);background:rgba(var(--lx-ink-rgb),.06);color:var(--lx-ink);font:500 1.0625rem var(--font);-webkit-appearance:none;appearance:none;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.fx-input::placeholder{color:rgba(var(--lx-ink-rgb),.42)}
.fx-input:focus{outline:none;border-color:rgba(var(--lx-ink-rgb),.6);background:rgba(var(--lx-ink-rgb),.09)}
.fx-input[aria-invalid=true]{border-color:#E8A0A0}
.fx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:60px;padding:0 28px;border:0;border-radius:14px;background:var(--lx-ink);color:var(--lx-on);font:600 1.0625rem var(--font);letter-spacing:-.005em;text-decoration:none;cursor:pointer;transition:background-color .2s var(--ease),transform .14s var(--ease)}
.lux a.fx-btn{color:var(--lx-on);text-decoration:none}
.fx-btn svg{width:20px;height:20px;transition:transform .2s var(--ease)}
.fx-btn:hover{background:var(--lx-hi)}.fx-btn:hover svg{transform:translateX(3px)}
.fx-btn:active{transform:scale(.985)}
.fx-btn[disabled]{opacity:.6}
.fx-btn--solo{margin-top:30px;width:100%}
.fx-btn--ghost,.lux a.fx-btn--ghost{background:transparent;color:var(--lx-ink);box-shadow:inset 0 0 0 1px rgba(var(--lx-ink-rgb),.28)}
.fx-btn--ghost:hover{background:rgba(var(--lx-ink-rgb),.06);box-shadow:inset 0 0 0 1px rgba(var(--lx-ink-rgb),.6)}
.fx .msg{margin:12px 0 0;color:#F0B4B4;font-size:.9375rem}
.fx .msg:empty{display:none}
.fx .fine,.fx-fine{margin:14px 0 0;font-size:.8125rem;line-height:1.5;color:var(--lx-3)}
.fx .fine a{color:var(--lx-2)}
.fx .ok-box{padding:22px 0 0;border-top:1px solid var(--lx-line)}
.fx .ok-box h3{margin:0;font-weight:500;color:var(--lx-ink)}
.fx .ok-box p{color:var(--lx-2)}
.fx .ok-box .btn{background:var(--lx-ink);color:var(--lx-on)}
/* sections under the hero (welcome) */
.fx-sec{padding:clamp(72px,10vw,128px) 0;border-top:1px solid var(--lx-line)}
.fx-hero+.fx-sec{border-top:0}
.fx-wrap{max-width:1288px;margin:0 auto;padding:0 22px}
.fx-wrap>*{max-width:720px}
.fx-sec h2+.fx-lede{margin-top:16px}
.fx-sec .fx-btn{margin-top:30px}
.fx-steps{list-style:none;margin:8px 0 0;padding:0;counter-reset:fx}
.fx-steps li{counter-increment:fx;display:grid;grid-template-columns:56px 1fr;align-items:baseline;padding:26px 0;border-top:1px solid var(--lx-line);font-size:clamp(1.25rem,3.6vw,1.625rem);font-weight:300;line-height:1.35;letter-spacing:-.015em;color:var(--lx-ink)}
.fx-steps li:last-child{border-bottom:1px solid var(--lx-line)}
.fx-steps li::before{content:counter(fx,decimal-leading-zero);font-size:.8125rem;font-weight:600;letter-spacing:.12em;color:var(--lx-3)}
.fx-who{margin:40px 0 0;font-size:.875rem;color:var(--lx-3)}
.fx-who a{color:var(--lx-2)}
.fx-ceos .fx-form{max-width:560px}
/* the quiz panel keeps its light card look, sitting on the dark page */
.fx-quiz{margin-top:8px}
.fx-quiz .quiz:not(.qfocus){background:var(--white);color:var(--ink);border-radius:24px;padding:28px 22px}
.fx-quiz .result{color:var(--ink)}
@media (min-width:600px){
  .fx-row{flex-direction:row}
  .fx-row .fx-input{flex:1}
  .fx-row .fx-btn{flex:none}
  .fx-btn--solo{width:auto}
  .fx-copy{padding-left:40px;padding-right:40px}
  .fx-wrap{padding:0 40px}
  .fx h1 .l{display:block}
}
@media (min-width:900px){
  .fx-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;min-height:max(100svh,680px)}
  .fx-photo{position:relative;inset:auto;grid-column:2;grid-row:1;align-self:stretch;z-index:0}
  .fx-photo::after{background:linear-gradient(90deg,var(--lx-bg) 0%,rgba(var(--lx-bg-rgb),.35) 26%,rgba(var(--lx-bg-rgb),0) 55%),linear-gradient(180deg,rgba(var(--lx-bg-rgb),.55) 0%,rgba(var(--lx-bg-rgb),0) 20%,rgba(var(--lx-bg-rgb),0) 78%,var(--lx-bg) 100%)}
  .fx-photo figcaption{top:auto;bottom:22px;right:24px}
  .fx-copy{grid-column:1;grid-row:1;max-width:none;padding:120px clamp(40px,6vw,96px) 96px max(48px,calc((100vw - 1240px) / 2 + 24px))}
  .fx-copy>*{max-width:600px}
  .fx h1{font-size:clamp(3.25rem,4.5vw,5.25rem)}
  .fx-copy>*{max-width:680px}
  .fx-wrap{padding:0 48px}
  .fx-lede{font-size:1.1875rem}
  .fx-input,.fx-btn{height:64px}
  .fx-steps li{grid-template-columns:72px 1fr}
}
@media (prefers-reduced-motion:reduce){.fx-photo img{animation:none}}
/* the quiz (inline card or focus overlay) is a light surface inside the dark page: give it back its light-theme colors */
.fx .quiz{color:var(--ink)}
.fx .quiz .qz-mark,.fx .quiz a,.lux .fx-quiz .result a:not(.btn){color:var(--ink)}
.fx .quiz .fine{color:var(--ink-2)}
.fx .quiz .fine a{color:var(--ink)}
.fx .quiz .msg{color:#B42318}
.fx .quiz .qz-back{color:var(--ink-2)}
.fx .quiz h2,.fx .quiz h3{color:var(--ink)}
.fx .quiz .result h2{font-size:clamp(1.75rem,6vw,2.5rem);font-weight:400}
.lux .quiz a.btn,.fx .quiz a.btn{color:var(--white);text-decoration:none}

/* ============ v5.8 /booked + /prep on the dark system; fixed-nav backdrop on every lux page once scrolled ============ */
.lux .nav.scrolled,.lux.has-photo-hero .nav.scrolled{background:rgba(var(--lx-bg-rgb),.82);-webkit-backdrop-filter:saturate(1.2) blur(16px);backdrop-filter:saturate(1.2) blur(16px);box-shadow:0 1px 0 var(--lx-line)}
.lx-hero--short{min-height:min(72svh,620px)}
.lx-hero--short h1{font-size:clamp(3rem,9vw,6.5rem);line-height:.96}
.lx-hero--short h1 .l{display:block}
.lx-hero--short .fx-lede{max-width:46ch;margin-top:22px}
.lx-hero--short .lx-hero-in{padding-bottom:clamp(48px,6vw,80px)}
.fx-sec--first{border-top:0;padding-top:clamp(40px,6vw,72px)}
.fx-vsl:not(:has(.vsl:not([hidden]))){display:none}
.fx-vsl .vsl{margin:0 0 56px}
.fx-steps--sm li{font-size:clamp(1.0625rem,2.6vw,1.25rem);line-height:1.5;padding:22px 0}
.lux .fx-lede b{font-weight:600;color:var(--lx-ink)}
.lux .fx-sec .fx-btn svg{width:20px;height:20px}
@media (max-width:760px){.lx-hero--short{min-height:min(78svh,640px)}.lx-hero--short .lx-hero-in{padding-top:120px}}
/* v5.8 polish: copy sits on a scrim, never on the busy part of the photo; body column lines up with the hero */
.lx .fx-wrap{max-width:1360px;padding:0 var(--m)}
.lx-hero--short::after{background:linear-gradient(180deg,rgba(var(--lx-bg-rgb),.55) 0%,rgba(var(--lx-bg-rgb),.1) 24%,rgba(var(--lx-bg-rgb),.62) 48%,rgba(var(--lx-bg-rgb),.94) 66%,var(--lx-bg) 100%)}
.page-booked .lx-hero-img{object-position:50% 30%}
@media (min-width:761px){
  .lx-hero--short::after{background:linear-gradient(90deg,var(--lx-bg) 0%,rgba(var(--lx-bg-rgb),.88) 30%,rgba(var(--lx-bg-rgb),.35) 56%,rgba(var(--lx-bg-rgb),0) 74%),linear-gradient(180deg,rgba(var(--lx-bg-rgb),.5) 0%,rgba(var(--lx-bg-rgb),0) 22%,rgba(var(--lx-bg-rgb),0) 70%,var(--lx-bg) 100%)}
  .page-booked .lx-hero-img{object-position:50% 50%;transform:translateX(18%) scale(1.0)}
  .page-prep .lx-hero-img{object-position:50% 50%}
}
@media (min-width:761px) and (prefers-reduced-motion:no-preference){.page-booked .lx-hero-img{animation:lxInR 2.4s var(--ease) both}}
@keyframes lxInR{from{opacity:0;transform:translateX(18%) scale(1.04)}to{opacity:.95;transform:translateX(18%)}}
@media (max-width:760px){
  .lx-hero--short picture{bottom:auto;height:64%}
  .lx-hero--short .lx-hero-img{object-position:50% 20%}
  .lx-hero--short::after{background:linear-gradient(180deg,rgba(var(--lx-bg-rgb),.55) 0%,rgba(var(--lx-bg-rgb),0) 12%,rgba(var(--lx-bg-rgb),.2) 30%,rgba(var(--lx-bg-rgb),.86) 46%,var(--lx-bg) 62%)}
}
@media (min-width:761px){
  .lx-hero--short::after{background:linear-gradient(90deg,var(--lx-bg) 0%,rgba(var(--lx-bg-rgb),.93) 34%,rgba(var(--lx-bg-rgb),.5) 58%,rgba(var(--lx-bg-rgb),0) 78%),linear-gradient(180deg,rgba(var(--lx-bg-rgb),.5) 0%,rgba(var(--lx-bg-rgb),0) 22%,rgba(var(--lx-bg-rgb),0) 70%,var(--lx-bg) 100%)}
  .page-prep .lx-hero-img{transform:translateX(32%)}
}
@media (min-width:761px) and (prefers-reduced-motion:no-preference){.page-prep .lx-hero-img{animation:lxInP 2.4s var(--ease) both}}
@keyframes lxInP{from{opacity:0;transform:translateX(32%) scale(1.04)}to{opacity:.95;transform:translateX(32%)}}
@media (max-width:760px){.page-booked .lx-hero--short .lx-hero-img{object-position:50% 58%}}

/* ============ v5.9 one dark system for the whole site (Jason 2026-10-22: "everything ... meshed"). ============
   Every public page carries body.dk. The light tokens above are re-pointed to the lux palette, so every component
   (buttons, quiz, FAQ, cards, inputs, footer) follows without a second stylesheet. Lux pages keep their own lx-* rules on top. */
:root.dk{--white:#050506;--mist:#0B0B0D;--mist-2:#141417;--ink:#F1EEE8;--ink-2:#B4B0A8;--sky:#F1EEE8;--sky-2:#FFFFFF;--sky-wash:rgba(241,238,232,.1);--on-photo:#F1EEE8;--line:rgba(241,238,232,.12);--err:#F0B4B4;color-scheme:dark}
.dk{--lx-bg:#050506;--lx-ink:#F1EEE8;--lx-2:#B4B0A8;--lx-3:#8C8880;--lx-line:rgba(241,238,232,.085)}
.dk ::selection{background:rgba(241,238,232,.18);color:#fff}
.dk .mist{background:#0B0B0D}
.dk .sec+.sec:not(.mist){border-top:1px solid var(--lx-line)}
.dk .btn:hover{background:#FFFFFF;color:#0B0B0D}
.dk .btn-light,.dk .has-photo-hero .nav:not(.scrolled) .nav-cta,.dk .has-photo-hero .nav:not(.scrolled) .nav-cta{background:#F1EEE8;color:#0B0B0D}
.dk .btn-light:hover{background:#FFFFFF;color:#0B0B0D}
.dk .btn{border-radius:14px}
.dk .hero-photo{background:#050506}
.dk .hero-photo h1,.dk .hero-photo .lede,.dk .hero-photo .fine,.dk .hero-photo .field-l{text-shadow:none}
.dk .hero-photo h1{font-weight:200;letter-spacing:-.045em}
.dk .hero-photo .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,6,.55) 0%,rgba(5,5,6,.15) 40%,rgba(5,5,6,.35) 75%,#050506 100%)}
.dk .hero-photo .bg img{object-position:50% 70%}
.dk .hero-alt a{color:var(--ink)}
.dk .ph{background:#141417}
.dk .ph img:not(.portrait img){filter:saturate(.78) brightness(.84) contrast(1.05)}
.dk .letter-portrait .ph img{filter:none}
.dk .input{background:rgba(241,238,232,.06);border-color:rgba(241,238,232,.16);color:var(--ink)}
.dk .input::placeholder{color:rgba(241,238,232,.45)}
.dk .opt .dot{box-shadow:inset 0 0 0 2px rgba(241,238,232,.45)}
.dk .consent{background:#0B0B0D;border:1px solid var(--lx-line);box-shadow:0 18px 48px rgba(0,0,0,.6)}
.dk .nav-count .of{color:var(--lx-3)}
.dk .closing .bg::after{background:linear-gradient(180deg,rgba(5,5,6,.92) 0%,rgba(5,5,6,.8) 32%,rgba(5,5,6,.35) 62%,rgba(5,5,6,.6) 100%)}
.dk .lane-jump a{background:rgba(241,238,232,.08);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(241,238,232,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.dk .gprompt .lane-n,.dk .gprompt-t span{color:var(--lx-2)}
.dk .gprompt .fine{color:var(--lx-3)}
.dk .quiz.qfocus .qz-top{background:rgba(5,5,6,.88)}
.dk .nav{background:#050506}
.dk .has-photo-hero .nav:not(.scrolled){background:transparent}
.dk .nav.scrolled{background:rgba(5,5,6,.82);-webkit-backdrop-filter:saturate(1.2) blur(16px);backdrop-filter:saturate(1.2) blur(16px);box-shadow:0 1px 0 var(--lx-line)}
.dk .sheet{background:#050506;color:var(--ink)}
.dk .faq-list details{border-color:var(--lx-line)}
.dk .fine{color:var(--lx-3)}
.dk .eyebrow{color:var(--lx-2);letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;font-weight:600}
.dk .gprompt{background:#0B0B0D;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(241,238,232,.14)}
.dk .gprompt-t{color:var(--ink)}
@media (max-width:900px){.dk .hero-photo .bg img{transform:none;object-position:50% 78%}}

/* v5.10 WHITE front door (/cheat) + the white-to-dark handoff. Same type, spacing, radius 14 and cream/ink pair as the dark pages. */
.cheat-w .hero-photo{min-height:100svh}
.cheat-w .cw-eye{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--on-photo);opacity:.92;margin:0 0 16px;text-shadow:0 1px 10px rgba(10,40,62,.35)}
.cheat-w .hero-photo h1{max-width:13ch;font-weight:300;letter-spacing:-.035em}
.cheat-w .cw-form{max-width:460px}
.cw-row{display:flex;flex-direction:column;gap:10px}
.cw-row .input{border-radius:14px;min-height:56px;background:#fff;color:#0B0B0D;box-shadow:0 8px 30px rgba(10,40,62,.18)}
.cw-row .cw-btn{min-height:56px;border-radius:14px;background:#0B0B0D;color:#F1EEE8;display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%}
.cw-row .cw-btn:hover{background:#000}
.cw-row .cw-btn svg{width:18px;height:18px}
@media (min-width:700px){.cw-row{flex-direction:row}.cw-row .input{flex:1;min-width:0}.cw-row .cw-btn{width:auto;padding:0 26px}}

/* v5.11 (Jason 3:08 AM CT): every page has a light and a dark theme. The device decides (prefers-color-scheme); the header toggle overrides and is saved (localStorage ola_theme). html.dk = dark. */
.th-d,.dk .th-l{display:none!important}
.dk .th-d{display:inline!important}
.dk .cw-row .input{background:rgba(241,238,232,.07);color:#F1EEE8;box-shadow:none;border:1px solid rgba(241,238,232,.2)}
.dk .cw-row .input::placeholder{color:rgba(241,238,232,.5)}
.dk .cw-row .cw-btn{background:#F1EEE8;color:#0B0B0D}.dk .cw-row .cw-btn:hover{background:#fff}
.dk .cheat-w .cw-eye{text-shadow:none;color:#B4B0A8}
.brand-row{display:flex;align-items:center;gap:6px}
.theme-t{display:inline-grid;place-items:center;width:44px;height:44px;margin:-6px 0;padding:0;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;opacity:.82;transition:opacity .2s var(--ease),background-color .2s var(--ease)}
.theme-t:hover{opacity:1;background:rgba(127,127,127,.12)}
.theme-t svg{grid-area:1/1;width:19px;height:19px;transition:opacity .3s var(--ease),transform .4s var(--ease)}
.theme-t .ti-moon{opacity:1}.theme-t .ti-sun{opacity:0;transform:rotate(-40deg) scale(.7)}
.dk .theme-t .ti-moon{opacity:0;transform:rotate(40deg) scale(.7)}.dk .theme-t .ti-sun{opacity:1;transform:none}
::view-transition-old(root),::view-transition-new(root){animation-duration:.36s;animation-timing-function:cubic-bezier(.4,0,.2,1)}
html.th-fade body{transition:opacity .18s ease}
html.th-fade.th-out body{opacity:0}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}html.th-fade body{transition:none}.theme-t svg{transition:none}}

/* v6 /booked: video slot first, then one big "I'll be there" (both themes via the lux tokens) */
.fx-vsl.bk-video{margin-bottom:24px}
.fx-vsl.bk-video:has(.bk-still:not([hidden])){display:block}
.bk-video .vsl{margin:0}
.bk-still{margin:0;max-width:420px;position:relative;border-radius:18px;overflow:hidden;background:var(--lx-card,#111114)}
.bk-still img{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:54vh;object-fit:cover;object-position:50% 22%}
.bk-still figcaption{position:absolute;left:0;right:0;bottom:0;padding:28px 18px 16px;font-size:.8125rem;color:#F1EEE8;background:linear-gradient(0deg,rgba(5,5,6,.78),rgba(5,5,6,0))}
.bk-confirm{margin:0 0 44px}
.bk-go{width:100%;max-width:420px;height:64px;font-size:1.125rem}
.bk-done:focus{outline:none}
.bk-done{max-width:420px;padding:22px 22px 18px;border-radius:18px;border:1px solid var(--lx-line);background:var(--lx-card,#111114);animation:fxIn .5s var(--ease) both}
.bk-done .fx-eye{margin-bottom:8px;display:flex;align-items:center;gap:8px}
.bk-done .fx-eye::before{content:"";width:8px;height:8px;border-radius:50%;background:#3FA672}
.bk-when{margin:0;font-size:1.25rem;line-height:1.35;color:var(--lx-ink)}
.bk-cal{margin:14px 0 0;display:flex;gap:10px;flex-wrap:wrap;font-size:.9375rem}
.bk-cal span{color:var(--lx-3)}
/* v7 personalized guide link on the quiz result (theme-aware via --ink/--ink-2/--line) */
.result .yg{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 16px;margin:0 0 24px;padding:18px 20px;min-height:72px;border-radius:16px;box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:background-color .2s var(--ease)}
.result .yg[hidden]{display:none}
.result .yg:hover,.result .yg:focus-visible{background:rgba(127,127,127,.08)}
.yg-k{grid-column:1;font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
.yg-t{grid-column:1;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.yg-a{grid-column:2;grid-row:1/3;font-size:1.375rem;line-height:1}
