/* Lounges, brands and interview pages. Self-contained: does not load style.css. */

/* Palettes. Default = Noir & Champagne. Switch with <html data-palette="..."> */
:root{
  --bg:#120c08;--surface:#21170f;--card:#2a1e14;--ink:#faf3e6;--muted:#ddd0ba;--gold:#ecc988;--gold-2:#e3c287;--line:#4a3826;
  --paper:#f6ecda;--paper-ink:#1c130b;--paper-muted:#4a3a2a;--paper-line:#d8c6a6;--no:#8a2216;--ok:#245a2a;--on-gold:#160e07;
  --display:'Bodoni Moda',Georgia,serif;--display-weight:500;--em:italic;--text:Manrope,-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;
}
:root[data-palette="onyx"]{
  --bg:#000;--surface:#0e0e0f;--ink:#fff;--muted:#8e8e93;--gold:#d4a537;--gold-2:#9c7a2a;--line:#1f1f21;
  --paper:#111113;--paper-ink:#f5f5f7;--paper-muted:#8e8e93;--paper-line:#2a2a2d;--no:#ff6b5e;--ok:#5fd17a;--on-gold:#000;
  --display:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',Inter,sans-serif;--display-weight:600;--em:normal;--text:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',sans-serif;
}
:root[data-palette="graphite"]{
  --bg:#1d1d1f;--surface:#28282a;--ink:#f5f5f7;--muted:#a1a1a6;--gold:#c2a067;--gold-2:#8f7448;--line:#38383b;
  --paper:#f5f5f7;--paper-ink:#1d1d1f;--paper-muted:#6e6e73;--paper-line:#d2d2d7;--no:#b3261e;--ok:#1d7a3a;--on-gold:#1d1d1f;
  --display:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue',Inter,sans-serif;--display-weight:600;--em:normal;--text:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',sans-serif;
}
:root[data-palette="midnight"]{
  --bg:#07080a;--surface:#0f1115;--ink:#eef0f3;--muted:#8f96a0;--gold:#cfb27a;--gold-2:#977f51;--line:#1c2026;
  --paper:#0f1115;--paper-ink:#eef0f3;--paper-muted:#8f96a0;--paper-line:#232830;--no:#ff7a6b;--ok:#6ad08a;--on-gold:#07080a;
  --display:'Bodoni Moda',Georgia,serif;--display-weight:400;--em:italic;--text:-apple-system,BlinkMacSystemFont,'SF Pro Text','Helvetica Neue',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:88px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--text);-webkit-font-smoothing:antialiased;transition:background .4s,color .4s}
img,video{max-width:100%;height:auto}
a{color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding-inline:48px}
.skip{position:absolute;left:-999px;top:8px}
.skip:focus{left:16px;z-index:50;background:var(--ink);color:var(--bg);padding:12px 16px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Preview bar */
.review{background:var(--surface);color:var(--muted);font-size:11px;letter-spacing:.06em;text-align:center;padding:6px 16px}

/* Header: translucent, sticky */
.site-head{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:34px;height:34px;object-fit:contain;filter:brightness(0) invert(1)}
:root[data-palette="graphite"] .brand img{filter:brightness(0) invert(.96)}
.brand span{font:600 13px/1.1 'Bodoni Moda',Georgia,serif;letter-spacing:.14em}
.nav{display:flex;align-items:center;gap:28px;font-size:13px}
.nav a{text-decoration:none;color:var(--muted);transition:color .2s}
.nav a:hover,.nav a[aria-current=page]{color:var(--ink)}
.nav .pill{color:var(--on-gold)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:8px 16px;font:inherit;font-size:13px;min-height:40px}

/* Buttons */
.pill{padding:12px 22px;font-size:14px}
.pill.lg{min-height:52px;padding:15px 28px;font-size:16px}
.pill.sm{min-height:36px;padding:8px 16px;font-size:13px}

/* Type */
h1,h2,h3{font-family:var(--display);font-weight:var(--display-weight);margin:0;text-wrap:balance}
h1{font-size:clamp(42px,4.6vw,70px);line-height:1.04;letter-spacing:-.035em}
h2{font-size:clamp(34px,4.2vw,60px);line-height:1.06;letter-spacing:-.03em}
h3{font-size:20px;line-height:1.3;letter-spacing:-.01em}
h1 em,h2 em{font-style:var(--em);color:var(--gold)}
.eyebrow{margin:0 0 22px;font:600 11px/1.4 var(--text);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.lede{font-size:clamp(18px,1.5vw,21px);line-height:1.55;color:var(--muted);max-width:30em;margin:28px 0 40px}
.muted{color:var(--muted)}

/* Sections */
.sec{padding-block:140px}
.sec+.sec{border-top:1px solid var(--line)}
.sec-head{max-width:760px;margin-bottom:64px}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head p:not(.eyebrow){color:var(--muted);font-size:19px;margin:22px 0 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.split.top{align-items:start}

/* Hero */
.hero{display:grid;grid-template-columns:1.05fr 1.2fr;gap:56px;align-items:center;min-height:calc(100svh - 73px);padding-block:72px 96px}
.hero-quote{margin:0;padding:48px;border:1px solid var(--line);border-radius:28px;background:var(--surface)}
.hero-quote blockquote{margin:0 0 24px;font:var(--display-weight) clamp(26px,2.6vw,38px)/1.25 var(--display);letter-spacing:-.015em}
.hero-quote figcaption{font-size:14px;color:var(--muted)}
.hero-quote figcaption b{display:block;color:var(--gold);font-weight:600}

/* Films */
.film{margin:0}
.film .motion-frame{position:relative;isolation:isolate;aspect-ratio:1344/768;overflow:hidden;border-radius:24px;background:#0b0a09}
.film .motion-frame img,.film .motion-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border:0}
.film .motion-frame video{opacity:0;transition:opacity .8s ease}
.film.is-ready .motion-frame video{opacity:1}
.film.is-static .motion-frame video{opacity:0}
.motion-toggle{position:absolute;right:14px;bottom:14px;z-index:2;width:34px;height:34px;border-radius:50%;border:0;padding:0;background:color-mix(in srgb,#000 55%,transparent);color:#fff;font-size:0;cursor:pointer;opacity:0;transition:opacity .25s;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.motion-toggle::before{content:"❚❚";font-size:10px;letter-spacing:-1px}
.motion-toggle[aria-label="Play animation"]::before{content:"▶";font-size:11px}
.film:hover .motion-toggle,.motion-toggle:focus-visible{opacity:1}
.motion-toggle[hidden]{display:none}
@media(hover:none){.motion-toggle{opacity:.7}}

/* Channel ledger */
.ledger{background:var(--paper);color:var(--paper-ink);border-radius:24px;padding:40px 44px 36px;border:1px solid var(--paper-line)}
.ledger-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font:600 11px/1.4 var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--paper-muted);padding-bottom:16px;border-bottom:1px solid var(--paper-ink)}
.ledger ul{list-style:none;margin:0;padding:0}
.ledger li{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0;border-bottom:1px solid var(--paper-line)}
.ledger li b{font-weight:600;font-size:16px}
.ledger li small{grid-column:1/-1;color:var(--paper-muted);font-size:14px;line-height:1.45}
.st{align-self:center;font:700 10px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;padding:6px 10px;border-radius:999px;border:1px solid currentColor}
.st.no{color:var(--no)}
.st.ok{color:var(--ok)}
.ledger-foot{margin:22px 0 0;font:var(--display-weight) 24px/1.3 var(--display);letter-spacing:-.01em}

/* Stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stat{padding:40px 32px 8px 0}
.stat+.stat{padding-left:32px;border-left:1px solid var(--line)}
.stat b{display:block;font:var(--display-weight) clamp(44px,4.4vw,64px)/1 var(--display);letter-spacing:-.03em;color:var(--gold);white-space:nowrap;margin-bottom:18px}
.stat span{display:block;color:var(--muted);font-size:15px;line-height:1.5}
.stat a{display:inline-block;margin-top:10px;font-size:12px;color:var(--gold-2);text-decoration:none}
.stat a:hover{color:var(--gold)}

/* Quotes */
.quotes{display:grid;gap:96px;max-width:980px;margin:0 auto;text-align:center}
.quote{margin:0}
.quote blockquote{margin:0 0 22px;font:var(--display-weight) clamp(28px,3.2vw,46px)/1.22 var(--display);letter-spacing:-.02em}
.quote figcaption{font-size:14px;color:var(--muted)}
.quote figcaption b{color:var(--gold);font-weight:600}

/* Calculator */
.calc{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.calc label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}
.calc input{background:var(--surface);border:1px solid var(--line);border-radius:14px;color:var(--ink);font:inherit;font-size:20px;padding:14px 16px;width:100%;-moz-appearance:textfield}
.calc input::-webkit-outer-spin-button,.calc input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.calc input:focus{outline:none;border-color:var(--gold)}
.calc-out{grid-column:1/-1;margin:24px 0 0;font:var(--display-weight) clamp(24px,2.4vw,34px)/1.3 var(--display);letter-spacing:-.015em;min-height:2.6em}
.calc-out b{color:var(--gold);font-weight:inherit}

/* Service grid */
.jobs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:56px 64px;counter-reset:j}
.jobs li{counter-increment:j}
.jobs li::before{content:counter(j,decimal-leading-zero);display:block;font:600 12px/1 var(--text);letter-spacing:.18em;color:var(--gold);margin-bottom:18px}
.jobs p{margin:10px 0 0;color:var(--muted);max-width:30em}
.note{margin:72px 0 0;color:var(--muted);font-size:14px;max-width:46em}

/* Statement */
.statement{max-width:900px;margin:0 auto;text-align:center}
.statement p.big{font:var(--display-weight) clamp(28px,3vw,42px)/1.3 var(--display);letter-spacing:-.02em;margin:0 0 28px}
.statement p.big em{font-style:var(--em);color:var(--gold)}
.statement .links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:var(--muted)}

/* Episodes */
.episodes{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.episode{text-decoration:none;display:block}
.episode img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:18px;margin-bottom:18px;transition:transform .4s}
.episode:hover img{transform:scale(1.015)}
.episode b{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--gold);margin-bottom:6px}
.episode span{display:block;font-size:19px;line-height:1.35}
.episode small{display:block;margin-top:6px;color:var(--muted);font-size:13px}

/* Booking */
.book{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.book ol{margin:36px 0 0;padding:0;list-style:none;counter-reset:s}
.book ol li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;padding:14px 0;border-top:1px solid var(--line);color:var(--muted)}
.book ol li::before{content:counter(s);color:var(--gold);font-weight:600}
.cal{position:relative;min-width:280px;height:760px;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.cal::before{content:"Loading calendar";position:absolute;top:48px;left:0;right:0;text-align:center;color:var(--muted);font-size:13px;letter-spacing:.1em}
.cal iframe{position:relative;z-index:1}
.cal .cal-fallback{position:absolute;bottom:24px;left:0;right:0;text-align:center;font-size:13px}
.cal:has(iframe) .cal-fallback{display:none}

/* FAQ + sources */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:22px 0;font-size:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:22px;line-height:1;transition:transform .25s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:0 0 22px;color:var(--muted);max-width:40em}
.sources{padding-block:56px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}
.sources summary{cursor:pointer;color:var(--gold);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:600}
.sources ol{margin:24px 0 0;padding-left:20px;columns:2;column-gap:48px}
.sources li{padding:4px 0;break-inside:avoid}

/* Footer */
/* Footer: brand column, three link groups, base row (one footer on every page; homepage mirrors it in samples/s1/style.css) */
.site-foot{border-top:1px solid var(--line);padding-block:72px 40px;font-size:15px;color:var(--muted)}
.site-foot a{text-decoration:none;color:var(--muted);transition:color .2s,border-color .2s}
.site-foot a:hover{color:var(--gold-2)}
.foot-top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr);gap:48px;padding-bottom:56px}
.foot-line{margin:20px 0 24px;font:italic var(--display-weight) 20px/1.35 var(--display);color:var(--ink);text-wrap:balance}
.site-foot .social{display:flex;flex-wrap:wrap;gap:8px}
.site-foot .social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink)}
.site-foot .social svg{width:19px;height:19px;fill:currentColor}
.site-foot .social a:hover{border-color:var(--gold-2);color:var(--gold-2)}
.foot-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.foot-links div{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.foot-h{margin:0 0 4px;font:700 12px/1.4 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.foot-base{display:flex;justify-content:space-between;align-items:baseline;gap:12px 32px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line);font-size:13px}
.foot-base p{margin:0}
@media(max-width:760px){.site-foot{padding-block:56px 32px}.foot-top{grid-template-columns:1fr;gap:40px;padding-bottom:40px}.foot-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}}

/* Palette switcher (preview only) */
.palettes{position:fixed;left:16px;bottom:16px;z-index:40;display:flex;align-items:center;gap:6px;padding:6px 8px 6px 14px;border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:11px;color:var(--muted)}
.palettes span{margin-right:4px;letter-spacing:.08em}
.palettes button{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%)}
.palettes button[aria-pressed=true]{border-color:var(--ink)}
.palettes output{min-width:110px;padding-left:6px;color:var(--ink)}

/* Responsive */
@media(max-width:1100px){
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 24px;background:var(--bg);border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .nav a{padding:14px 0;font-size:16px;border-bottom:1px solid var(--line)}
  .nav .pill{margin-top:16px;justify-content:center;border-bottom:0}
  .split,.book{gap:56px}
  .hero{gap:48px}
}
@media(max-width:900px){
  .wrap{padding-inline:28px}
  .sec{padding-block:96px}
  .hero,.split,.book{grid-template-columns:1fr}
  .hero{min-height:0;padding-block:48px 80px}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){padding-left:0;border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .episodes{grid-template-columns:1fr}
  .sources ol{columns:1}
}
@media(max-width:640px){
  .wrap{padding-inline:20px}
  .sec{padding-block:80px}
  .sec-head{margin-bottom:44px}
  .jobs{grid-template-columns:1fr;gap:40px}
  .calc{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .stat,.stat+.stat{padding:32px 0 8px;border-left:0}
  .stat+.stat{border-top:1px solid var(--line)}
  .ledger{padding:28px 22px;border-radius:20px}
  .hero-quote{padding:32px;border-radius:22px}
  .film .motion-frame{border-radius:18px}
  .quotes{gap:72px}
  .cal{height:980px}
  .palettes output{display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.film.side{margin-top:48px}
.split .jobs{grid-template-columns:1fr;gap:40px}

/* Readability pass, 12 Oct 2026 (Espresso & Gold Leaf). WCAG AAA (7:1) for text, larger small type, defined panels. */
body{font-size:18px;line-height:1.65}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:.16em}
.lede{color:var(--muted)}
.review{font-size:12px;color:var(--muted)}
.nav{font-size:14px}
.nav a{color:var(--muted)}
/* Alternating defined bands */
.sec:nth-of-type(even){background:var(--surface)}
.sec+.sec{border-top:1px solid var(--line)}
/* Stats become defined cards */
.stats{border-top:0;gap:16px}
.stat,.stat+.stat{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px 28px 28px}
.stat span{font-size:16px;color:var(--muted)}
.stat a{font-size:14px;color:var(--gold-2);text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.stat:nth-child(3){padding-left:28px}.stat:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:640px){.stat,.stat+.stat{padding:28px 24px}}
/* Quotes sit on a card */
.quote{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:56px clamp(24px,5vw,72px)}
.quote figcaption{font-size:15px;color:var(--muted)}
/* Ledger notes and badges */
.ledger li small{font-size:15px}
.st{font-size:11px;padding:6px 11px;background:#fff}
/* Calculator, jobs, notes, FAQ on defined panels */
.calc{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px}
.calc label{font-size:14px;color:var(--muted)}
.calc input{background:var(--bg);border-color:var(--line)}
.jobs li{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px}
.jobs p{font-size:17px;color:var(--muted)}
.note{font-size:16px;color:var(--muted)}
.faq{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:8px 28px}
.faq details:first-child{border-top:0}
.faq details:last-child{border-bottom:0}
.faq details p{font-size:17px;color:var(--muted)}
.book ol li{color:var(--muted);font-size:17px}
.statement .links{font-size:15px;color:var(--muted)}
.episode small{font-size:14px;color:var(--muted)}
.sources{font-size:14px;color:var(--muted)}
.hero-quote figcaption{font-size:15px;color:var(--muted)}
.cal::before{font-size:14px;color:var(--muted)}
.calc label{justify-content:flex-end}

/* Scroll story scenes */
.scene{position:relative;height:var(--scene-h,340vh)}
.scene-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;overflow:hidden;padding-top:72px}
.scene-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:64px;align-items:center;width:100%}
.scene-steps{display:grid}
.scene-step{grid-area:1/1;opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease;pointer-events:none}
.scene-step.is-active{opacity:1;transform:none;pointer-events:auto}
.scene-step h2{margin-bottom:0}
.scene-step .lede{margin-bottom:32px}
.scene-media{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:16/9;background:#0b0806;border:1px solid var(--line)}
.scene-media video,.scene-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scene-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:color-mix(in srgb,var(--ink) 10%,transparent)}
.scene-progress i{display:block;height:100%;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.scroll-hint{display:inline-flex;align-items:center;gap:10px;margin-top:40px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.scroll-hint::after{content:"";width:1px;height:28px;background:linear-gradient(var(--gold),transparent);animation:hint 1.8s ease-in-out infinite}
@keyframes hint{0%,100%{transform:translateY(-4px);opacity:.4}50%{transform:translateY(4px);opacity:1}}

/* Locker: open interior underneath, nine door leaves on top that swing on scroll */
.locker{position:relative;aspect-ratio:2000/1116;transform-style:preserve-3d;transform:scale(var(--zoom,1.32));transform-origin:50% 52%}
.locker>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.locker .locker-closed{transition:opacity .3s}
.locker.is-built .locker-closed{opacity:0}
.door{position:absolute;background-repeat:no-repeat;will-change:transform;backface-visibility:visible;filter:brightness(calc(1 - var(--o,0) * .45));box-shadow:0 0 calc(var(--o,0) * 40px) rgba(0,0,0,calc(var(--o,0) * .6))}
.locker::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(60% 60% at 50% 55%,rgba(255,180,90,.10),transparent 70%)}

/* Reveals */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.is-in{opacity:1;transform:none}

@media(max-width:900px){
  .scene{height:var(--scene-h-m,300vh)}
  .scene-pin{align-items:flex-start;padding-top:96px}
  .scene-grid{grid-template-columns:1fr;gap:28px}
  .scene-media{order:-1;border-radius:18px}
  .scene-step h1{font-size:clamp(36px,9vw,48px)}
  .scene-step h2{font-size:clamp(30px,8vw,40px)}
  .scene-step .lede{font-size:17px;margin:16px 0 24px}
  .scroll-hint{margin-top:20px}
}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.scroll-hint::after{animation:none}.scene-step{transition:none}}
.scroll-hint{display:flex;width:max-content}
.scene-grid{grid-template-columns:.9fr 1.4fr}
@media(max-width:900px){.scene-grid{grid-template-columns:1fr}}
.scene-media.has-locker{aspect-ratio:16/9;background:#0a0705}
.scene-media.has-locker .locker{position:absolute;left:0;right:0;top:50%;margin-top:calc(-100% * 1116 / 2000 / 2)}

/* Reach strip under the hero */
.reach{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 48px;padding:28px 0;border-block:1px solid var(--line);background:var(--surface)}
.reach span{display:flex;align-items:baseline;gap:10px;color:var(--muted);font-size:15px}
.reach b{font:var(--display-weight) 30px/1 var(--display);color:var(--gold)}
.reach sup,.case sup,.stat sup{font-size:.6em;color:var(--gold-2);margin-left:2px}

/* Case stage (Caesar .case12 pattern) */
.cases .scene-grid{grid-template-columns:.8fr 1.6fr;align-items:center}
.case-tabs{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.case-tabs span{font-size:15px;color:var(--muted);padding-left:14px;border-left:2px solid var(--line)}
.case{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:36px 40px}
.case-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.case-top h3{font-size:30px}
.chip{display:inline-block;font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 14px;background:var(--bg)}
.case-nums{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.case-nums>div{border-radius:20px;padding:22px 24px;background:var(--bg);border:1px solid var(--line)}
.case-nums>div.with{border-color:var(--gold-2)}
.case-nums small{display:block;font:700 12px/1.4 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.case-nums .with small{color:var(--gold)}
.case-nums strong{display:block;font:var(--display-weight) clamp(40px,4vw,56px)/1 var(--display);color:var(--ink);margin-bottom:10px}
.case-nums .with strong{color:var(--gold)}
.case-nums p{margin:0;font-size:15px;color:var(--muted)}
.case blockquote{margin:0 0 6px;font:var(--display-weight) 21px/1.45 var(--display)}
.case .who{font-size:14px;color:var(--muted);margin:0 0 18px}
.case .caveat{margin:0;font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
.case .caveat a{color:var(--gold)}
.honest{margin-top:20px;font-size:15px;color:var(--muted)}

/* Guest wall */
.guests{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.guest{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:24px;overflow:hidden;transition:transform .35s,border-color .35s}
.guest:hover{transform:translateY(-4px);border-color:var(--gold-2)}
.guest-photo{position:relative;aspect-ratio:4/5;overflow:hidden}
.guest-photo img.portrait{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.guest:hover .guest-photo img.portrait{transform:scale(1.03)}
.guest-photo .logo{position:absolute;left:20px;bottom:18px;max-width:46%;max-height:56px;width:auto;height:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.guest-photo::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(10,6,4,.85))}
.guest-photo .logo{z-index:1}
.guest-body{padding:22px 24px 26px}
.guest-body b{display:block;font:var(--display-weight) 24px/1.2 var(--display);margin-bottom:4px}
.guest-body span{display:block;color:var(--muted);font-size:15px}
.guest-body small{display:inline-block;margin-top:14px;color:var(--gold);font-size:14px}

/* Quote avatars */
.quote figcaption{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap}
.quote figcaption img.av{width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:50% 25%;border:1px solid var(--gold-2)}
.quote figcaption img.lg{height:30px;width:auto;opacity:.95}

/* Founder card */
.founder{display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:28px;padding:40px;text-align:left}
.founder img{width:100%;height:auto;border-radius:20px;display:block}
.founder h3{font-size:clamp(28px,2.6vw,38px);margin-bottom:16px}
.founder ul{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px}
.founder li{padding-left:22px;position:relative;color:var(--muted);font-size:16px}
.founder li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.founder .links{justify-content:flex-start}

@media(max-width:900px){
  .scene.cases{height:auto}
  .scene.cases .scene-pin{position:static;height:auto;padding-top:0;display:block}
  .scene.cases .scene-steps{gap:24px}
  .scene.cases .scene-step{grid-area:auto;opacity:1;transform:none;pointer-events:auto}
  .case-tabs{display:none}
  .case{padding:28px 22px}
  .case-nums{grid-template-columns:1fr}
  .guests{grid-template-columns:1fr}
  .founder{grid-template-columns:1fr;padding:28px 22px;gap:28px}
  .reach{gap:10px 28px}
  .reach b{font-size:24px}
}
.founder .h3{font-size:clamp(28px,2.6vw,38px);margin-bottom:16px}
@media(max-width:900px){.cases .scene-grid{grid-template-columns:1fr;gap:32px}.case-nums>div{min-width:0}.case-top h3{font-size:26px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Services dropdown + locker v2 (lounge session) */
.locker .cell-shade{position:absolute;background:#060403;opacity:0;pointer-events:none}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.text-link{color:var(--ink);font-size:15px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:2px}
.text-link:hover{color:var(--gold)}

.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.tier{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:34px 30px 30px}
.tier.is-core{border-color:color-mix(in srgb,var(--gold) 55%,var(--line));box-shadow:0 30px 60px -30px rgba(0,0,0,.7),inset 0 1px 0 color-mix(in srgb,var(--gold) 30%,transparent)}
.tier-tag{margin:0 0 18px;font:700 12px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.tier h3{font-size:clamp(28px,2.6vw,34px);line-height:1.1}
.tier-pitch{margin:12px 0 24px;color:var(--muted);font-size:17px;line-height:1.5}
.tier ul{list-style:none;margin:0 0 26px;padding:24px 0 0;border-top:1px solid var(--line);display:grid;gap:14px;font-size:16px;line-height:1.45}
.tier li{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start}
.tier li svg{width:16px;height:16px;margin-top:4px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tier-foot{margin:auto 0 0;font-size:15px;line-height:1.5;color:var(--muted)}
.tier.is-guarantee .tier-foot{background:color-mix(in srgb,var(--gold) 9%,var(--bg));border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));border-radius:14px;padding:16px 18px;color:var(--ink)}
.tier-foot b{color:var(--gold)}
.every{list-style:none;margin:28px 0 0;padding:22px 28px;display:grid;grid-template-columns:1fr 1fr;gap:10px 34px;border:1px solid var(--line);border-radius:18px;font-size:15px;color:var(--muted)}
.every li::before{content:"·";color:var(--gold);margin-right:10px;font-weight:700}
.offer-cta{margin:44px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;font-size:18px}
@media(max-width:1000px){.tiers{grid-template-columns:1fr;max-width:620px}}
@media(max-width:600px){.tier{padding:28px 22px 24px}.every{padding:20px;grid-template-columns:1fr}}



/* Channel wall: logo tiles that get stamped closed on scroll (lounge session) */
.wall-sec .sec-head{margin-bottom:40px}
.wall{position:relative}
.wall-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 32px;margin-bottom:22px}
.wall-head>span{font:600 12px/1.4 var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.wall-count{display:flex;align-items:baseline;gap:10px;font-size:15px;color:var(--muted)}
.wall-count b{font:var(--display-weight) 64px/1 var(--display);color:var(--ink);font-variant-numeric:tabular-nums;min-width:.6em;text-align:right}
.wall-count i{font-style:normal;font:var(--display-weight) 30px/1 var(--display);color:var(--muted)}
.wall-meter{height:3px;border-radius:3px;background:color-mix(in srgb,var(--ink) 12%,transparent);margin-bottom:26px;overflow:hidden}
.wall-meter i{display:block;height:100%;width:100%;background:#c0392b;transform-origin:left;transform:scaleX(var(--m,0));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}
.tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-height:190px;padding:24px 20px 20px;background:var(--paper);color:var(--paper-ink);border-radius:20px;overflow:hidden;transition:background .5s,transform .5s cubic-bezier(.2,.7,.2,1)}
.tile .logos{display:flex;gap:10px;margin-bottom:auto}
.tile .logo{width:46px;height:46px;background:var(--brand,var(--paper-ink));-webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat;transition:background .5s,opacity .5s}
.tile b{font-size:16px;font-weight:700;line-height:1.25}
.tile small{font-size:13px;line-height:1.4;color:var(--paper-muted)}
.stamp{position:absolute;top:30%;left:50%;translate:-50% -50%;font:800 16px/1 var(--text);background:color-mix(in srgb,var(--paper) 70%,transparent);letter-spacing:.2em;text-transform:uppercase;color:#76150e;border:2.5px solid currentColor;outline:1px solid currentColor;outline-offset:2px;padding:8px 12px 7px;border-radius:6px;transform:rotate(-12deg) scale(1.9);opacity:0;transition:transform .35s cubic-bezier(.3,1.6,.5,1),opacity .2s;mix-blend-mode:multiply}
.tile.is-shut{background:color-mix(in srgb,var(--paper) 82%,#8a7a66)}
.tile.is-shut .logo{background:var(--paper-muted);opacity:.45}
.tile.is-shut b{text-decoration:line-through;text-decoration-color:#a3231a;text-decoration-thickness:2px}
.tile.is-shut .stamp{opacity:1;transform:rotate(-12deg) scale(1)}
.wall-turn{margin:44px 0 18px;font:var(--display-weight) clamp(26px,3vw,36px)/1.2 var(--display);color:var(--muted);transition:color .6s}
.wall.is-open .wall-turn{color:var(--ink)}
.wall-turn em{font-style:var(--em);color:var(--gold)}
.tiles.own{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tile.own{background:var(--card);color:var(--ink);border:1px solid var(--line);min-height:150px;flex-direction:row;align-items:center;gap:20px;padding:26px 24px}
.tile.own .logos{margin:0}
.tile.own .logo{width:54px;height:54px;background:var(--muted);opacity:.5}
.tile.own .stamp{position:static;translate:none;background:none;transform:none;opacity:1;color:var(--muted);border-color:currentColor;mix-blend-mode:normal;margin-left:auto;outline:0}
.tile.own small{color:var(--muted)}
.wall.is-open .tile.own{border-color:color-mix(in srgb,var(--gold) 70%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 25%,transparent),0 20px 60px -20px color-mix(in srgb,var(--gold) 45%,transparent)}
.wall.is-open .tile.own .logo{background:var(--gold);opacity:1}
.wall.is-open .tile.own .stamp{color:var(--gold)}
.tile.own .txt{display:grid;gap:4px}
@media(max-width:600px){.tiles{grid-template-columns:1fr 1fr;gap:10px}.tiles:not(.own) .tile:last-child:nth-child(odd){grid-column:span 2;min-height:140px}.tile{min-height:170px;padding:18px 14px 16px}.tile .logo{width:38px;height:38px}.stamp{font-size:12px;padding:6px 9px 5px}.wall-count b{font-size:48px}.tiles.own{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.tile,.tile .logo,.stamp,.wall-turn,.wall-meter i{transition:none}}

/* Arsenal: levers grouped by job, filtered by offer level (lounge session) */
.d-p,.d-r,.d-g{display:inline-block;width:9px;height:9px;border-radius:50%}
.d-p{background:#c98a5a}.d-r{background:var(--gold)}.d-g{background:#8fb07a}
.lever-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:40px}
.lever-bar button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--muted);font:600 14px/1 var(--text);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.lever-bar button:hover{color:var(--ink)}
.lever-bar button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.lever-count{margin-left:auto;font-size:15px;color:var(--muted)}
.lever-count b{font:var(--display-weight) 30px/1 var(--display);color:var(--ink);margin-right:4px}
.lever-group{margin-top:44px}
.lg-label{margin:0 0 16px;font:700 12px/1 var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.levers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.levers.two{grid-template-columns:1fr 1fr}
.lever{position:relative;display:flex;flex-direction:column;gap:8px;min-height:200px;padding:22px 20px 18px;background:var(--card);border:1px solid var(--line);border-radius:20px;transition:opacity .35s,border-color .35s,transform .35s,box-shadow .35s}
.lever .logos{display:flex;gap:8px;margin-bottom:10px}
.lever .logo{width:34px;height:34px;background:var(--brand,var(--gold));-webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat;transition:background .35s}
.lever b{font-size:17px;line-height:1.25}
.lever small{font-size:14px;line-height:1.45;color:var(--muted)}
.lever .dots{display:flex;gap:6px;margin-top:auto;padding-top:10px}
.sw{position:absolute;top:22px;right:20px;width:38px;height:22px;border-radius:999px;background:color-mix(in srgb,var(--ink) 14%,transparent);transition:background .3s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .3s cubic-bezier(.3,1.4,.5,1),background .3s}
.lever.is-on{border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}
.lever.is-on .sw{background:color-mix(in srgb,var(--gold) 80%,transparent)}
.lever.is-on .sw::after{transform:translateX(16px);background:var(--on-gold)}
.lever:not(.is-on){opacity:.38}
.lever:not(.is-on) .logo{background:var(--muted)}
.found-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:14px;align-items:stretch}
/* Illustrated Google listing + AI answer */
.serp{position:relative;margin:0;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:24px;background:radial-gradient(120% 90% at 20% 0%,color-mix(in srgb,var(--gold) 12%,var(--card)),var(--card));border:1px solid var(--line)}
.serp-map{position:relative;height:150px;border-radius:16px;overflow:hidden;background:
  linear-gradient(90deg,transparent 47%,#cfc3ad 47% 49%,transparent 49%) 0 0/120px 100%,
  linear-gradient(0deg,transparent 46%,#cfc3ad 46% 48%,transparent 48%) 0 0/100% 90px,
  linear-gradient(35deg,transparent 60%,#d9cdb6 60% 63%,transparent 63%),#e9e0cf}
.pin{position:absolute;left:50%;top:44%;width:26px;height:26px;margin:-26px 0 0 -13px;border-radius:50% 50% 50% 0;background:#d93025;transform:rotate(-45deg);box-shadow:0 6px 14px rgba(0,0,0,.35);animation:pin 2.4s ease-in-out infinite}
.pin::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}
@keyframes pin{0%,100%{translate:0 0}50%{translate:0 -6px}}
.serp-card{display:grid;gap:4px;padding:16px 18px;border-radius:16px;background:#fff;color:#202124;font:14px/1.4 Arial,Helvetica,sans-serif}
.serp-card b{font-size:19px;font-weight:500;color:#1a0dab}
.serp-rate{color:#4d5156}.stars{color:#fbbc04;letter-spacing:1px}
.serp-open{color:#0d652d}
.serp-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.serp-btns span{padding:6px 12px;border:1px solid #dadce0;border-radius:999px;color:#174ea6;font-size:13px}
.serp-post{margin-top:8px;padding-top:10px;border-top:1px solid #eee;color:#4d5156;font-size:13px}
.ai{display:grid;gap:8px}
.ai p{margin:0;font-size:14px;line-height:1.45;padding:10px 14px;border-radius:14px;max-width:88%}
.ai-q{justify-self:end;background:var(--ink);color:var(--bg)}
.ai-a{display:flex;align-items:flex-start;gap:10px;background:color-mix(in srgb,var(--ink) 8%,transparent);color:var(--ink)}
.ai-a .logo{width:18px;height:18px;flex:none;margin-top:2px;background:var(--brand);-webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat}
.serp figcaption{font-size:12px;color:var(--muted);letter-spacing:.04em}
@media(max-width:1100px){.levers{grid-template-columns:1fr 1fr}.found-grid{grid-template-columns:1fr}}
@media(max-width:600px){.levers,.levers.two{grid-template-columns:1fr 1fr;gap:10px}.lever{min-height:0;padding:16px 14px 14px}.lever b{font-size:15px}.lever small{font-size:13px}.lever .logo{width:28px;height:28px}.sw{top:16px;right:14px;transform:scale(.85);transform-origin:right top}.lever-count{margin-left:0;width:100%}.lever-bar button{padding:8px 14px;font-size:13px;min-height:40px}}
.tier-tag i{margin-right:8px;vertical-align:1px}
@media(prefers-reduced-motion:reduce){.pin{animation:none}.lever,.sw,.sw::after{transition:none}}

/* S1 merge: duo cards, fit, who chips, formats, apply form (lounge session) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.duo-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:30px 30px 26px}
.duo-card.is-gold{border-color:color-mix(in srgb,var(--gold) 50%,var(--line))}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:16px;font-size:17px;line-height:1.45}
.checks li{display:grid;grid-template-columns:20px 1fr;gap:12px}
.checks svg{width:18px;height:18px;margin-top:4px;fill:none;stroke:var(--gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.duo-card.is-no .checks svg{stroke:#d9776b}
.duo-card.is-no .tier-tag{color:#d9a59c}
.book .muted{margin-top:18px;font-size:15px}
.who-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.who-chips li{padding:14px 22px;border:1px solid var(--line);border-radius:999px;background:var(--card);font:var(--display-weight) 22px/1 var(--display)}
.formats{margin-top:64px}
.formats>.muted{margin:-6px 0 18px;font-size:15px}
.formats .lever{min-height:160px}
.offer-cta .text-link{margin-left:4px}
.steps{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:14px;counter-reset:s}
.steps li{position:relative;padding-left:44px;color:var(--muted);font-size:17px;line-height:1.5;counter-increment:s}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);display:grid;place-items:center;font:700 13px/1 var(--text)}
.steps b{color:var(--ink)}
.apply{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:30px}
.apply>p,.apply .wide,.apply button,.apply .form-err{grid-column:1/-1}
.apply label{display:grid;gap:8px;font-size:14px;font-weight:600;color:var(--ink)}
.apply .opt{font-weight:400;color:var(--muted)}
.apply input,.apply select,.apply textarea{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:16px/1.4 var(--text)}
.apply textarea{resize:vertical}
.apply input:focus,.apply select:focus,.apply textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.apply button{justify-self:start;border:0;cursor:pointer}
.apply .muted{margin:0;font-size:14px;color:var(--muted)}
.apply .small{font-size:13px}
.form-err{margin:0;color:#f0a39a;font-size:14px}
.sent{margin:0;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--gold) 10%,var(--bg));font-size:14px}
@media(max-width:900px){.duo{grid-template-columns:1fr}}
@media(max-width:600px){.apply{grid-template-columns:1fr;padding:22px}.duo-card{padding:24px 20px}.who-chips li{font-size:18px;padding:12px 18px}}

/* Header v3 (site pages session, 13 Oct 2026): one header everywhere, matching the homepage masthead. */
.site-head .wrap{height:76px}
.site-head .brand img{width:44px;height:44px}
.site-head .brand span{font-size:15px}
.nav{gap:30px;font-size:15px}
.nav a{color:var(--muted)}
.nav-ctas{display:flex;align-items:center;gap:12px;margin-left:6px}
.cta-ghost{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:12px 20px;color:var(--ink)!important;font-weight:600;font-size:15px;text-decoration:none;transition:border-color .2s}

.nav .nav-ctas .pill{padding:12px 22px;font-size:15px;color:var(--on-gold)}
@media(max-width:1100px){
  .nav-ctas{flex-direction:column;align-items:stretch;margin:16px 0 0}
  .nav-ctas a{justify-content:center;border-bottom:0!important}
}
.site-head .wrap{max-width:1340px;padding-inline:48px;height:72px}@media(max-width:900px){.site-head .wrap{padding-inline:24px}}@media(max-width:640px){.site-head .wrap{padding-inline:16px;height:64px}}

/* Audit teaser + popup (lounge session) */
.tz-list{list-style:none;margin:26px 0 30px;padding:0;display:grid;gap:12px}
.tz-list li{position:relative;padding-left:30px;font-size:17px}
.tz-list li::before{content:"";position:absolute;left:0;top:6px;width:16px;height:16px;border-radius:50%;background:var(--gold);-webkit-mask:url(/assets/logos/check.svg) center/contain no-repeat;mask:url(/assets/logos/check.svg) center/contain no-repeat}
.tz-meta{font-size:14px;color:var(--muted)}
.tz-card{display:grid;gap:14px;padding:30px;border-radius:26px;background:var(--card);border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));text-decoration:none;color:var(--ink);box-shadow:0 30px 70px -35px rgba(0,0,0,.8);transition:transform .3s,border-color .3s}
.tz-card:hover{transform:translateY(-4px);border-color:var(--gold)}
.tz-top{display:flex;align-items:center;gap:22px;margin-bottom:6px}
.tz-dial{--v:0;position:relative;flex:none;width:110px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;align-content:center;background:conic-gradient(var(--gold) calc(var(--v)*1%),color-mix(in srgb,var(--ink) 10%,transparent) 0)}
.tz-dial::before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--card)}
.tz-dial b,.tz-dial small{position:relative}.tz-dial b{font:var(--display-weight) 40px/1 var(--display)}.tz-dial small{font-size:12px;color:var(--muted)}
.tz-cap{font-size:16px;color:var(--muted);line-height:1.45}
.tz-bar{display:grid;grid-template-columns:130px 1fr;align-items:center;gap:14px;font-size:14px;color:var(--muted)}
.tz-bar i{height:9px;border-radius:9px;background:linear-gradient(90deg,var(--gold) calc(var(--s)*1%),color-mix(in srgb,var(--ink) 10%,transparent) 0)}
.tz-money{display:grid;gap:4px;margin-top:8px;padding:16px 18px;border-radius:16px;background:color-mix(in srgb,#c0392b 12%,var(--bg));border:1px solid color-mix(in srgb,#c0392b 40%,var(--line))}
.tz-money small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#f0a39a}
.tz-money b{font:var(--display-weight) 30px/1.1 var(--display);filter:blur(5px);user-select:none}
.audit-pop{position:fixed;left:auto;top:auto;right:24px;bottom:24px;z-index:40;width:min(380px,calc(100vw - 32px));margin:0;padding:26px 24px 22px;border-radius:22px;border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px rgba(0,0,0,.85);transform:translateY(20px);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s}
.audit-pop[open]{display:block}
.audit-pop.is-in{transform:none;opacity:1}
.audit-pop.is-in.is-tucked{transform:translateY(24px);opacity:0;pointer-events:none}
.audit-pop h2{font-size:26px;line-height:1.15;margin:4px 0 10px}
.audit-pop h2 em{font-style:var(--em);color:var(--gold)}
.audit-pop p{margin:0 0 18px;font-size:15px;color:var(--muted);line-height:1.5}
.audit-pop .eyebrow{margin:0;padding-right:40px}
.audit-pop .pill{width:100%;justify-content:center}
.pop-x{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:0;background:none;color:var(--muted);font-size:22px;cursor:pointer}
.pop-x:hover{color:var(--ink);background:var(--card)}
@media(max-width:600px){.audit-pop{right:16px;left:16px;bottom:16px;width:auto}.tz-bar{grid-template-columns:110px 1fr}.tz-card{padding:22px}}
@media(prefers-reduced-motion:reduce){.audit-pop,.tz-card{transition:none}}

/* Visual pass (pages audit session) */
.cases-v2 .scene-grid{grid-template-columns:.85fr 1.5fr;gap:56px}
.by-agency{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:22px 0 0;font-size:15px;color:var(--muted)}
.by-agency img{height:34px;width:auto}
.case-flags{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:10px}
.case-flags li{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--muted)}
.case-flags svg,.case-pts svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}
.case-flags .ok{color:var(--ink)}
.case-flags .ok svg,.case-pts svg{stroke:var(--gold)}
.case-logos{display:flex;flex-direction:column;gap:10px;margin-top:28px}
.case-logos a{display:flex;align-items:center;height:52px;padding:0 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface);opacity:.55;transition:opacity .3s,border-color .3s}
.case-logos a:hover{opacity:1}
.case-logos img{height:24px;width:auto;max-width:160px;object-fit:contain}
.cases-v2:has(.scene-step:nth-child(1).is-active) .case-logos a:nth-child(1),
.cases-v2:has(.scene-step:nth-child(2).is-active) .case-logos a:nth-child(2),
.cases-v2:has(.scene-step:nth-child(3).is-active) .case-logos a:nth-child(3){opacity:1;border-color:var(--gold-2)}
.cases-v2 .case{padding:32px 36px}
.case-top h3{margin:0;line-height:0}
.case-logo{height:40px;width:auto;max-width:220px}
.meter{margin:0 0 22px;padding:20px 22px;border-radius:20px;background:var(--bg);border:1px solid var(--line);display:grid;gap:12px}
.meter figcaption{font:700 12px/1.4 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.m-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:14px}
.m-row span{font-size:14px;color:var(--muted)}
.m-row i{display:block;height:14px;border-radius:99px;background:var(--line);position:relative;overflow:hidden}
.m-row i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:99px;background:var(--muted)}
.m-row.is-after i::after{background:linear-gradient(90deg,var(--gold-2),var(--gold))}
.m-row b{font:var(--display-weight) clamp(26px,2.6vw,36px)/1 var(--display);min-width:3.2ch;text-align:right}
.m-row.is-after b{color:var(--gold)}
.m-row b sup{font-size:.45em}
.case-viz{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin-bottom:22px}
.donut{margin:0;width:150px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--gold) calc(var(--p)*1%),var(--line) 0);display:grid;place-items:center}
.donut>div{width:112px;aspect-ratio:1;border-radius:50%;background:var(--card);display:grid;place-content:center;text-align:center}
.donut b{font:var(--display-weight) 30px/1 var(--display);color:var(--gold)}
.donut span{font-size:12px;color:var(--muted);margin-top:4px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.tiles>div{padding:12px 16px;border-radius:14px;background:var(--bg);border:1px solid var(--line)}
.tiles dt{font:700 11px/1.4 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tiles dd{margin:4px 0 0;font:var(--display-weight) 26px/1.1 var(--display);color:var(--ink)}
.case-pts{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.case-pts li{display:flex;gap:10px;align-items:flex-start;font-size:16px;line-height:1.45}
.case-pts svg{margin-top:3px}
.cases-v2 .case blockquote{font-size:19px;padding-left:16px;border-left:2px solid var(--gold-2)}
.ventures{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin:-8px 0 22px 28px}
.ventures img{height:26px;width:auto;opacity:.9}
@media(max-width:900px){
  .cases-v2 .scene-grid{grid-template-columns:1fr;gap:28px}
  .case-logos{flex-direction:row;flex-wrap:wrap}
  .case-logos a{opacity:1;height:44px;padding:0 14px}
  .case-logos img{height:20px}
  .cases-v2 .case{padding:26px 20px}
  .case-logo{height:32px}
  .case-viz{grid-template-columns:1fr;justify-items:center}
  .tiles{width:100%}
  .m-row{grid-template-columns:52px 1fr auto;gap:10px}
  .ventures{margin-left:0}
}
.ico{flex:none;width:26px;height:26px;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ico-list{list-style:none;padding:0;margin:8px 0 28px;display:grid;gap:18px}
.ico-list li{display:flex;gap:16px;align-items:flex-start}
.ico-list li>.ico{width:44px;height:44px;padding:9px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.ico-list b{display:block;color:var(--ink);font-size:17px;font-weight:600;margin-bottom:2px}
.ico-list span{color:var(--muted);font-size:16px;line-height:1.45}
.ico-list.sm{gap:12px;margin-bottom:24px}
.ico-list.sm li{align-items:center}
.ico-list.sm li>.ico{width:38px;height:38px;padding:8px}
.ico-list.sm b{font-size:16px;font-weight:500;margin:0}
.logo-strip{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin:0 0 28px;padding:18px 0;border-block:1px solid var(--line)}
.logo-strip span{font:700 12px/1.4 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.logo-strip img{height:44px;width:auto;max-width:150px;object-fit:contain}
.c-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:36px}
.c-card>.ico{width:52px;height:52px;padding:12px;border-radius:14px;background:var(--bg);border:1px solid var(--line);margin-bottom:20px}
.dots{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.dots li{position:relative;padding-left:20px;color:var(--muted)}
.dots li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.social-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:14px 0 12px}
.social-tiles>*{display:grid;gap:6px;padding:26px;border-radius:20px;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none}
.social-tiles a:hover{border-color:var(--gold-2)}
.social-tiles b{font:var(--display-weight) clamp(36px,3.6vw,52px)/1 var(--display);color:var(--gold)}
.social-tiles span{color:var(--muted);font-size:15px}
.soc{display:block;width:28px;height:28px;background:var(--ink);-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;margin-bottom:8px}
.steps-3{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:10px}
.steps-3 li{display:flex;align-items:center;gap:14px;color:var(--ink)}
.steps-3 b{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--gold-2);color:var(--gold);font:600 15px/1 var(--text)}
.who-grid li>.ico{width:46px;height:46px;padding:10px;border-radius:12px;background:var(--bg);border:1px solid var(--line);margin-bottom:16px}
@media(max-width:700px){.social-tiles{grid-template-columns:1fr}.c-card{padding:26px 22px}}

/* Big guest portraits on quote cards (site pages session, 13 Oct 2026). CSS-only, works with the existing markup. */
.quote:has(img.av){position:relative;text-align:left}
.quote figcaption img.av{border-radius:22px;object-fit:cover;object-position:50% 18%;border:1px solid var(--gold-2);height:auto;aspect-ratio:4/5}
.quote figcaption b{font-size:18px}
@media(min-width:901px){
  .quote:has(img.av){padding-left:clamp(270px,27vw,350px);min-height:calc(clamp(190px,19vw,250px) * 1.25 + 80px);display:flex;flex-direction:column;justify-content:center}
  .quote figcaption img.av{position:absolute;left:clamp(36px,4vw,56px);top:50%;transform:translateY(-50%);width:clamp(190px,19vw,250px)}
  .quote:has(img.av) figcaption{justify-content:flex-start}
}
@media(max-width:900px){
  .quote:has(img.av){text-align:center}
  .quote:has(img.av) figcaption{flex-direction:column;gap:10px}
  .quote figcaption img.av{width:160px;order:-1}
}

/* Walk-away story (site pages session, 13 Oct 2026): how customers leave, and what we fix. */
.walkaway .wrap{display:grid;grid-template-columns:1fr 1.05fr;gap:72px;align-items:start}
.beats{list-style:none;margin:36px 0 0;padding:0 0 0 26px;border-left:1px solid var(--line);display:grid;gap:22px}
.beats li{position:relative;font-size:19px;line-height:1.5;color:var(--ink)}
.beats li::before{content:"";position:absolute;left:-32px;top:.55em;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--gold-2)}
.beats li.last{font:var(--display-weight) clamp(24px,2.3vw,32px)/1.3 var(--display);color:var(--gold)}
.beats li.last::before{background:var(--gold);border-color:var(--gold)}
.fixes{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:36px 36px 24px}
.fixes h3{font-size:clamp(24px,2.2vw,30px);margin-bottom:18px}
.fixes ol{list-style:none;margin:0;padding:0;counter-reset:fx}
.fixes li{counter-increment:fx;display:grid;grid-template-columns:40px 1fr;gap:4px 0;padding:16px 0;border-top:1px solid var(--line)}
.fixes li::before{content:counter(fx,decimal-leading-zero);grid-row:span 2;color:var(--gold);font:700 13px/1.9 var(--text);letter-spacing:.12em}
.fixes li b{font-weight:600;color:var(--ink);font-size:17px}
.fixes li span{color:var(--muted);font-size:16px}
.beats{padding-left:48px}
.beats li>.ico{position:absolute;left:-66px;top:-4px;width:36px;height:36px;padding:8px;border-radius:50%;background:var(--card);border:1px solid var(--gold-2);fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.beats li:has(>.ico)::before{display:none}
.beats li.last::before{left:-55px}
@media(max-width:640px){.beats li.last::before{left:-47px}}
.fixes li{grid-template-columns:54px 1fr}
.fixes li:has(>.ico)::before{display:none}
.fixes li>.ico{grid-row:span 2;width:40px;height:40px;padding:9px;border-radius:12px;background:var(--bg);border:1px solid var(--line);fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.walkaway .wrap{grid-template-columns:1fr;gap:40px}.fixes{padding:26px 20px 14px}.beats li{font-size:17px}}
/* Visual pass 2: lounges + brands components (pages audit session) */
.stat-ico{display:block;width:40px;height:40px;padding:8px;margin-bottom:18px;border-radius:12px;background:var(--bg);border:1px solid var(--line)}
.tier-ico{display:block;width:48px;height:48px;padding:11px;margin-bottom:18px;border-radius:14px;background:var(--bg);border:1px solid var(--line)}
.every-i li{display:flex;align-items:flex-start;gap:12px}
.every-i li::before{display:none}
.every-i .ico{width:20px;height:20px;margin-top:2px}
.checks li>.ico{width:22px;height:22px;margin-top:2px}
.duo-card.is-no .checks li>.ico{stroke:#d9776b}
.founder .f-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 22px}
.f-stats>div{padding:14px 16px;border-radius:16px;background:var(--bg);border:1px solid var(--line)}
.f-stats b{display:block;font:var(--display-weight) clamp(28px,2.6vw,38px)/1 var(--display);color:var(--gold)}
.f-stats span{display:block;margin-top:6px;font-size:13px;color:var(--muted);line-height:1.35}
.f-stats sup{font-size:.7em;color:var(--gold-2)}
.founder ul.f-roles{gap:12px}
.founder .f-roles li{display:flex;align-items:center;gap:14px;padding-left:0}
.founder .f-roles li::before{display:none}
.f-logo{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--bg);border:1px solid var(--line)}
.f-logo img,.f-logo .ico{width:24px;height:24px;object-fit:contain}
.f-roles b{display:block;color:var(--ink);font-weight:600;font-size:16px}
.f-roles span{font-size:15px;color:var(--muted);line-height:1.4}
.book ol.flow,ol.flow{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:0;counter-reset:none;position:relative}
ol.flow li{display:flex;align-items:center;gap:16px;padding:12px 0;border:0;color:var(--ink);font-size:17px;position:relative}
.book ol.flow li::before,ol.flow li::before{display:none}
ol.flow li:not(:last-child)::after{content:"";position:absolute;left:22px;top:56px;bottom:-12px;width:1px;background:var(--line)}
ol.flow li>.ico{width:46px;height:46px;padding:11px;border-radius:50%;background:var(--card);border:1px solid var(--gold-2);position:relative;z-index:1}
ol.flow b{color:var(--ink)}
ol.flow span{color:var(--muted)}
ol.flow li span b{display:inline}
.book ol.flow span{color:var(--ink)}
.ban-logos{display:flex;gap:12px;margin:-12px 0 28px}
.ban{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.ban .soc{width:26px;height:26px;margin:0;background:var(--muted)}
.ban::after{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;background:var(--gold);transform:rotate(-35deg);border-radius:2px}
.who-chips li{display:inline-flex;align-items:center;gap:12px}
.who-chips li>.ico{width:26px;height:26px}
.faq-img{display:block;width:100%;max-width:420px;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:24px;border:1px solid var(--line);margin-top:32px}
@media(max-width:900px){.faq-img{max-width:none;aspect-ratio:4/3}.founder .f-stats{grid-template-columns:repeat(3,1fr);gap:8px}.f-stats>div{padding:12px}.f-stats b{font-size:26px}}
.f-roles img[src*="bc-mark"]{filter:brightness(0) invert(.96)}
.hero-chips{list-style:none;margin:-12px 0 30px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.hero-chips li{display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 10px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--card) 85%,transparent);font-size:15px;color:var(--ink)}
.hero-chips .ico{width:22px;height:22px}
.scene-step .hero-chips:last-child{margin-bottom:0}
.eb-i{display:inline-flex;align-items:center;gap:10px}
.eb-i .ico{width:30px;height:30px;padding:6px;border-radius:50%;border:1px solid var(--gold-2);background:var(--card)}
@media(max-width:640px){.hero-chips{margin:-8px 0 22px;gap:8px}.hero-chips li{font-size:14px;padding:7px 12px 7px 8px}.beats{padding-left:40px}.beats li>.ico{left:-58px;width:32px;height:32px;padding:7px}}

/* Founder stats: four tiles sit 2x2 at every width (lounge session) */
.founder .f-stats,.founder .f-stats{grid-template-columns:1fr 1fr}

/* Tighter section rhythm + compact side-by-side quotes, lounges and brands only (lounge session) */
.lp-tight .sec{padding-block:88px}
.lp-tight .sec-head{margin-bottom:40px}
.lp-tight .wall-turn{margin-top:32px}
.lp-tight .formats{margin-top:44px}
@media(max-width:900px){.lp-tight .sec{padding-block:64px}.lp-tight .sec-head{margin-bottom:32px}}
@media(max-width:600px){.lp-tight .sec{padding-block:52px}}
.quotes.quotes-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1240px;text-align:left}
.quotes.quotes-compact .quote:only-child{grid-column:1/-1;max-width:820px;justify-self:center;width:100%}
.quotes.quotes-compact .quote,.quotes.quotes-compact .quote:has(img.av){display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-height:0;padding:28px 28px 24px;text-align:left}
.quotes.quotes-compact .quote blockquote{margin:0;font-size:clamp(20px,1.7vw,25px);line-height:1.3}
.quotes.quotes-compact .quote figcaption{display:block;font-size:14px;line-height:1.45;color:var(--muted);text-align:left}
.quotes.quotes-compact .quote figcaption img.av{position:static;transform:none;float:left;width:56px;height:56px;aspect-ratio:1;border-radius:50%;margin:0 14px 0 0;order:0}
.quotes.quotes-compact .quote figcaption b{display:block;font-size:16px;color:var(--ink);margin-top:4px}
@media(max-width:800px){.quotes.quotes-compact{grid-template-columns:1fr}}

/* Popup visual row (lounge session) */
.audit-pop .pop-viz{display:flex;align-items:center;gap:18px;margin:6px 0 20px}
.audit-pop .tz-dial{width:84px}
.audit-pop .tz-dial b{font-size:30px}
.audit-pop .tz-dial::before{inset:7px;background:var(--surface)}
.pop-chips{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px;color:var(--ink)}
.pop-chips li{position:relative;padding-left:24px}
.pop-chips li::before{content:"";position:absolute;left:0;top:3px;width:14px;height:14px;background:var(--gold);-webkit-mask:url(/assets/logos/check.svg) center/contain no-repeat;mask:url(/assets/logos/check.svg) center/contain no-repeat}

/* Answer block above the channel wall (lounge session) */
.answer{max-width:860px;margin:0 0 36px;padding:24px 28px;border:1px solid color-mix(in srgb,var(--gold) 35%,var(--line));background:var(--card);border-radius:18px}
.answer h3{font-size:clamp(22px,2.2vw,28px);margin-bottom:10px}
.answer p{margin:0;color:var(--muted);font-size:17px;line-height:1.55}

/* ---- Phone pass (13 Oct): every standalone link and toggle gets a 44px tap target; the look stays the same ---- */
@media(max-width:760px){
  .foot-links div{gap:0}
  .foot-links a,.site-foot nav a{display:inline-flex;align-items:center;min-height:44px}
  .text-link,.stat a{position:relative}
  .text-link::before,.stat a::before{content:'';position:absolute;inset:-12px -6px}
  details.sources>summary{padding-block:12px;font-size:12px}
  .foot-links a{min-width:44px}
  .tiles dt{font-size:12px}
}
:root{--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E")}

/* Primary button: one system for links and <button>s (lit brass, offset shadow, drawn arrow). */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;border:0;border-radius:999px;font-family:inherit;font-weight:600;line-height:1.2;letter-spacing:.01em;text-decoration:none;cursor:pointer;color:var(--on-gold);background:linear-gradient(180deg,color-mix(in srgb,var(--gold) 78%,#fff) 0%,var(--gold) 52%,color-mix(in srgb,var(--gold) 84%,#000) 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -1px 0 rgba(0,0,0,.2),0 8px 20px -10px rgba(0,0,0,.9);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,filter .2s;-webkit-tap-highlight-color:transparent}
.pill:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(0,0,0,.2),0 14px 28px -12px rgba(0,0,0,.95)}
.pill:active{transform:translateY(0) scale(.98);filter:brightness(.96);transition-duration:.08s}
.pill:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pill:disabled,.pill[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none;filter:none}
.pill:not(.sm):not(:has(svg))::after{content:"";flex:none;width:1em;height:1em;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transition:translate .25s cubic-bezier(.2,.8,.2,1)}
.pill:not(.sm)[target="_blank"]::after{rotate:-45deg}
.pill:not(.sm):hover::after{translate:3px 0}
.pill:not(.sm)[target="_blank"]:hover::after{translate:2px -2px}
@media (prefers-reduced-motion:reduce){.pill,.pill:not(.sm)::after{transition:none}.pill:hover,.pill:not(.sm):hover::after{transform:none;translate:0}}
.cta-ghost{font-family:inherit;line-height:1.2;cursor:pointer;min-height:44px;transition:border-color .2s,background-color .2s,color .2s}
.cta-ghost:hover{border-color:var(--gold-2);background-color:color-mix(in srgb,var(--gold) 9%,transparent)}
.cta-ghost:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* Phone pass: chips under a pinned-hero heading keep clear of its last line */
.scene-step h2+.hero-chips{margin-top:14px}
/* Phone pass: the audit popup is a compact bar on phones (was ~36% of the screen); the dial and chips stay on desktop */
@media(max-width:600px){
  .audit-pop{padding:14px 16px 14px;border-radius:18px}
  .audit-pop .pop-viz{display:none}
  .audit-pop .eyebrow{font-size:11px}
  .audit-pop h2{font-size:19px;margin:2px 0 10px}
  .audit-pop .pill{min-height:44px;padding-block:10px}
}
/* Phone pass (13 Oct, from the 390px visual review) */
@media(max-width:760px){
  .scene-pin{align-items:center}                                   /* pinned heroes sit centred, no dead band at the bottom */
  .newsletter-landing h1+.ico-list{margin-top:28px}
  .page-intro p:has(>.button){display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center}  /* 404 and similar: button + link wrap as a row */
  .logo-strip img{height:34px;max-width:120px}                     /* the three guest logos share one row */
  .logo-strip span{flex-basis:100%}
  .motion-frame img[src*="17-leaf-first"],.motion-frame:has(img[src*="17-leaf-first"]) video{object-position:70% 50%}  /* bell jar centred */
  #newsletter-handoff .button{font-size:14px}
}

/* ---- Audit popup as centred modal (13 Oct): opens with showModal() in front of the page, dimmed backdrop, like the Caesar Health demo gate ---- */
.audit-pop{inset:0;top:0;left:0;right:0;bottom:0;margin:auto;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:40px 40px 34px;text-align:center;transform:translateY(16px) scale(.97);overscroll-behavior:contain}
.audit-pop::backdrop{background:rgba(8,5,3,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.audit-pop.is-in::backdrop{opacity:1}
.audit-pop.is-in{transform:none}
.audit-pop .eyebrow{padding:0}
.audit-pop h2{font-size:clamp(28px,3.4vw,36px);margin:8px 0 14px}
.audit-pop .pop-viz{justify-content:center;margin:10px 0 26px}
.audit-pop .pill{min-height:52px;font-size:17px}
@media(max-width:600px){
  .audit-pop{padding:30px 20px 22px;border-radius:20px}
  .audit-pop .pop-viz{display:flex;gap:14px;margin:8px 0 20px}
  .audit-pop .tz-dial{width:72px}.audit-pop .tz-dial b{font-size:24px}
  .audit-pop h2{font-size:24px;margin:6px 0 12px}
  .audit-pop .eyebrow{font-size:11px}
}
.audit-pop .pop-x{width:44px;height:44px;top:8px;right:8px}
.audit-pop .pop-chips{text-align:left}
@media(prefers-reduced-motion:reduce){.audit-pop::backdrop{transition:none}}


/* 13 Oct: lounges only. Hero locker unboxed (no frame, feathered, wider), chips as a plain list,
   no scroll-progress line; quote faces 3x (168px) with brand logos. Backup: versions/pre-unboxed-hero-2026-10-13 */
.lp-lounges .scene-media.has-locker{border:0;border-radius:0;background:transparent;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%);
          mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%)}
.lp-lounges .scene-media.has-locker .scene-progress{display:none}
@media(min-width:901px){
  .lp-lounges .scene-media.has-locker{margin-right:calc(-1 * max(48px,(100vw - 1144px) / 2))}
}
:is(.lp-lounges,.lp-brands) .hero-chips{flex-direction:column;align-items:flex-start;gap:12px}
:is(.lp-lounges,.lp-brands) .hero-chips li{border:0;background:none;padding:0;font-size:16px}
:is(.lp-lounges,.lp-brands) .hero-chips .ico{color:var(--gold)}
:is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption{display:grid;grid-template-columns:168px 1fr;column-gap:22px;align-items:center}
:is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption img.av{float:none;width:168px;height:168px;margin:0;grid-row:1 / span 3}
:is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption .who{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:4px;align-items:center;grid-row:1 / span 3;align-self:center}
:is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption .who>b{grid-column:1;grid-row:1}
:is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption .who>span{grid-column:1;grid-row:2}
:is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption b{font-size:18px;margin:0}
:is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption img.lg{grid-column:2;grid-row:1 / span 2;align-self:center;height:48px;width:auto;max-width:120px;object-fit:contain;margin:0;opacity:.9}
@media(max-width:640px){
  :is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption{grid-template-columns:1fr;row-gap:14px}
  :is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption img.av{grid-row:auto;width:140px;height:140px}
  :is(.lp-lounges,.lp-brands) .quotes.quotes-compact .quote figcaption .who{grid-row:auto}
}
/* ---- Minor phone pass (13 Oct) ---- */
/* Calendly: the booking link sits under "Loading calendar" (it was at the bottom of a 760-980px empty box) and is a real tap target */
.cal .cal-fallback{top:80px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);padding:12px 18px;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;color:var(--gold)}
/* Case-study logos: equal optical size (the Caesar crest carries padding, the Tipsy Putt wordmark is all letters) */
.case-logos img[src*="tipsyputt"]{height:20px}
.case-logos img[src*="caesarhealth"]{height:31px}
@media(max-width:760px){.case-logos img[src*="tipsyputt"]{height:17px}.case-logos img[src*="caesarhealth"]{height:26px}}
.cal-alt{margin:12px 0 0;font-size:14px;color:var(--muted);text-align:center}
.cal-alt a{display:inline-block;padding:12px 4px;color:var(--gold);text-decoration:underline;text-underline-offset:4px}
/* Booking link under the calendar: same column as the calendar on desktop */
.cal-alt{grid-column:-2/-1}
@media(max-width:760px){.page-intro p:has(>.button)>.textlink{display:inline-flex;align-items:center;min-height:44px}}

/* 13 Oct: brands hero unboxed like lounges (frameless, feathered, wider, no scroll-progress line).
   Chips + quote faces/logos share the lounges rules via :is(.lp-lounges,.lp-brands). Backup: versions/pre-unboxed-brands-2026-10-13 */
:is(.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media{border:0;border-radius:0;background:transparent;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%);
          mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 55%,transparent 100%)}
:is(.lp-brands,.lp-interview) section.scene:not(.cases) .scene-progress{display:none}
@media(min-width:901px){
  :is(.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media{margin-right:calc(-1 * max(48px,(100vw - 1144px) / 2))}
}

/* 13 Oct: interview quote (non-compact layout) gets the inline brand logo like lounges/brands. */
.lp-interview .quote figcaption .who{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;row-gap:4px;align-items:center;text-align:left}
.lp-interview .quote figcaption .who>b{grid-column:1;grid-row:1}
.lp-interview .quote figcaption .who>span{grid-column:1;grid-row:2}
.lp-interview .quote figcaption img.lg{grid-column:2;grid-row:1 / span 2;align-self:center;height:48px;width:auto;max-width:120px;object-fit:contain;margin:0;opacity:.9}
/* 13 Oct (hero blend): every hero media fades to fully transparent at its edges and can never read darker than the page.
   lighten = any pixel darker than the page background shows the page colour instead. Brands keeps its oval (haze glow). */
:is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media{mix-blend-mode:lighten}
.lp-lounges .scene-media.has-locker,.lp-interview section.scene:not(.cases) .scene-media{
  -webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
  -webkit-mask-composite:source-in;
          mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
          mask-composite:intersect}
/* the sticky .scene-pin is its own stacking context; give it the page colour so the lighten blend above has a backdrop */
:is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-pin{background:var(--bg)}
/* lounges locker: same background cut as the hero videos, done live because the locker is several images + animated doors.
   contrast(1.6) brightness(.8) = 1.28x - 0.24, so anything under ~19% brightness drops below the page and lighten floors it to --bg. */
.lp-lounges .scene-media.has-locker .locker{filter:contrast(1.6) brightness(.8)}
/* 13 Oct (hero balance): frameless media leaves an empty faded band on its left, which made the copy look pinned to the
   left edge. Desktop only: inset the copy a little and slide the media left under that faded band (copy stays on top). */
@media(min-width:901px){
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-steps{position:relative;z-index:2}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media{margin-left:calc(-1 * clamp(40px,7vw,140px))}
}

/* Case-study logo buttons (13 Oct): they look and act like buttons now; a click scrolls the pinned scene to that case */
.case-logos a{opacity:.85;cursor:pointer}
.case-logos a:hover,.case-logos a:focus-visible{opacity:1;border-color:var(--gold-2);background:color-mix(in srgb,var(--gold) 8%,var(--surface))}
/* 13 Oct gap pass (phones, lounges/brands/interview): less dead space.
   1) section breaks: 40px top/bottom (was 52, interview 80).
   2) pinned heroes scroll for less distance, so the sparse later steps go by faster.
   3) the hero image takes the height the tallest step leaves free (per page, ~90px safety), down to 120px on short phones,
      so the first step's button is on screen at 390x844, 360x740 and 320x640 (it was cut below 760px tall before). */
@media(max-width:900px){
  :is(.lp-lounges,.lp-brands,.lp-interview) .sec{padding-block:40px}
  .lp-lounges section.scene:not(.cases){height:300vh}
  :is(.lp-brands,.lp-interview) section.scene:not(.cases){height:240vh}
  .lp-lounges{--mh:clamp(120px,calc(100svh - 611px),400px)}
  .lp-brands{--mh:clamp(120px,calc(100svh - 647px),400px)}
  .lp-interview{--mh:clamp(120px,calc(100svh - 519px),420px)}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media{aspect-ratio:auto;height:var(--mh)}
  .lp-interview section.scene:not(.cases) .scene-media video{object-position:72% 50%}
  .lp-lounges .scene-media.has-locker .locker{left:50%;right:auto;top:0;margin-top:0;width:calc(var(--mh) * 2000 / 1116);margin-left:calc(var(--mh) * -1000 / 1116)}
}
/* Nurture: example email series (lounges #arsenal 04, brands #nurture) */
.nurture .found-grid{grid-template-columns:1fr 1.05fr}
.nurture .inbox{order:2}
.inbox{margin:0;display:flex;flex-direction:column;gap:14px;padding:22px;border-radius:24px;background:radial-gradient(120% 90% at 80% 0%,color-mix(in srgb,var(--gold) 12%,var(--card)),var(--card));border:1px solid var(--line)}
.ib-card{flex:1;border-radius:16px;background:#fff;color:#202124;font:14px/1.4 Arial,Helvetica,sans-serif;overflow:hidden}
.ib-head{display:flex;justify-content:space-between;margin:0;padding:14px 18px;border-bottom:1px solid #eee;font-size:13px;color:#5f6368}
.ib-head span:first-child{font-weight:700;color:#202124}
.ib-list{list-style:none;margin:0;padding:0}
.ib-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-top:1px solid #f1f1f1}
.ib-row:first-child{border-top:0}
.ib-av{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#3a2a1c;color:#f3e7d2;font-weight:700}
.ib-txt{display:grid;min-width:0}
.ib-txt b{font-size:13px;font-weight:400;color:#5f6368}
.ib-txt span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#202124}
.ib-row time{font-size:12px;color:#5f6368}
.ib-row.is-new .ib-txt b,.ib-row.is-new .ib-txt span{font-weight:700;color:#202124}
.ib-row.is-new time{color:#1a73e8;font-weight:700}
.inbox figcaption{font-size:12px;color:var(--muted);letter-spacing:.04em}
.nurture.reveal .ib-row{opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;transition-delay:calc(.35s + var(--i) * .22s)}
.nurture.reveal.is-in .ib-row{opacity:1;transform:none}
@media(max-width:1100px){.nurture .found-grid{grid-template-columns:1fr}.nurture .inbox{order:0}}
@media(max-width:600px){.inbox{padding:14px}.ib-row{grid-template-columns:30px 1fr auto;gap:10px;padding:11px 14px}.ib-av{width:30px;height:30px}.ib-txt{font-size:13px}.ib-row time{font-size:11px}}
@media(prefers-reduced-motion:reduce){.nurture.reveal .ib-row{opacity:1;transform:none;transition:none}}
/* Keep-scrolling hint (scroll-hint.js, lounge/brand/guest pages only). Quiet by design: 75% opacity, slow bob. */
.keep-scroll{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:30;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--surface) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--gold);cursor:pointer;opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .6s,transform .6s}
.keep-scroll.on{opacity:.75;pointer-events:auto;transform:none}
.keep-scroll.on:hover{opacity:1}
.keep-scroll.on svg{animation:keep-scroll-bob 2.4s ease-in-out infinite}
@keyframes keep-scroll-bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
@media(max-width:600px){.keep-scroll{right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.keep-scroll.on svg{animation:none}}
/* 14 Oct: phone hero animation was too small (197-325px tall, inset 20px). Now edge to edge and it takes all the height
   the copy leaves (flex column, no per-page numbers, so copy edits can't break it). Copy tucks 64px into the media's
   faded bottom. Sized for the pinned state: at scroll 0 the first button can sit just under the fold.
   The locker sizes off the media's own height via a size container (100cqh). Backup: versions/pre-mobile-hero-media-2026-10-14 */
@media(max-width:900px){
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-pin{align-items:stretch;padding:72px 0 16px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-grid{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:28px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media{flex:1 1 0;height:auto;min-height:120px;max-height:460px;margin:0 -20px -64px;container-type:size}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-steps{flex:none;position:relative;z-index:2}
  .lp-lounges .scene-media.has-locker .locker{width:calc(100cqh * 2000 / 1116);margin-left:calc(100cqh * -1000 / 1116)}
  .lp-interview section.scene:not(.cases) .scene-media video{object-position:90% 50%}   /* full-width frame: mic back to centre */
  /* bottom fade starts at 70% so the copy over the last 64px never sits on a lit edge */
  .lp-lounges .scene-media.has-locker,.lp-interview section.scene:not(.cases) .scene-media{
    -webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 66%,transparent 96%);
            mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 66%,transparent 96%)}
}
/* Hero "we fix this, keep reading" line on lounges/brands/interview (Anatolie, 14 Oct). Replaces the bare SCROLL cue. */
.scroll-hint.say{width:auto;max-width:34rem;gap:14px;margin:26px 0 28px;font-size:17px;line-height:1.45;letter-spacing:0;text-transform:none;color:var(--ink)}
.scroll-hint.say b{color:var(--gold);font-weight:600}
.scroll-hint.say::after{display:none}
@media(max-width:760px){.scroll-hint.say{margin:18px 0 22px;font-size:16px}}
/* Phone pass 14 Oct: the open menu stopped two-thirds down and the page scrolled underneath it. It now fills the screen. */
@media(max-width:1100px){.nav.open{min-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}html:has(.nav.open){overflow:hidden}}

/* 14 Oct hotfix: in the phone hero column (align-items:center) the container-type:size media box shrank to 0 px wide, so the hero image vanished. Stretch it. */
@media(max-width:760px){:is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media{align-self:stretch}}

/* 14 Oct (Anatolie: "still way too small"): bigger hero image on phones. The pinned hero shares one screen between
   image and copy, so the copy gets tighter here: less spacing, the three chips wrap into a compact row. */
@media(max-width:760px){
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-grid{gap:16px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media{min-height:32svh}
  /* the subject sits small in a dark frame: zoom it so the cigar, lockers and mic fill the space (edges are masked) */
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-media>video{scale:1.35}
  .lp-lounges section.scene:not(.cases) .scene-media>.locker{scale:1.15}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-step[data-at="0"] .eyebrow{margin-bottom:12px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-step[data-at="0"] h1{font-size:32px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-step[data-at="0"] .lede{margin:10px 0 14px;font-size:16px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-step[data-at="0"] .hero-chips{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 4px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-step[data-at="0"] .hero-chips li{font-size:14px;gap:6px;padding:0;flex:none}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-step[data-at="0"] .hero-chips .ico{width:15px;height:15px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-step[data-at="0"] .scroll-hint.say{margin:12px 0 16px;font-size:15px}
}

/* 14 Oct: the hero now ends on the offer, the three tiers named, then "See the three tiers". */
.hero-chips.tiers li{gap:12px}
.hero-chips.tiers .tier-n{flex:none;width:30px;font:600 13px/1 var(--text);letter-spacing:.08em;color:var(--gold)}
.hero-chips.tiers i{font-style:normal;color:var(--muted);font-size:.85em}
.hero-chips.tiers i::before{content:"·";margin:0 8px 0 2px}
@media(max-width:760px){
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .lede{margin:10px 0 14px;font-size:16px}
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .hero-chips{margin:0 0 4px}
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .hero-chips li{font-size:15px}
  :is(.lp-lounges,.lp-brands,.lp-interview) section.scene:not(.cases) .scene-step:last-child .scroll-hint.say{margin:12px 0 16px;font-size:15px}
}

/* 14 Oct: each tier in the hero ending now says what it does for them (name, length, one value line). */
.hero-chips.tiers li{align-items:flex-start}
.hero-chips.tiers .tier-n{padding-top:4px}
.hero-chips.tiers .tier-t{display:block}
.hero-chips.tiers .tier-t b{font-weight:600}
.hero-chips.tiers .tier-t small{display:block;margin-top:2px;font-size:14.5px;line-height:1.4;color:var(--muted)}
@media(max-width:760px){
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child h2{font-size:28px}
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .hero-chips.tiers{gap:8px}
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .hero-chips.tiers small{font-size:13px;line-height:1.35}
  /* no room on a phone screen: the button already says where it goes */
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .scroll-hint.say{display:none}
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .hero-chips.tiers{margin-bottom:16px}
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .lede{margin:8px 0 12px;font-size:15px}
  :is(.lp-lounges,.lp-brands) section.scene:not(.cases) .scene-step:last-child .eyebrow{margin-bottom:10px}
}

/* 14 Oct: the guest page hero ends on what a guest gets, same pattern as lounges and brands. */
.lp-interview .hero-chips.tiers{flex-direction:column;align-items:flex-start;gap:12px}
.lp-interview .hero-chips.tiers li{border:0;border-radius:0;background:none;padding:0;font-size:16px}
@media(max-width:760px){
  .lp-interview section.scene:not(.cases) .scene-step:last-child h2{font-size:28px}
  .lp-interview section.scene:not(.cases) .scene-step:last-child .eyebrow{margin-bottom:10px}
  .lp-interview section.scene:not(.cases) .scene-step:last-child .lede{margin:8px 0 12px;font-size:15px}
  .lp-interview section.scene:not(.cases) .scene-step:last-child .hero-chips.tiers{gap:8px;margin:0 0 16px}
  .lp-interview section.scene:not(.cases) .scene-step:last-child .hero-chips.tiers li{font-size:15px}
  .lp-interview section.scene:not(.cases) .scene-step:last-child .hero-chips.tiers small{font-size:13px;line-height:1.35}
  .lp-interview section.scene:not(.cases) .scene-step:last-child .scroll-hint.say{display:none}
}
/* My CigarDNA in the header (17 Oct): every page, links to /cigardna/. Green dot when signed in (set by cigardna/kit/account.js). */
.nav-dna{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 16px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));color:var(--gold)!important;font-weight:600;font-size:15px;text-decoration:none;line-height:1.2;white-space:nowrap;transition:border-color .2s,background-color .2s}
.nav-dna:hover{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,transparent)}
.nav-dna:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.nav-dna svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.cd-in .nav-dna::after{content:"";width:7px;height:7px;border-radius:50%;background:#86c08f}

/* Living hero wall (18 Oct, /assets/livewall.js): Palate test + Smoke Signature intros. Four columns drift in opposite
   directions, the deck leans toward the pointer (--px/--py), a warm light follows it, the "?" card floats and catches a sheen. */
.lw.lw{display:flex;gap:clamp(8px,1vw,14px);aspect-ratio:1/1.06;max-height:80svh;overflow:hidden;transition:transform .9s cubic-bezier(.2,.7,.2,1);
  transform:perspective(1600px) rotateY(calc(-16deg + var(--px,0) * 12deg)) rotateX(calc(7deg - var(--py,0) * 9deg)) rotateZ(-2deg)}
.lw-col{flex:1 1 0;min-width:0;animation:lw-in 1.3s cubic-bezier(.2,.7,.2,1) calc(var(--c) * 120ms) both}
.lw-track{display:flex;flex-direction:column;animation:lw-run 56s linear infinite;will-change:transform}
.lw-col:nth-child(2) .lw-track{animation-duration:72s;animation-direction:reverse}
.lw-col:nth-child(3) .lw-track{animation-duration:62s}
.lw-col:nth-child(4) .lw-track{animation-duration:80s;animation-direction:reverse}
.lw-track>*{flex:none;width:100%;margin:0 0 clamp(8px,1vw,14px)!important}
.lw:hover .lw-track,.lw-off .lw-track,.lw-off .lw-col{animation-play-state:paused}
.lw .fw-tile,.lw .ss-tile{filter:saturate(1.06) contrast(1.04);transition:transform .35s,filter .35s,box-shadow .35s}
.lw .fw-tile:hover{transform:scale(1.05);box-shadow:0 18px 40px -14px #000}
.lw::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(38% 32% at calc(50% + var(--px,0) * 90%) calc(45% + var(--py,0) * 90%),rgba(255,214,150,.2),transparent 70%)}
.lw .fw-q,.lw .ss-q-card{z-index:4;overflow:hidden;animation:lw-bob 7s ease-in-out infinite;box-shadow:0 40px 80px -24px #000,0 0 60px -10px color-mix(in srgb,var(--gold) 35%,transparent)}
.lw .fw-q::after,.lw .ss-q-card::after{content:"";position:absolute;inset:-30% -60%;pointer-events:none;
  background:linear-gradient(105deg,transparent 42%,rgba(255,226,170,.22) 50%,transparent 58%);animation:lw-sheen 6s ease-in-out 1.4s infinite}
.lw .fw-qm,.lw .ss-qmark{animation:lw-glow 7s ease-in-out infinite}
@keyframes lw-run{to{transform:translateY(-50%)}}
@keyframes lw-in{from{opacity:0;transform:translateY(60px)}}
@keyframes lw-bob{50%{translate:0 -12px}}
@keyframes lw-sheen{0%,50%{transform:translateX(-45%)}80%,100%{transform:translateX(45%)}}
@keyframes lw-glow{50%{text-shadow:0 0 28px color-mix(in srgb,var(--gold) 55%,transparent)}}
@media(max-width:900px){
  .lw.lw{aspect-ratio:1/.82;transform:perspective(1200px) rotateX(10deg) rotateZ(-2deg)}
}
@media(prefers-reduced-motion:reduce){.lw-track,.lw-col,.lw .fw-q,.lw .ss-q-card,.lw .fw-q::after,.lw .ss-q-card::after{animation:none}}

/* Hub pages (18 Oct): /cigar-education/ and /work-with-us/, the two section pages in the header. */
.hub-top{padding-block:clamp(24px,5vw,56px) clamp(20px,3vw,36px);max-width:900px}
.hub-top h1{font:var(--display-weight) clamp(40px,6vw,76px)/1.02 var(--display);margin:10px 0 18px}
.hub-top .lead{font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--muted);max-width:36em;margin:0}
.hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.4vw,28px)}
.hub-wwu .hub-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.hub-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface);transition:border-color .3s,transform .3s}
.hub-card figure{margin:0;aspect-ratio:16/10;overflow:hidden;background:#000}
.hub-wwu .hub-card figure{aspect-ratio:1/1}
.hub-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hub-body{padding:clamp(18px,2.2vw,28px);display:flex;flex-direction:column;gap:8px;flex:1}
.hub-tag{margin:0;font:700 11px var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.hub-body h2{font:var(--display-weight) clamp(26px,2.6vw,34px)/1.1 var(--display);margin:0}
.hub-body p:not(.hub-tag){margin:0;color:var(--muted);line-height:1.55}
.hub-go{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-weight:600}
.hub-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.hub-card:hover{border-color:color-mix(in srgb,var(--gold) 60%,var(--line));transform:translateY(-3px)}
.hub-card:hover img{transform:scale(1.05)}
.hub-card:hover .hub-go svg{transform:translateX(4px)}
.hub-band{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-block:clamp(36px,6vw,72px);padding:clamp(22px,3vw,36px);border:1px solid color-mix(in srgb,var(--gold) 40%,var(--line));border-radius:18px}
.hub-band h2{font:var(--display-weight) clamp(26px,3vw,36px)/1.1 var(--display);margin:0 0 6px}
.hub-band p{margin:0;color:var(--muted)}
.hub-btns{display:flex;gap:12px;flex-wrap:wrap}
.nav a[aria-current=true]{color:var(--ink)}
@media(max-width:900px){.hub-wwu .hub-grid{grid-template-columns:minmax(0,1fr)}.hub-wwu .hub-card figure{aspect-ratio:16/10}}
@media(max-width:700px){.hub-grid{grid-template-columns:minmax(0,1fr)}.hub-btns>*{flex:1 1 100%;justify-content:center;text-align:center}}
@media(prefers-reduced-motion:reduce){.hub-card,.hub-card img,.hub-go svg{transition:none}}
.hub-btns .ghost{display:inline-flex;align-items:center;min-height:44px;padding:12px 22px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));color:var(--ink);text-decoration:none;font-weight:600}
.hub-btns .ghost:hover{border-color:var(--gold)}

/* Work with us (18 Oct v4): one header, three routes side by side. Big "For ..." titles, then each system:
   what it improves (gold) and what's in it (muted). */
.hub-wwu .seo-breadcrumb{padding-top:14px}
.wwu-top{padding-block:clamp(10px,1.4vw,18px) clamp(12px,1.8vw,20px)}
.wwu-top .kicker{margin-bottom:8px}
.wwu-top h1{font:var(--display-weight) clamp(34px,3.8vw,54px)/1.04 var(--display);margin:0 0 8px}
.wwu-top .lead{margin:0;color:var(--muted);font-size:clamp(15px,1.3vw,17px)}
.wwu3{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1.18fr) minmax(0,.86fr);gap:clamp(12px,1.4vw,18px);align-items:stretch}
.wwu-c{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,var(--gold) 32%,var(--line));border-radius:22px;overflow:hidden;
  background:radial-gradient(80% 50% at 50% 0%,color-mix(in srgb,var(--gold) 8%,transparent),transparent 70%),var(--surface);transition:border-color .3s}
.wwu-c:hover{border-color:color-mix(in srgb,var(--gold) 60%,var(--line))}
.wwu-c.wwu-guest{border-color:var(--line);background:var(--surface)}
/* Card art (18 Oct v5, /assets/wwu/art.js): original 3:1 stills on a slow camera drift, with light, glow, glints and smoke. */
.wwu-art{--art-h:clamp(100px,18vh,210px);position:relative;height:var(--art-h);overflow:hidden;background:#0d0805}
.wwu-stage{position:absolute;left:50%;top:50%;width:max(100%,calc(var(--art-h) * 3));aspect-ratio:3/1;transform:translate(-50%,-50%)}
.wwu-stage>*{position:absolute;inset:0}
.wwu-stage img{width:100%;height:100%;object-fit:cover;animation:wwu-drift 22s ease-in-out infinite alternate}
.wwu-art-brand .wwu-stage img{animation-duration:26s;animation-direction:alternate-reverse}
.wwu-stage canvas{width:100%;height:100%}
.wwu-glow{inset:auto;left:var(--x);top:var(--y);width:34%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;mix-blend-mode:screen;
  background:radial-gradient(closest-side,rgba(255,190,100,.55),rgba(255,160,70,.18) 45%,transparent 70%);animation:wwu-breathe 3.6s ease-in-out infinite}
.wwu-lamp{width:18%;animation-duration:1.8s}
.wwu-sheen{mix-blend-mode:screen;background:linear-gradient(100deg,transparent 35%,rgba(255,222,160,.16) 48%,rgba(255,236,190,.28) 50%,rgba(255,222,160,.16) 52%,transparent 65%);
  background-size:300% 100%;animation:wwu-sweep 7s ease-in-out infinite}
.wwu-spark{inset:auto;left:var(--x);top:var(--y);width:16px;height:16px;translate:-50% -50%;opacity:0;
  background:radial-gradient(closest-side,#fff8e6,rgba(255,220,150,.5) 40%,transparent),linear-gradient(transparent 46%,#fff3d0 50%,transparent 54%),linear-gradient(90deg,transparent 46%,#fff3d0 50%,transparent 54%);
  animation:wwu-twinkle 3.5s ease-in-out var(--d) infinite}
.wwu-art::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(20,14,9,.55));box-shadow:inset 0 0 40px rgba(0,0,0,.5)}
@keyframes wwu-drift{from{transform:scale(1.04) translateX(-1%)}to{transform:scale(1.12) translateX(1.5%)}}
@keyframes wwu-breathe{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes wwu-sweep{0%,30%{background-position:100% 0}80%,100%{background-position:0 0}}
@keyframes wwu-twinkle{0%,70%,100%{opacity:0;transform:scale(.4) rotate(0)}80%{opacity:1;transform:scale(1) rotate(45deg)}}
@media(prefers-reduced-motion:reduce){.wwu-stage img,.wwu-glow,.wwu-sheen,.wwu-spark{animation:none}}
.wwu-b{display:flex;flex-direction:column;padding:clamp(14px,1.6vw,22px);flex:1}
.wwu-for{margin:0;font:var(--display-weight) clamp(30px,3vw,44px)/1 var(--display);color:var(--gold)}
.wwu-promise{margin:6px 0 0;font-size:clamp(16px,1.3vw,18px);color:var(--ink);font-weight:600}
.wwu-badge{align-self:flex-start;margin:8px 0 0;padding:5px 11px;border-radius:999px;font-size:12.5px;color:var(--gold);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);background:color-mix(in srgb,var(--gold) 8%,transparent)}
.wwu-sys{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.wwu-sys li{display:grid;grid-template-columns:auto 1fr;column-gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.wwu-sys b{font-size:14.5px;color:var(--ink)}
.wwu-sys em{font-style:normal;font-size:13.5px;color:var(--gold);text-align:right}
.wwu-sys span{grid-column:1/-1;font-size:13px;line-height:1.4;color:var(--muted);margin-top:2px}
.wwu-guest .wwu-sys li{grid-template-columns:1fr}
.wwu-guest .wwu-sys em{display:none}
.wwu-ctas{margin-top:auto;padding-top:14px;display:flex;flex-wrap:wrap;gap:10px}
.wwu-ctas .pill{padding:11px 18px}
.wwu-ctas .pill svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wwu-ctas .ghost{display:inline-flex;align-items:center;min-height:44px;padding:11px 18px;border-radius:999px;border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));color:var(--ink);text-decoration:none;font-weight:600;font-size:14px}
.wwu-ctas .ghost:hover{border-color:var(--gold)}
@media(max-width:1100px){.wwu3{grid-template-columns:repeat(2,minmax(0,1fr))}.wwu-c.wwu-guest{grid-column:1/-1}}
@media(max-width:700px){.wwu3{grid-template-columns:minmax(0,1fr)}.wwu-art{--art-h:40vw}.wwu-ctas>*{flex:1 1 100%;justify-content:center}}
.hub-wwu .seo-breadcrumb{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0}
.hub-wwu .wwu-top{padding-top:clamp(16px,2vw,26px)}
.wwu-guest .wwu-for{font-size:clamp(26px,2.4vw,36px);white-space:nowrap}
.wwu-ctas{flex-wrap:nowrap;gap:6px}
.wwu-ctas .pill,.wwu-ctas .ghost{padding:10px 11px;font-size:13px;white-space:nowrap}
.wwu-ctas .pill{gap:6px}
@media(max-width:1300px) and (min-width:701px){.wwu-ctas{flex-wrap:wrap}}

/* Header section menus (18 Oct, /navsub.js): Cigar education and Work with us list their pages.
   Desktop: a panel on hover/focus/caret. Phone menu (<=1100px): tapping the section opens its pages in place. */
.nav-g{position:relative;display:flex;align-items:center}
.nav-x{display:inline-grid;place-items:center;width:26px;min-height:44px;padding:0;margin-left:2px;background:none;border:0;color:var(--muted);cursor:pointer}
.nav-x svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.nav-g.open .nav-x svg{transform:rotate(180deg)}
.nav-sub{display:grid;gap:2px}
.nav .nav-sub a{display:grid;gap:2px;text-decoration:none;color:var(--ink)}
.nav-sub b{font-weight:600;font-size:15px}
.nav-sub small{font-size:13px;color:var(--muted)}
.nav .nav-sub .nav-all{color:var(--gold);font-weight:600;font-size:14px}
@media(min-width:1101px){
  .nav-sub{position:absolute;top:100%;left:-18px;z-index:40;min-width:290px;padding:10px;border:1px solid color-mix(in srgb,var(--gold) 30%,var(--line));border-radius:18px;
    background:color-mix(in srgb,var(--surface) 96%,#000);box-shadow:0 24px 60px -20px #000;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility 0s .2s}
  .nav-sub::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
  .nav-g:hover .nav-sub,.nav-g:focus-within .nav-sub,.nav-g.open .nav-sub{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
  .nav-g:hover .nav-x svg{transform:rotate(180deg)}
  .nav .nav-sub a{padding:10px 12px;border-radius:12px}
  .nav .nav-sub a:hover,.nav .nav-sub a[aria-current=page]{background:color-mix(in srgb,var(--gold) 10%,transparent)}
  .nav .nav-sub .nav-all{margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 10px 10px}
}
@media(max-width:1100px){
  .nav-g{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line)}
  .nav .nav-g .nav-top{border-bottom:0}
  .nav-x{width:44px}
  .nav-sub{display:none;grid-column:1/-1;padding:0 0 12px 14px;border-left:1px solid color-mix(in srgb,var(--gold) 40%,transparent);border-radius:0;margin:0 0 4px}
  .nav-g.open .nav-sub{display:grid}
  .nav .nav-sub a{padding:9px 0;border-bottom:0;font-size:16px}
}
@media(prefers-reduced-motion:reduce){.nav-sub,.nav-x svg{transition:none}}
.nav>a,.nav-top,.nav-ctas a{white-space:nowrap}
@media(min-width:1101px) and (max-width:1280px){
  .site-head .wrap{padding-inline:24px}
  .nav{gap:14px;font-size:14px}
  .nav-ctas{gap:8px;margin-left:2px}
  .nav .nav-ctas .pill,.nav-ctas .cta-ghost,.nav-ctas .nav-dna{padding:10px 13px;font-size:14px}
  .site-head .brand img{width:38px;height:38px}
}
@media(max-width:440px){.wwu-sys li{grid-template-columns:1fr}.wwu-sys em{text-align:left}}
@media(max-height:880px) and (min-width:701px){.wwu-art{--art-h:clamp(90px,12.5vh,150px)}.wwu-sys li{padding:7px 0}}


/* Account forms (moved from cigardna/ss/ss.css 18 Oct): the hub, the course gate and any [data-cd-auth] box. */
.acc { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px clamp(24px, 4vw, 56px); align-items: start; margin-top: clamp(28px, 4vw, 44px); padding: clamp(20px, 3vw, 36px);
  border-radius: 24px; border: 1px solid color-mix(in srgb, var(--gold) 40%, var(--line)); background: radial-gradient(80% 100% at 0% 0%, color-mix(in srgb, var(--gold) 12%, transparent), transparent 70%), var(--surface) }
.acc h2 { font: var(--display-weight) clamp(28px, 3.2vw, 40px)/1.05 var(--display); margin: 0 0 10px }
.acc-pitch p { color: var(--muted); margin: 0; max-width: 40ch; line-height: 1.55 }
.acc-tabs { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; border: 1px solid var(--line); margin-bottom: 16px }
.acc-tabs button { min-height: 40px; padding: 8px 16px; border-radius: 999px; border: 0; background: none; color: var(--muted); font: 600 14px var(--text); cursor: pointer }
.acc-tabs button[aria-selected=true] { background: var(--gold); color: var(--on-gold, #1b120a) }
.acc-tabs button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px }
.acc form { display: grid; gap: 12px }
.acc label:not(.acc-ck) { display: grid; gap: 6px; font-size: 14px; color: var(--muted) }
.acc input:not([type=checkbox]) { font: inherit; color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; min-height: 48px; width: 100% }
.acc input:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px }
.acc small { color: color-mix(in srgb, var(--muted) 80%, transparent) }
.acc-ck { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--ink); cursor: pointer }
.acc-ck input { margin-top: 2px; width: 18px; height: 18px; accent-color: var(--gold) }
.acc .pill { justify-self: start }
.acc-link { justify-self: start; background: none; border: 0; padding: 4px 0; color: var(--gold); font: 600 14px var(--text); text-decoration: underline; text-underline-offset: 3px; cursor: pointer }
.acc-st { min-height: 1.4em; margin: 10px 0 0; color: var(--gold); font-weight: 600 }
.acc-st:empty { display: none }
.acc-fine { margin: 12px 0 0; font-size: 13px; color: var(--muted) } .acc-fine a { color: var(--gold) }
.acc.in { grid-template-columns: minmax(0, 1fr) auto; align-items: center }
.acc-btns { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start }
.acc-del summary { cursor: pointer; color: var(--muted); font-size: 14px; padding: 12px 0; list-style: none }
.acc-del summary::-webkit-details-marker { display: none }
.acc-del form { margin-top: 8px; min-width: 240px }
@media (max-width: 820px) { .acc, .acc.in { grid-template-columns: minmax(0, 1fr) } }

/* Letter pop-up (18 Oct, /letter-pop.js): Cigar education pages, centred, once per visit. */
.lpop{width:min(440px,calc(100vw - 32px));padding:clamp(22px,4vw,34px);border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:22px;color:var(--ink);
  background:radial-gradient(90% 60% at 50% 0%,color-mix(in srgb,var(--gold) 12%,transparent),transparent 70%),var(--surface);box-shadow:0 40px 100px -30px #000}
.lpop::backdrop{background:rgba(10,6,3,.72);backdrop-filter:blur(4px)}
.lpop[open]{animation:lpop-in .35s cubic-bezier(.2,.7,.2,1)}
.lpop-x{position:absolute;right:12px;top:10px;width:44px;height:44px;border:0;background:none;color:var(--muted);font-size:26px;cursor:pointer}
.lpop-k{margin:0;font:700 11px var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.lpop h2{margin:8px 0 6px;font:var(--display-weight) clamp(28px,4vw,36px)/1.05 var(--display)}
.lpop-p{margin:0 0 18px;color:var(--muted);line-height:1.5}
.lpop-p a,.lpop-fine a{color:var(--gold);text-underline-offset:3px}
.lpop form{display:grid;gap:12px}
.lpop label:not(.lpop-ck){display:grid;gap:6px;font-size:14px;color:var(--muted)}
.lpop input:not([type=checkbox]){font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:46px}
.lpop input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.lpop-ck{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.lpop-ck input{margin-top:2px;width:18px;height:18px;accent-color:var(--gold)}
.lpop .pill{width:100%;justify-content:center}
.lpop-st{margin:0;min-height:1.2em;color:var(--gold);font-size:14px}.lpop-st:empty{display:none}
.lpop-fine{margin:14px 0 0;font-size:13px;color:var(--muted)}
.lpop-ok{margin:0 0 8px;font:var(--display-weight) 24px/1.2 var(--display);color:var(--gold)}
@keyframes lpop-in{from{opacity:0;transform:translateY(14px) scale(.98)}}
@media(prefers-reduced-motion:reduce){.lpop[open]{animation:none}}

/* My CigarDNA menu + New tag (18 Oct): both tests sit under the My CigarDNA button; Find your cigar carries a New tag. */
.nav-new{display:inline-block;margin-left:7px;padding:2px 7px;border-radius:999px;font:800 11px/1.5 var(--text);letter-spacing:.1em;text-transform:uppercase;
  color:var(--on-gold,#1a1008);background:linear-gradient(180deg,#f0d39b,#d9b46f);vertical-align:2px;font-style:normal}
.nav-g-dna .nav-x{color:var(--gold)}
@media(min-width:1101px){
  .nav-g-dna .nav-sub{left:auto;right:0;min-width:320px}
}
@media(max-width:1100px){
  .nav-ctas .nav-g-dna{grid-template-columns:1fr auto;border-bottom:0;gap:6px}
  .nav-ctas .nav-g-dna .nav-dna{justify-content:center}
  .nav-ctas .nav-g-dna .nav-x{border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));border-radius:999px;min-height:44px}
  .nav-ctas .nav-g-dna .nav-sub{padding:10px 0 4px 14px}
  .nav-ctas .nav-sub a{justify-content:start;text-align:left}
}

/* Account offer (18 Oct, cigardna/kit/upsell.js): after someone leaves their name and email. */
.ups-slot{margin-block:clamp(20px,3vw,36px)}
.ups{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(18px,3vw,40px);padding:clamp(20px,3vw,36px);border-radius:24px;
  border:1px solid color-mix(in srgb,var(--gold) 50%,var(--line));background:radial-gradient(80% 90% at 0% 0%,rgba(236,201,136,.12),transparent 70%),var(--surface);text-align:left}
.ups-k{margin:0 0 6px;font:700 12px var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.ups h2{margin:0 0 8px;font:var(--display-weight) clamp(28px,3vw,40px)/1.06 var(--display)}
.ups-pitch>p:not(.ups-k){margin:0 0 14px;color:var(--muted)}
.ups-perks{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.ups-perks li{position:relative;padding-left:26px;line-height:1.45}
.ups-perks li::before{content:"";position:absolute;left:2px;top:.45em;width:11px;height:6px;border:solid var(--gold);border-width:0 0 2px 2px;transform:rotate(-45deg)}
.ups-f{display:grid;gap:12px;align-content:start}
.ups-who{margin:0;display:grid;gap:2px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--bg) 60%,transparent);border:1px solid var(--line)}
.ups-who span{color:var(--muted);font-size:14px;overflow-wrap:anywhere}
.ups-f label:not(.ups-ck){display:grid;gap:6px;font-size:14px;color:var(--muted)}
.ups-f input:not([type=checkbox]){font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:46px}
.ups-f input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ups-f small{color:var(--muted);font-size:12.5px}
.ups-ck{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.ups-ck input{margin-top:2px;width:18px;height:18px;accent-color:var(--gold)}
.ups-f .pill{width:100%;justify-content:center}
.ups-no{justify-self:center;background:none;border:0;color:var(--muted);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:40px}
.ups-st{margin:0;min-height:1.2em;color:var(--gold);font-size:14px}.ups-st:empty{display:none}.ups-st a{color:var(--gold)}
.ups-done{grid-column:1/-1;display:grid;gap:8px;justify-items:start}
.ups-done p:not(.ups-k){margin:0;color:var(--muted)}
.ups-sm{grid-template-columns:minmax(0,1fr);padding:16px;gap:14px;border-radius:18px}
.ups-sm h2{font-size:24px}
.ups-sm .ups-perks{gap:6px;font-size:14px}
@media(max-width:760px){.ups{grid-template-columns:minmax(0,1fr)}}

/* Log in link + profile menu (19 Oct, /navsub.js). Signed out: .nav-login. Signed in: .nav-g-me replaces it (avatar, name, menu). */
.nav-login{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:10px 4px;color:var(--ink)!important;font-weight:600;font-size:15px;text-decoration:none;white-space:nowrap}
.nav-login:hover{color:var(--gold)!important}
.nav-login svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.nav-login[hidden]{display:none!important}
.nav-me{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:5px 12px 5px 5px;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--gold) 8%,transparent);
  color:var(--ink);font:inherit;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;white-space:nowrap}
.nav-me:hover,.nav-g-me.open .nav-me{border-color:var(--gold)}
.nav-me:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.me-av{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:linear-gradient(180deg,#f0d39b,#c99a52);color:#1a1008;font-weight:800;font-size:14px}
.me-av.lg{width:46px;height:46px;font-size:19px}
.me-n{max-width:7em;overflow:hidden;text-overflow:ellipsis}
.me-tag{display:inline-block;margin-left:6px;vertical-align:2px;font-style:normal;padding:2px 7px;border-radius:999px;border:1px solid var(--gold);color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.me-car{width:14px;height:14px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.nav-g-me.open .me-car{transform:rotate(180deg)}
.me-head{display:flex;gap:12px;align-items:center;padding:8px 12px 12px}
.me-head b{display:block;font-size:16px;color:var(--ink)}
.me-head small{display:block;font-size:13px;color:var(--muted)}
.me-bar{display:block;height:4px;margin:0 12px 8px;border-radius:4px;background:var(--line);overflow:hidden}
.me-bar i{display:block;height:100%;min-width:4px;border-radius:4px;background:linear-gradient(90deg,#c99a52,#f0d39b)}
.nav .me-sub .me-admin{margin-top:4px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent)}
.nav .me-sub .me-admin b{color:var(--gold)}
.me-out{padding:10px 12px;background:none;border:0;border-radius:12px;color:var(--muted);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.me-out:hover{color:var(--ink);background:color-mix(in srgb,var(--gold) 8%,transparent)}
@media(min-width:1101px){
  .nav-g-me .me-sub{left:auto;right:0;min-width:310px}
}
@media(min-width:1101px) and (max-width:1340px){.me-n{display:none}.nav-me{padding-right:10px}}
@media(max-width:1100px){
  .nav-ctas .nav-login{justify-content:center;border:1px solid var(--line);border-radius:999px}
  .nav-g-me{grid-template-columns:1fr;border-bottom:0}
  .nav-g-me .nav-me{justify-content:center}
  .nav-g-me .me-sub{padding:10px 0 4px 14px}
  .me-sub .me-bar{margin-left:0}
  .nav .me-sub .me-admin{padding:9px 12px;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){.me-car{transition:none}}
.cd-login{padding-block:clamp(16px,4vw,48px) clamp(40px,6vw,80px)}
/* 19 Oct header audit (tools/header_audit.py): just above the phone menu the signed-in header ran into the logo. */
@media(min-width:1101px) and (max-width:1200px){.nav{gap:10px}.nav-ctas{gap:6px}.nav .nav-ctas .pill,.nav-ctas .nav-dna{padding:10px 11px}.nav-x{width:20px}}
/* Account offer after "No thanks" (19 Oct): one slim line keeps the way back. */
.ups-slim{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 14px;margin:clamp(20px,3vw,32px) 0 0;padding:12px 18px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:14px}
.ups-open{min-height:40px;padding:0 4px;background:none;border:0;color:var(--gold);font:600 14px var(--text);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ups-open:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}
