/* ---------- Cohort 01 (/cohort) ---------------------------------------------
   Editorial and quiet. The scarcity is one device, shown plainly: six seat
   cards in a row. Hover lifts a card and reveals who it is for; a click opens
   the request for that seat. A countdown sits under them, and once the seats
   scroll away a small dock keeps the count, the clock and the button in view.
   Everything else is generous white space, one serif accent face, and the
   site's ink and teal.

   Three states, set by hand on data-state: "launch" (open, all seats empty),
   "wave1" (open, some taken) and "full" (closed, Lobby List). Elements carry
   data-show with the states they belong to; "open" means launch and wave1.
   Taken seats get the class "taken". */
[data-state=launch] [data-show]:not([data-show~=open]):not([data-show~=launch]){display:none}
[data-state=wave1] [data-show]:not([data-show~=open]):not([data-show~=wave1]){display:none}
[data-state=full] [data-show]:not([data-show~=full]){display:none}

.cohort{--serif:'Instrument Serif',Georgia,'Times New Roman',serif;--ease:cubic-bezier(.22,.61,.36,1);--spring:cubic-bezier(.34,1.56,.64,1);background:var(--paper)}
body.cohort{background:#fff}
.cohort nav{background:color-mix(in srgb,#fff 86%,transparent)}
.em{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-variation-settings:normal}
.cohort h2{font-weight:700;letter-spacing:-.045em}
.sec{padding:clamp(88px,15vh,160px) 0}
.sec-k{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:22px}
.sec p.body{color:var(--mut);font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.6;max-width:44ch}
.sec p.body b{color:var(--ink);font-weight:600}
.btn.ink{background:var(--ink);color:#fff}
.btn.ink:hover{background:var(--teal-ink)}

/* ---------- hero ---------- */
.hero6{position:relative;padding:clamp(130px,20vh,190px) 0 clamp(70px,11vh,110px);text-align:center;overflow:hidden;isolation:isolate;
  background:radial-gradient(60% 50% at 50% 78%,rgba(15,167,155,.09),transparent 70%),#fff}
.live{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border-radius:100px;border:1px solid var(--line);background:#fff;font-size:.86rem;font-weight:600;color:var(--ink)}
.live i{width:8px;height:8px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(15,167,155,.5);animation:live 1.8s ease-out infinite}
[data-state=full] .live i{background:var(--mut);animation:none}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(15,167,155,.5)}70%,100%{box-shadow:0 0 0 9px rgba(15,167,155,0)}}
.hero6 h1{margin:28px auto 0;max-width:15ch;font-size:clamp(2.8rem,7.4vw,7rem);line-height:.94;letter-spacing:-.055em;font-weight:700;text-wrap:balance}
.hero6 h1 .em{font-size:1.06em;letter-spacing:-.02em}
.hero6 .ln{display:inline-block;animation:rise 1s cubic-bezier(.16,1,.3,1) backwards;animation-delay:calc(.1s + var(--l) * .1s)}
@keyframes rise{from{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:none}}
.hero6 .lead{margin:26px auto 0;max-width:36ch;color:var(--mut);font-size:clamp(1.05rem,1.4vw,1.25rem)}
.hero6 .lead b{color:var(--ink);font-weight:600}

/* the six seats */
.seats6{list-style:none;padding:0;margin:clamp(48px,8vh,80px) auto 0;max-width:1120px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.seats6 li{display:flex}
.seat-tile{position:relative;flex:1;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;min-height:228px;padding:18px 18px 18px;
  border-radius:20px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;
  box-shadow:0 1px 2px rgba(22,38,61,.04);
  transition:transform .45s var(--spring),box-shadow .35s var(--ease),border-color .3s,background .3s;
  animation:seatIn .8s var(--ease) backwards;animation-delay:calc(.45s + var(--i) * .07s)}
@keyframes seatIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.st-n{font-family:var(--serif);font-size:clamp(3rem,4.6vw,4.4rem);line-height:.9;letter-spacing:-.02em;color:var(--ink);transition:color .3s}
.st-s{display:inline-flex;align-items:center;gap:7px;font-size:.78rem;font-weight:600;color:var(--mut)}
.st-s i{width:7px;height:7px;border-radius:50%;background:var(--teal)}
.st-taken{display:none}
.st-b{font-size:.84rem;line-height:1.42;color:var(--mut);opacity:0;transform:translateY(6px);transition:opacity .3s,transform .4s var(--ease)}
.st-go{margin-top:auto;font-size:.82rem;font-weight:700;color:var(--teal-ink);opacity:0;transform:translateY(6px);transition:opacity .3s .05s,transform .4s var(--ease) .05s}
.seat-tile:hover,.seat-tile:focus-visible,.seat-tile.on{transform:translateY(-14px);border-color:var(--teal);box-shadow:0 30px 50px -28px rgba(10,127,118,.45),0 0 0 1px var(--teal)}
.seat-tile:hover .st-n,.seat-tile:focus-visible .st-n{color:var(--teal-ink)}
.seat-tile:hover .st-b,.seat-tile:hover .st-go,.seat-tile:focus-visible .st-b,.seat-tile:focus-visible .st-go{opacity:1;transform:none}
.seat-tile:focus-visible{outline:none}
.seat-tile.nom{border-style:dashed;border-color:#B8C3CF}
.seat-tile.nom .st-s i{background:transparent;border:1.5px solid var(--teal-ink)}
.seat-tile.taken{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 20px 40px -26px rgba(22,38,61,.7)}
.seat-tile.taken .st-n{color:rgba(255,255,255,.35)}
.seat-tile.taken .st-s{color:#C9D3DF}
.seat-tile.taken .st-s i{background:#C9D3DF;border:0}
.seat-tile.taken .st-open{display:none}
.seat-tile.taken .st-taken{display:inline}
.seat-tile.taken .st-b,.seat-tile.taken .st-go{display:none}
.seat-tile.taken:hover{transform:translateY(-4px);border-color:var(--ink);box-shadow:0 20px 40px -26px rgba(22,38,61,.7)}
.seats6.nudge .seat-tile:not(.taken){animation:nudge .7s var(--spring) both;animation-delay:calc(var(--i) * .07s)}
@keyframes nudge{40%{transform:translateY(-16px)}100%{transform:none}}
@media(max-width:900px){.seats6{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.seat-tile{min-height:0;aspect-ratio:1/1;padding:14px}.st-b,.st-go{display:none}
  .seat-tile:hover,.seat-tile:focus-visible{transform:translateY(-6px)}}
.seats-cap{margin-top:22px;font-size:.92rem;color:var(--mut)}
.seats-cap b{color:var(--ink);font-weight:600}

/* countdown: plain type, no chrome */
.clock{display:inline-flex;align-items:flex-start;gap:clamp(10px,2vw,22px);margin-top:clamp(40px,6vh,60px)}
.clock div{display:flex;flex-direction:column;align-items:center;gap:6px}
.clock b{font-weight:300;font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ink)}
.clock span{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.clock > i{font-style:normal;font-weight:300;font-size:clamp(2rem,4vw,3.2rem);line-height:1;color:#C9D3DF}
.clock-k{display:block;margin-top:14px;font-size:.86rem;color:var(--mut)}

/* ---------- Fatima ---------- */
.host{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
@media(max-width:860px){.host{grid-template-columns:1fr}}
.host-ph{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/4.4;background:#9ADCD5}
.host-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;display:block}
.host-tag{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:100px;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-size:.88rem;font-weight:600}
.host-tag i{width:34px;height:34px;border-radius:50%;background:var(--ink);position:relative;flex:none}
.host-tag i::after{content:"";position:absolute;left:13px;top:10px;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent}
.host-tag span{color:var(--mut);font-weight:500}
.host h2{font-size:clamp(2.4rem,4.8vw,4.4rem);line-height:.98}
.host .body{margin-top:24px}
.host .body a{color:var(--ink);text-underline-offset:3px}

/* ---------- January ---------- */
.jan{background:var(--mist)}
.jan-top{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.jan h2{font-size:clamp(2.2rem,4.4vw,4rem);line-height:1;max-width:14ch}
.jan-big{font-weight:300;font-size:clamp(4rem,10vw,9rem);line-height:.85;letter-spacing:-.06em;color:var(--teal-ink);font-variant-numeric:tabular-nums}
.jan-big small{display:block;font-size:.9rem;letter-spacing:0;font-weight:500;color:var(--mut);margin-top:10px;text-align:right}
.jan-fig{position:relative;margin-top:clamp(36px,6vh,60px)}
.jan-chart{display:block;width:100%;height:auto}
.ch-grid{stroke:var(--line);stroke-width:1}
.ch-base{stroke:#B8C3CF;stroke-width:1}
.ch-tick{stroke:#B8C3CF;stroke-width:1}
.ch-ax{font-family:var(--f);font-size:13px;fill:var(--mut);font-variant-numeric:tabular-nums}
.ch-year{font-weight:600;fill:var(--ink)}
.ch-area{fill:var(--teal);fill-opacity:.08}
.ch-line{fill:none;stroke:var(--teal);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.ch-jump{stroke:var(--ink);stroke-width:3;stroke-linecap:round}
.ch-dot{fill:var(--ink);stroke:#fff;stroke-width:2.5}
.ch-big{font-family:var(--f);font-weight:600;font-size:20px;letter-spacing:-.01em;fill:var(--ink)}
.ch-sm{font-family:var(--f);font-size:12px;fill:var(--mut)}
@media(max-width:560px){.ch-sm{display:none}.ch-big{font-size:28px}.ch-ax{font-size:18px}}
.ch-hit{fill:transparent;cursor:crosshair}
.ch-guide{stroke:var(--mut);stroke-width:1;stroke-dasharray:3 4;opacity:0;transition:opacity .15s}
.ch-cursor{fill:var(--teal);stroke:#fff;stroke-width:2;opacity:0;transition:opacity .15s}
.reading .ch-guide,.reading .ch-cursor{opacity:1}
.ch-tip{position:absolute;transform:translate(-50%,calc(-100% - 18px));background:var(--ink);color:#fff;border-radius:10px;padding:8px 12px;font-size:.82rem;line-height:1.3;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;display:flex;flex-direction:column;text-align:center}
.ch-tip b{font-size:1.05rem;font-variant-numeric:tabular-nums}
.ch-tip span{color:#C9D3DF}
.reading .ch-tip{opacity:1}
.ch-pulse{fill:var(--teal);opacity:0;transform-box:fill-box;transform-origin:center;animation:cpulse 2.4s ease-out infinite}
@keyframes cpulse{0%{opacity:.5;transform:scale(.6)}80%,100%{opacity:0;transform:scale(2.2)}}
.jan-src{margin-top:16px;font-size:.82rem;color:var(--mut)}

/* ---------- eight weeks ---------- */
.weeks8 h2{font-size:clamp(2.2rem,4.4vw,4rem);line-height:1}
.track{list-style:none;padding:0;margin:clamp(40px,7vh,72px) 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.track::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line)}
.track li{position:relative;padding-top:34px}
.track li::before{content:"";position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:#fff;border:1.5px solid var(--ink)}
.track li:last-child::before{background:var(--teal);border-color:var(--teal);box-shadow:0 0 0 6px rgba(15,167,155,.15)}
.track .wk{font-size:.78rem;font-weight:600;color:var(--mut);font-variant-numeric:tabular-nums}
.track h3{margin:8px 0 8px;font-size:1.3rem;font-weight:600}
.track p{color:var(--mut);font-size:.98rem;line-height:1.5;max-width:26ch}
@media(max-width:760px){.track{grid-template-columns:1fr;gap:28px}.track::before{left:7px;right:auto;top:0;bottom:0;width:1px;height:auto}.track li{padding:0 0 0 38px}}

/* ---------- the review ---------- */
.rev{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center}
@media(max-width:860px){.rev{grid-template-columns:1fr}}
.rev h2{font-size:clamp(2.2rem,4.4vw,4rem);line-height:1}
.rev .body{margin-top:24px}
.sample-doc{position:relative;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3vw,36px);box-shadow:0 40px 80px -50px rgba(22,38,61,.35)}
.sample-tag{position:absolute;top:-12px;right:22px;background:#fff;border:1px solid var(--line);color:var(--mut);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 11px;border-radius:100px}
.sd-kick{font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.sd-name{font-family:var(--serif);font-weight:400;font-size:2rem;letter-spacing:-.01em;margin-top:6px;padding-bottom:16px;border-bottom:1px solid var(--line);font-variation-settings:normal}
.sd-finds{list-style:none;counter-reset:f;display:grid;gap:16px;margin-top:18px;padding:0}
.sd-finds li{counter-increment:f;position:relative;padding-left:40px;font-size:.93rem;color:var(--mut);line-height:1.5}
.sd-finds li::before{content:counter(f);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;border:1px solid var(--line);color:var(--ink);font-weight:600;font-size:.82rem;display:flex;align-items:center;justify-content:center}
.sd-finds b{display:block;color:var(--ink);font-weight:600;font-size:1rem}
.sd-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sd-chip{display:inline-block;font-size:.74rem;font-weight:500;color:var(--mut);background:var(--mist);padding:3px 9px;border-radius:100px}

/* ---------- terms + fit ---------- */
.terms{background:var(--mist)}
.terms h2{font-size:clamp(2.2rem,4.4vw,4rem);line-height:1}
.terms-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:16px;margin-top:clamp(36px,6vh,56px)}
@media(max-width:860px){.terms-grid{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,3.2vw,40px)}
.card.dark{background:var(--ink);border-color:var(--ink);color:#fff}
.price{font-weight:700;font-size:clamp(2.4rem,4.6vw,3.8rem);letter-spacing:-.05em;line-height:1}
.price-sub{margin-top:12px;color:#C9D3DF;line-height:1.5;max-width:34ch}
.card ul{list-style:none;padding:0;display:grid;gap:14px}
.card.dark ul{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.card.dark li{color:#C9D3DF;line-height:1.5;padding-left:26px;position:relative}
.card.dark li b{color:#fff;font-weight:600}
.card.dark li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;border:1.5px solid var(--teal)}
.fit-h{font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:14px}
.fit-yes li,.fit-no li{padding-left:24px;position:relative;line-height:1.45}
.fit-yes li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:var(--teal)}
.fit-no{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.fit-no li{color:var(--mut)}
.fit-no li::before{content:"";position:absolute;left:3px;top:11px;width:8px;height:1.5px;background:var(--mut)}

/* ---------- questions + close ---------- */
.faqs{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(32px,6vw,96px)}
@media(max-width:860px){.faqs{grid-template-columns:1fr}}
.faqs h2{font-size:clamp(2.2rem,4.4vw,4rem);line-height:1}
.faqs .faq{margin-top:0}
.end{text-align:center;padding:clamp(100px,18vh,180px) 0;background:radial-gradient(50% 60% at 50% 100%,rgba(15,167,155,.1),transparent 70%),#fff}
.end h2{font-size:clamp(3.4rem,10vw,9rem);line-height:.9;letter-spacing:-.06em}
.end .btn{margin-top:36px}
.end .clock-k{margin-top:18px}

/* ---------- the dock ---------- */
.dock{position:fixed;z-index:44;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,140%);display:flex;align-items:center;gap:18px;padding:8px 8px 8px 20px;
  border-radius:100px;background:rgba(22,38,61,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#fff;box-shadow:0 20px 50px -18px rgba(22,38,61,.6);
  transition:transform .55s var(--spring);white-space:nowrap;font-size:.9rem}
.dock.show{transform:translate(-50%,0)}
.dock-live{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.dock-live i{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:live 1.8s ease-out infinite}
.dock-meta{color:#C9D3DF;font-variant-numeric:tabular-nums}
.dock-meta b{color:#fff;font-weight:600}
.dock .btn{padding:11px 20px;font-size:.9rem;background:#fff;color:var(--ink)}
.dock .btn:hover{background:var(--teal);color:var(--ink)}
@media(max-width:700px){.dock{left:12px;right:84px;transform:translateY(140%);gap:10px;padding-left:16px;font-size:.82rem}.dock.show{transform:none}.dock-live{display:none}.dock .btn{margin-left:auto;padding:10px 14px}}

/* ---------- the request sheet ----------
   Static without JS (the forms sit at the end of the page). The script adds
   .js-lobby, which turns it into a side sheet (a bottom sheet on phones). */
.sheet{background:var(--mist);border-top:1px solid var(--line)}
.sheet-head{display:none}
.view{padding:8vh max(16px,6vw);max-width:760px;margin:0 auto}
.view h2{font-size:clamp(1.9rem,3vw,2.5rem);margin:6px 0 12px}
.view > p{color:var(--mut);line-height:1.6;max-width:46ch}
.view > p b{color:var(--ink);font-weight:600}
.scrim{display:none}
.js-lobby .sheet{position:fixed;z-index:80;top:0;right:0;bottom:0;width:min(520px,100%);border:0;background:#fff;overflow-y:auto;overscroll-behavior:contain;
  box-shadow:-30px 0 80px -30px rgba(22,38,61,.35);transform:translateX(104%);visibility:hidden;transition:transform .5s var(--ease),visibility 0s .5s}
.js-lobby .sheet.open{transform:none;visibility:visible;transition:transform .5s var(--ease),visibility 0s}
.js-lobby .sheet-head{display:flex;justify-content:flex-end;position:sticky;top:0;z-index:2;padding:14px 14px 0;pointer-events:none}
.sheet-x{pointer-events:auto;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.4rem;line-height:1;display:grid;place-items:center}
.sheet-x:hover{border-color:var(--ink)}
.js-lobby .view{display:none;padding:0 clamp(22px,4vw,40px) 48px;margin:-24px 0 0;max-width:none}
.js-lobby .view.on{display:block;animation:viewIn .45s var(--ease)}
@keyframes viewIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.js-lobby .scrim{display:block;position:fixed;inset:0;z-index:79;background:rgba(22,38,61,.18);opacity:0;visibility:hidden;transition:opacity .4s ease,visibility 0s .4s}
.js-lobby .scrim.on{opacity:1;visibility:visible;transition:opacity .4s ease,visibility 0s}
@media(max-width:700px){
  .js-lobby .sheet{top:auto;left:0;width:100%;max-height:92svh;border-radius:24px 24px 0 0;transform:translateY(104%)}
  .js-lobby .sheet::before{content:"";position:absolute;left:50%;top:9px;width:40px;height:5px;border-radius:5px;transform:translateX(-50%);background:var(--line)}
}
.v-seat{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.v-num{flex:none;font-family:var(--serif);font-size:3.6rem;line-height:.9;color:var(--teal-ink)}
.v-k{font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.v-t{font-weight:600;line-height:1.4;margin-top:3px;max-width:34ch}
.steps{display:flex;gap:6px;margin:22px 0 22px}
.steps span{flex:1;height:3px;border-radius:3px;background:var(--line);transition:background .4s}
.steps span.on{background:var(--ink)}
.cohort .audit-form{border:1px solid var(--line);border-radius:22px}
.js-lobby .view .audit-form{border:0;padding:0;border-radius:0;background:transparent}
.cohort .audit-form input[type=text],.cohort .audit-form input[type=email]{border-color:var(--line)}
.step{border:0;margin:0;padding:0;min-width:0}
.step + .step{margin-top:18px}
.js-lobby .step{display:none}
.js-lobby .step.on{display:block;animation:viewIn .35s var(--ease)}
.audit-form .step legend{font-weight:600;font-size:1.05rem;margin-bottom:14px;padding:0}
.step-next{display:none}
.js-lobby .step-next{display:inline-block}
.audit-form .step .btn{margin-top:3vh}
.form-status.ok:not([hidden]){border-color:var(--sage);background:var(--sage-soft);color:var(--ink)}
.audit-form.sent .step,.audit-form.sent .form-foot{display:none!important}
.dates{list-style:none;padding:0;margin:30px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.dates li{padding:14px 16px;background:#fff;color:var(--mut);font-size:.84rem;line-height:1.4}
.dates li b{display:block;color:var(--ink);font-size:1rem;font-weight:600}

/* the confirmation: a clean ticket */
.ticket{outline:none}
.ticket-paper{--stub:92px;position:relative;display:grid;grid-template-columns:minmax(0,1fr) var(--stub);border-radius:18px;background:var(--ink);color:#fff;
  box-shadow:0 30px 60px -30px rgba(22,38,61,.6);
  -webkit-mask:radial-gradient(circle 10px at calc(100% - var(--stub)) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 10px at calc(100% - var(--stub)) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  mask:radial-gradient(circle 10px at calc(100% - var(--stub)) 0,#0000 98%,#000) top/100% 51% no-repeat,radial-gradient(circle 10px at calc(100% - var(--stub)) 100%,#0000 98%,#000) bottom/100% 51% no-repeat;
  animation:printOut .9s var(--ease) both}
@keyframes printOut{from{clip-path:inset(0 0 100% 0);transform:translateY(-10px)}to{clip-path:inset(0 0 0 0);transform:none}}
.t-main{min-width:0;padding:24px 20px 22px 24px}
.t-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-left:1.5px dashed rgba(255,255,255,.25)}
.t-stub span{font-size:.62rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#C9D3DF}
.t-stub b{font-family:var(--serif);font-weight:400;font-size:3rem;line-height:1;color:var(--teal)}
.t-k{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#C9D3DF}
.t-h{font-family:var(--serif);font-size:2.1rem;line-height:1;margin:8px 0 16px}
.ticket dl{display:grid;gap:9px;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}
.ticket dl div{display:flex;justify-content:space-between;gap:14px;font-size:.88rem}
.ticket dt{color:#C9D3DF}
.ticket dd{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
@media(max-width:440px){.ticket-paper{--stub:68px}.t-stub b{font-size:2.3rem}}
.v-taken{margin-top:16px;padding:18px 20px;border-radius:16px;background:var(--mist);font-weight:600}

/* ---------- hand-drawn illustrations ---------------------------------------
   Ink linework over flat colour blocks that sit a few pixels off the line, the
   way a two-pass print misregisters. #rough adds a faint pen wobble. Palette:
   ink, mint, butter, sky, coral. Each drawing is inline SVG, decorative only. */
.dd{display:block;overflow:visible}
.dd .ink{fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.dd .ink.w{stroke:#fff}
.dd .paper{fill:#fff;stroke:var(--ink);stroke-width:2.4;stroke-linejoin:round}
.dd .mint{fill:#9ADCD5}.dd .sun{fill:#F6CF5B}.dd .sky{fill:#A9C8FF}.dd .coral{fill:#F49C7A}
.dd .txt{font-family:var(--f);font-weight:800;fill:var(--ink)}
.rough{filter:url(#rough)}
@keyframes draw{to{stroke-dashoffset:0}}

/* the loop around "January." */
.scrib{position:relative;display:inline-block;margin-left:.08em}
.scrib svg{position:absolute;left:-8%;top:-14%;width:116%;height:132%;pointer-events:none;overflow:visible}
.scrib path{fill:none;stroke:var(--teal);stroke-width:3.2;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 1.3s cubic-bezier(.65,0,.35,1) 1.1s forwards}
.spark{position:absolute;width:clamp(28px,3vw,44px);pointer-events:none}
.spark.a{left:6%;top:24%;transform:rotate(-12deg)}
.spark.b{right:7%;top:46%;transform:rotate(10deg);width:clamp(22px,2.2vw,32px)}
@media(max-width:700px){.spark{display:none}}

/* a doodle chair in each seat card */
.st-chair{position:absolute;right:12px;bottom:12px;width:58px;height:58px;--cf:transparent;--cs:var(--ink);transition:transform .45s var(--spring)}
.seat-tile:hover .st-chair,.seat-tile:focus-visible .st-chair,.seat-tile.on .st-chair{--cf:#9ADCD5;transform:rotate(-6deg) translateY(-2px)}
.seat-tile.nom:hover .st-chair,.seat-tile.nom:focus-visible .st-chair{--cf:#F6CF5B}
.seat-tile.taken .st-chair{--cf:#F6CF5B;--cs:#fff}
.seat-tile .st-go{padding-right:56px}
@media(max-width:900px){.st-chair{width:30px;height:30px;right:8px;top:10px;bottom:auto}}

/* Fatima: a pen arrow from the words to the photo */
.host > div:last-child{position:relative}
.dd-arrow{position:absolute;left:-118px;top:-34px;width:120px;height:92px}
@media(max-width:860px){.dd-arrow{display:none}}

/* January: a tear-off calendar beside the number */
.jan-right{display:flex;align-items:flex-end;gap:clamp(12px,2vw,28px)}
.dd-cal{width:clamp(110px,12vw,160px);height:auto}

/* weeks: a spot illustration over each step */
.track li{padding-top:160px}
.track li::before{top:132px}
.track::before{top:139px}
.track .spot{position:absolute;left:-6px;top:0;width:130px;height:110px}
@media(max-width:760px){.track li{padding-top:0}.track li::before{top:4px}.track::before{top:0}.track .spot{position:static;width:96px;height:80px;margin:-6px 0 6px -6px}}

/* review: a magnifier over the sample */
.dd-mag{position:absolute;right:-34px;bottom:-46px;width:140px;height:140px;transform:rotate(8deg)}
@media(max-width:600px){.dd-mag{right:-8px;bottom:-40px;width:100px;height:100px}}

/* terms: an envelope with a seal */
.card.dark{position:relative}
.dd-env{position:absolute;right:clamp(16px,2.6vw,32px);top:clamp(16px,2.6vw,30px);width:clamp(84px,9vw,118px);height:auto;transform:rotate(7deg)}
.card.dark .price{padding-right:110px}

/* the close: a chair with a reserved card */
.dd-end{width:clamp(170px,18vw,240px);height:auto;margin:0 auto 18px}

@media(prefers-reduced-motion:reduce){.scrib path{animation:none;stroke-dashoffset:0}.st-chair{transition:none}}

@media(prefers-reduced-motion:reduce){
  .hero6 .ln,.seat-tile,.live i,.dock-live i,.ch-pulse,.ticket-paper,.js-lobby .view.on,.js-lobby .step.on,.seats6.nudge .seat-tile{animation:none}
  .ch-pulse{opacity:0}
  .seat-tile,.st-b,.st-go,.dock,.js-lobby .sheet,.js-lobby .scrim{transition:none}
}

/* ---------- the Lobby List (always open) ----------------------------------
   Its own section with a queue of doodle chairs, a cue under the hero clock,
   and the destination for every "Join the Lobby List" link once seats fill. */
.lobby-cue{display:inline-flex;align-items:center;gap:6px;margin-top:22px;padding:10px 16px;border-radius:100px;border:1.5px dashed var(--ink);
  color:var(--ink);font-size:.92rem;text-decoration:none;background:#fff;transition:transform .4s var(--spring),box-shadow .3s}
.lobby-cue b{font-weight:700}
.lobby-cue:hover{transform:translateY(-2px);box-shadow:4px 4px 0 0 #9ADCD5}
.clock-k + .lobby-cue{display:flex;width:max-content;margin-left:auto;margin-right:auto}
.lobby{background:#F3FAF8;border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line)}
.lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
@media(max-width:860px){.lobby-grid{grid-template-columns:1fr}}
.lobby h2{font-size:clamp(2.2rem,4.4vw,4rem);line-height:1}
.lobby .body{margin-top:22px}
.lobby .body a{color:var(--ink);text-underline-offset:3px}
.lobby-alt{font-size:1rem!important}
.lq{display:flex;align-items:flex-end;gap:6px;margin-bottom:22px}
.lq-seat{display:flex;flex-direction:column;align-items:center;gap:2px}
.lq-seat b{font-family:var(--serif);font-weight:400;font-size:1.1rem;color:var(--mut)}
.lq-chair{width:58px;height:58px;overflow:visible}
.lq-seat:nth-child(2) .lq-chair{width:50px;height:50px;opacity:.85}
.lq-seat:nth-child(3) .lq-chair{width:44px;height:44px;opacity:.7}
.lq-more{font-size:1.6rem;color:var(--mut);padding-bottom:26px}
.cohort .lobby-form{background:#fff;border:2px solid var(--ink);border-radius:22px;box-shadow:7px 7px 0 0 #9ADCD5}
.lobby-form.sent .fields,.lobby-form.sent > .btn{display:none}
.host-tag--still{padding:9px 16px}

/* while seats are open the cue is a reassurance, not a second form */
.lobby-cue--note{border-style:solid;border-color:var(--line);color:var(--mut);cursor:default}
.lobby-cue--note b{color:var(--ink);font-weight:600}
.lobby-cue--note:hover{transform:none;box-shadow:none}

/* ---------- small phones (mobile pass, 2026-10-21) ------------------------ */
@media(max-width:560px){
  .clock-k + .lobby-cue,.lobby-cue{display:flex;width:auto;max-width:100%;white-space:normal;text-align:center;justify-content:center;flex-wrap:wrap;line-height:1.4;border-radius:16px}
}
@media(max-width:420px){
  .seats6{gap:8px}
  .seat-tile{padding:10px}
  .st-n{font-size:2.3rem}
  .st-s{font-size:.72rem}
  .st-chair{width:24px;height:24px;right:6px;top:8px}
  .dock{gap:8px;padding:6px 6px 6px 14px}
  .dock-meta{font-size:.76rem;white-space:normal;line-height:1.25}
  #dockCd{display:none}
  .dock .btn{padding:9px 12px;font-size:.82rem}
}

/* ---------- The Owners Cohort: 3 free seats + the paid card (2026-10-22) ---- */
.seats6.seats-free{grid-template-columns:repeat(4,minmax(0,1fr));max-width:900px}
.seat-tile.paid{background:var(--mist);border-style:dashed;border-color:#B8C3CF}
.seat-tile.paid .st-price{font-family:var(--fd);font-variation-settings:"opsz" 96;font-weight:700;font-size:clamp(1.9rem,2.8vw,2.6rem);letter-spacing:-.04em;line-height:1}
.seat-tile.paid .st-s i{background:var(--mut)}
.seat-tile.paid:hover,.seat-tile.paid:focus-visible{border-color:var(--ink);box-shadow:6px 6px 0 0 #9ADCD5}
.seat-tile.free .st-s i{background:#E2B93B;box-shadow:0 0 0 3px rgba(249,222,139,.6)}
.seat-tile.free .st-open{color:var(--ink);font-weight:700}
.seats-cap a{color:var(--ink);text-underline-offset:3px}
@media(max-width:900px){.seats6.seats-free{grid-template-columns:repeat(2,minmax(0,1fr));max-width:460px}.seat-tile{aspect-ratio:auto;min-height:118px}}

/* ---------- round 2 (2026-10-22): founding rate, chairs, booking ----------
   The Pilot price is shown beside the founding rate, never struck through:
   the Pilot is a different product still sold at $2,500, so a strike-through
   would imply a former price that isn't real. */
.seat-tile.paid .st-was{font-size:.74rem;color:var(--mut)}
.seat-tile.paid .st-open{color:var(--ink);font-weight:700}
.seat-tile.paid .st-s i{background:#E2B93B;box-shadow:0 0 0 3px rgba(249,222,139,.6)}
.win-tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:6px 12px;border-radius:100px;background:#F9DE8B;color:var(--ink);
  font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-1.5deg);box-shadow:3px 3px 0 0 rgba(255,255,255,.25)}
.card.dark .price small{font-size:1rem;font-weight:500;letter-spacing:0;color:#C9D3DF}
.compare{list-style:none;padding:0;margin:20px 0 0!important;border:0!important;display:grid;gap:8px}
.card.dark .compare li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:12px;padding:10px 14px;border-radius:12px;
  background:rgba(255,255,255,.06);color:#C9D3DF}
.card.dark .compare li::before{display:none}
.compare li b{font-size:1.1rem;color:#fff;font-variant-numeric:tabular-nums}
.compare li em{font-style:normal;font-size:.8rem;color:#8FA0B5;min-width:5.2em;text-align:right}
.card.dark .compare li:first-child b{color:#8FA0B5}
.card.dark .compare li.you{background:#9ADCD5;color:var(--ink)}
.card.dark .compare li.you b,.card.dark .compare li.you em{color:var(--ink)}
.card.dark .compare li.free{background:#F9DE8B;color:var(--ink)}
.card.dark .compare li.free b,.card.dark .compare li.free em{color:var(--ink)}
.card.dark .price-sub{margin-top:16px}

/* the filling chairs: one per practice that has applied */
.applied{margin:22px auto 0;max-width:620px}
.applied-row{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 6px}
.ac{width:26px;height:26px;overflow:visible;--cf:transparent;--cs:#B8C3CF}
.ac.on{--cf:#9ADCD5;--cs:var(--ink);animation:acIn .5s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(600ms + var(--d))}
@keyframes acIn{from{transform:translateY(6px) scale(.6);opacity:0}to{transform:none;opacity:1}}
.applied-k{margin-top:8px;font-size:.88rem;color:var(--mut)}
.applied-k b{color:var(--ink)}
@media(prefers-reduced-motion:reduce){.ac.on{animation:none}}

/* the booking calendar after a review request */
.book-now{margin-top:18px}
.book-now .book-after-p{color:var(--mut);line-height:1.5;margin-bottom:14px}
.book-now .embed{max-width:none;border-radius:16px;min-height:780px}
.book-now .embed iframe{height:780px}
.book-now .embed-alt{max-width:none;font-size:.82rem}
.bk-tip{display:flex;align-items:center;gap:14px;margin:0 0 16px;padding:14px 16px;border-radius:14px;background:#FFF6D9;border:2px solid var(--ink);box-shadow:4px 4px 0 0 #F6CF5B}
.bk-tip p{margin:0;font-size:.92rem;line-height:1.45;min-width:0}
.bk-mark{flex:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#F9DE8B;border:2px solid var(--ink);box-shadow:2px 2px 0 0 var(--ink);
  font-family:var(--fd);font-variation-settings:"opsz" 96;font-weight:800;font-size:1rem;letter-spacing:-.02em;transform:rotate(-8deg)}

/* ---------- 2026-10-23 revamp: 30 seats, two ways in ------------------------
   The headline's lines are blocks, so the font swap can't re-wrap them (that
   was the layout shift). Two calls to action, the $1,000 membership and the
   free seats side by side, the 30-seat map, founders as pixel avatars. */
.hero6 h1{max-width:none}
.hero6 h1 .ln{display:block}
@media(min-width:700px){.hero6 h1 .ln{white-space:nowrap}}
.hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.hero-cta .btn{display:inline-flex;align-items:center;gap:10px;font-size:1.06rem;font-weight:700;padding:18px 30px;transition:transform .35s var(--spring),box-shadow .2s,background .18s}
.cta-main{box-shadow:5px 5px 0 0 #9ADCD5}
.cta-main:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 0 #9ADCD5}
.btn.cta-free{background:#F9DE8B;color:var(--ink);border:2px solid var(--ink);padding:16px 28px;box-shadow:5px 5px 0 0 var(--ink)}
.btn.cta-free:hover{background:#F6CF5B;transform:translate(-2px,-2px);box-shadow:7px 7px 0 0 var(--ink)}
.cta-free svg{width:22px;height:22px;flex:none}
.cta-note{margin-top:16px;font-size:.88rem;color:var(--mut)}
.offers{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;max-width:920px;margin:clamp(44px,7vh,64px) auto 0;text-align:left}
.offer{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:clamp(22px,2.6vw,30px);border-radius:24px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font:inherit;text-align:left}
.offer-paid{background:var(--ink);border-color:var(--ink);color:#fff;cursor:pointer;box-shadow:0 30px 60px -36px rgba(22,38,61,.8);transition:transform .45s var(--spring),box-shadow .3s}
.offer-paid:hover,.offer-paid:focus-visible{transform:translateY(-6px);box-shadow:8px 8px 0 0 #9ADCD5;outline:none}
.of-k{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink)}
.offer-paid .of-k{color:#9ADCD5}
.of-price{font-family:var(--fd);font-variation-settings:"opsz" 96;font-weight:700;font-size:clamp(2.6rem,4.4vw,3.6rem);letter-spacing:-.045em;line-height:1}
.of-price small{font-family:var(--f);font-size:1rem;font-weight:500;letter-spacing:0;color:var(--mut)}
.offer-paid .of-price small{color:#C9D3DF}
.of-vs{display:inline-flex;align-items:baseline;gap:6px;padding:7px 14px;border-radius:100px;background:#F9DE8B;color:var(--ink);font-size:.92rem;font-weight:500}
.of-vs b{font-weight:800;font-size:1.12rem;letter-spacing:-.01em}
.of-meta{font-size:.92rem;color:var(--mut)}
.of-meta b{color:var(--ink);font-weight:700}
.offer-paid .of-meta{color:#C9D3DF}
.offer-paid .of-meta b{color:#fff}
.of-go{margin-top:auto;padding-top:10px;font-weight:700;color:#9ADCD5;transition:transform .3s var(--spring)}
.offer-paid:hover .of-go{transform:translateX(4px)}
.offer-free{background:#FFFBEF;border-color:#F6CF5B}
.free-seats{list-style:none;padding:0;margin:4px 0 0;display:flex;gap:10px}
.fs{display:flex;flex-direction:column;align-items:center;gap:2px;width:86px;padding:10px 6px 10px;border-radius:16px;border:1.5px dashed #C9B26A;background:#fff;color:var(--ink);cursor:pointer;font:inherit;
  transition:transform .4s var(--spring),border-color .2s,box-shadow .2s}
.fs-chair{width:42px;height:42px;--cf:transparent;--cs:var(--ink);transition:transform .4s var(--spring)}
.fs-n{font-family:var(--serif);font-size:1.4rem;line-height:1}
.fs-s{font-size:.72rem;font-weight:600;color:var(--mut)}
.fs:hover,.fs:focus-visible,.fs.on{transform:translateY(-5px);border-style:solid;border-color:var(--ink);box-shadow:4px 4px 0 0 #F6CF5B;outline:none}
.fs:hover .fs-chair,.fs:focus-visible .fs-chair,.fs.on .fs-chair{--cf:#F6CF5B;transform:rotate(-6deg)}
.fs.taken{background:var(--ink);border:1.5px solid var(--ink);color:#fff}
.fs.taken .fs-chair{--cf:#F6CF5B;--cs:#fff}
.fs.taken .fs-s{color:#C9D3DF}
.fs.taken .st-open{display:none}
.fs.taken .st-taken{display:inline}
.of-nom{font-size:.86rem;font-weight:600;color:var(--ink);text-underline-offset:3px}
@media(max-width:760px){.offers{grid-template-columns:1fr}.fs{width:auto;flex:1}}
.applied{max-width:500px;margin-top:30px}
.applied-row{min-height:58px}
.applied-k{min-height:1.4em}
.ac.fr{--cs:#C9B26A}
.ac.fr.on{--cf:#F6CF5B}

/* founders as pixel avatars, floating */
.host-av{position:relative;display:flex;justify-content:center;align-items:flex-end;gap:clamp(10px,2.4vw,28px);padding:clamp(40px,6vw,70px) 16px clamp(34px,5vw,56px);border-radius:28px;
  background:radial-gradient(70% 60% at 50% 100%,rgba(255,255,255,.55),transparent 70%),#9ADCD5;overflow:hidden}
.av{display:flex;flex-direction:column;align-items:center;gap:12px;animation:avFloat 5.2s ease-in-out infinite;animation-delay:var(--d)}
.av:nth-child(2){margin-bottom:clamp(18px,3vw,34px)}
.av i{display:block;width:clamp(88px,10vw,132px);aspect-ratio:44/48;background-repeat:no-repeat;background-size:200% 100%;background-position:0 0;image-rendering:pixelated;
  filter:drop-shadow(4px 5px 0 rgba(22,38,61,.18));animation:avBlink 4.6s steps(1) infinite;animation-delay:calc(var(--d) * -1.3)}
.av b{font-size:.82rem;font-weight:700;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:100px;padding:3px 12px;box-shadow:2px 2px 0 0 var(--ink)}
@keyframes avFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes avBlink{0%,93%{background-position:0 0}94%,97%{background-position:100% 0}98%,100%{background-position:0 0}}
@media(prefers-reduced-motion:reduce){.av,.av i{animation:none}}

/* not a fit, at a glance */
.fit{display:grid;gap:14px}
.fit-card{border-radius:22px;padding:clamp(20px,2.4vw,28px);border:1.5px solid var(--line);background:#fff}
.fit-card .fit-h{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;letter-spacing:-.01em;text-transform:none;color:var(--ink);margin-bottom:14px}
.fit-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);font-size:.95rem;font-weight:800;line-height:1;flex:none}
.fit-card ul{list-style:none;padding:0;display:grid;gap:10px}
.fit-card li{position:relative;padding-left:28px;line-height:1.4;font-weight:500}
.fit-card--yes{background:#EEF9F7;border-color:#9ADCD5}
.fit-card--yes .fit-ic{background:#9ADCD5}
.fit-card--yes li::before{content:"✓";position:absolute;left:2px;top:0;font-weight:800;color:var(--teal-ink)}
.fit-card--no{background:#FFF1EC;border-color:#F49C7A;box-shadow:5px 5px 0 0 #F49C7A}
.fit-card--no .fit-ic{background:#F49C7A}
.fit-card--no li{color:var(--ink)}
.fit-card--no li::before{content:"✕";position:absolute;left:2px;top:0;font-weight:800;color:#C2532F}

/* the $2,500 Pilot price, hard to miss */
.card.dark .compare li.pilot{background:rgba(249,222,139,.12);border:1.5px solid #F9DE8B}
.card.dark .compare li.pilot b{color:#F9DE8B;font-size:1.35rem}
.card.dark .compare li.pilot span{color:#fff}
.end .hero-cta{margin-top:36px}
.end .hero-cta .btn{margin-top:0}
.fit{align-self:start}

/* the headline's lines never wrap, at any width: sized to fit a phone */
.hero6 h1{font-size:min(clamp(2.8rem,7.4vw,7rem),11.5vw)}
.hero6 h1 .ln{white-space:nowrap}
/* the intro's three lines are fixed on wider screens, so a late font can't
   change how many lines it takes */
@media(min-width:900px){.hero6 .lead-lines{max-width:none}.lead-lines span{display:block;white-space:nowrap}}

/* the $1,000 membership as the headline offer (2026-10-23): a month-for-month
   comparison with the Pilot, what's included, a $500-a-month stamp. The free
   seats stay, quieter. */
.offers{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);max-width:980px;align-items:start}
.offer-paid{gap:12px;padding:clamp(24px,3vw,36px);box-shadow:8px 8px 0 0 #9ADCD5,0 40px 70px -40px rgba(22,38,61,.9)}
.offer-paid:hover,.offer-paid:focus-visible{transform:translateY(-6px);box-shadow:12px 12px 0 0 #9ADCD5,0 40px 70px -40px rgba(22,38,61,.9)}
.of-stamp{position:absolute;top:-22px;right:22px;display:grid;place-items:center;align-content:center;width:104px;height:104px;border-radius:50%;background:#F9DE8B;color:var(--ink);border:2px solid var(--ink);
  box-shadow:3px 3px 0 0 var(--ink);transform:rotate(9deg);font-size:.78rem;font-weight:700;line-height:1.1;text-align:center}
.of-stamp b{font-family:var(--fd);font-variation-settings:"opsz" 96;font-size:1.7rem;font-weight:800;letter-spacing:-.04em}
.offer-paid .of-price{font-size:clamp(3rem,5.4vw,4.4rem)}
.of-bars{display:grid;gap:8px;width:100%;margin-top:4px}
.ob{display:grid;grid-template-columns:7.2em minmax(0,1fr) auto auto;align-items:center;gap:10px;font-size:.86rem}
.ob-l{color:#C9D3DF}
.ob-bar{height:12px;border-radius:100px;background:rgba(255,255,255,.08);overflow:hidden}
.ob-bar i{display:block;height:100%;border-radius:100px}
.ob-pilot .ob-bar i{width:100%;background:#8FA0B5}
.ob-you .ob-bar i{width:20%;background:#9ADCD5;box-shadow:0 0 0 2px rgba(154,220,213,.25)}
.ob b{font-variant-numeric:tabular-nums;font-size:1rem;color:#fff}
.ob-pilot b{color:#C9D3DF}
.ob-you b{color:#9ADCD5;font-size:1.15rem}
.ob em{font-style:normal;font-size:.76rem;color:#8FA0B5}
.ob-you .ob-l{color:#fff;font-weight:700}
.of-inc{display:grid;gap:7px;margin-top:4px;padding-top:14px;border-top:1px solid rgba(255,255,255,.12);width:100%}
.of-inc span{position:relative;padding-left:24px;font-size:.92rem;color:#E4EAF1}
.of-inc span::before{content:"✓";position:absolute;left:0;top:0;color:#9ADCD5;font-weight:800}
.of-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:6px}
.offer-paid .of-go{margin:0;padding:12px 20px;border-radius:100px;background:#9ADCD5;color:var(--ink);font-size:.98rem}
.offer-paid:hover .of-go{transform:translateX(3px)}
.offer-paid .of-vs{display:none}
/* the free seats: still there, a step quieter */
.offer-free{background:#fff;border:1.5px dashed #C9D3DF}
.offer-free .of-price{font-size:clamp(2rem,3.2vw,2.6rem)}
.offer-free .of-k{color:var(--mut)}
.free-seats{flex-wrap:wrap}
.fs{width:78px}
/* hero buttons: the cohort is the loud one */
.btn.cta-free{background:#fff;color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 0 #F6CF5B}
.btn.cta-free:hover{background:#FFFBEF;box-shadow:6px 6px 0 0 #F6CF5B}
.cta-main{box-shadow:6px 6px 0 0 #9ADCD5;font-size:1.12rem!important;padding:20px 34px!important}
@media(max-width:760px){.of-stamp{width:86px;height:86px;top:-18px;right:14px}.of-stamp b{font-size:1.4rem}.ob{grid-template-columns:6.4em minmax(0,1fr) auto;font-size:.8rem}.ob em{display:none}}
@media(max-width:760px){.offers{grid-template-columns:1fr;gap:34px}.offer-paid{margin-top:14px}.free-seats{flex-wrap:nowrap}.fs{width:auto;flex:1}}
@media(max-width:760px){.ob{grid-template-columns:5.6em minmax(0,1fr) auto auto;gap:8px}.ob em{display:inline;font-size:.7rem}}

/* the $1,000 card on a light ground (2026-10-23): navy was hard to read.
   Mint paper, navy ink, the mint offset shadow kept so it still leads. */
.offer-paid{background:#EEF9F7;border:2px solid var(--ink);color:var(--ink);box-shadow:8px 8px 0 0 #9ADCD5,0 40px 70px -46px rgba(22,38,61,.45)}
.offer-paid:hover,.offer-paid:focus-visible{box-shadow:12px 12px 0 0 #9ADCD5,0 40px 70px -46px rgba(22,38,61,.45)}
.offer-paid .of-k{color:var(--teal-ink)}
.offer-paid .of-price small{color:var(--mut)}
.ob-l{color:var(--mut)}
.ob-you .ob-l{color:var(--ink)}
.ob-bar{background:#D6E9E6}
.ob-pilot .ob-bar i{background:#B8C3CF}
.ob-you .ob-bar i{background:var(--teal);box-shadow:none}
.ob b{color:var(--ink)}
.ob-pilot b{color:var(--mut)}
.ob-you b{color:var(--teal-ink)}
.ob em{color:var(--mut)}
.of-inc{border-top-color:#C5E3DF}
.of-inc span{color:var(--ink)}
.of-inc span::before{color:var(--teal-ink)}
.offer-paid .of-meta{color:var(--mut)}
.offer-paid .of-meta b{color:var(--ink)}
.offer-paid .of-go{background:var(--ink);color:#fff}
/* less air above the hero (2026-10-23): the nav is ~80px, so this leaves a
   comfortable gap without pushing the buttons down */
.hero6{padding-top:clamp(104px,14vh,136px)}
.hero6 h1{margin-top:22px}
/* a smaller headline (2026-10-23) */
.hero6 h1{font-size:min(clamp(2.4rem,5.6vw,5.2rem),10.5vw)}

/* ---------- December to January (2026-10-23) ------------------------------
   The headline stays centred and untouched. A sparse December calendar on
   the left ("now"), and on the right a January calendar that starts just as
   sparse and fills itself, slot by slot in quick stop-motion steps, about a
   second after load ("your January"). No connecting line. One frame of
   reference (.dj, 1160px, centred) holds both cards on wide screens; narrower
   screens get the pair below the buttons. Still (and full) for reduced motion. */
.hero6 .wrap > :not(.dj){position:relative;z-index:1}
.dj{position:absolute;z-index:0;top:-6px;left:50%;width:1160px;height:420px;margin-left:-580px;pointer-events:none;display:none}
@media(min-width:1240px){.dj{display:block}}
.dj-cal{position:absolute;width:212px;padding:14px 14px 16px;background:#fff;border:2px solid var(--ink);border-radius:18px;text-align:left}
.dj-dec{left:24px;top:96px;transform:rotate(-4deg);box-shadow:6px 6px 0 0 #E4EAF0}
.dj-jan{right:24px;top:150px;transform:rotate(3deg);box-shadow:6px 6px 0 0 #9ADCD5}
.dj-h{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
.dj-h b{font-family:var(--fd);font-variation-settings:"opsz" 96;font-weight:800;font-size:1.1rem;letter-spacing:-.03em;color:var(--ink)}
.dj-dec .dj-h b{color:var(--mut)}
.dj-d,.dj-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.dj-d{font-size:.62rem;font-weight:700;color:var(--mut);text-align:center;margin-bottom:4px}
.dj-g i{display:block;height:20px;border-radius:6px;border:1.5px dashed #CBD4DE;background:#fff}
.dj-g i.f{background:var(--teal);border:1.5px solid var(--ink)}
.dj-g i.f.s{background:#6E9683}
.dj-dec .dj-g i.f{background:#B8C3CF;border-color:#8FA0B5}
/* January fills itself */
.dj-jan .dj-g i.add{background:#fff;border:1.5px dashed #CBD4DE;animation:djFill .1s linear forwards;animation-delay:calc(1.1s + var(--j) * .11s)}
.dj-jan .dj-g i.add.s{animation-name:djFillS}
@keyframes djFill{0%,100%{background:var(--teal);border:1.5px solid var(--ink)}}
@keyframes djFillS{0%,100%{background:#6E9683;border:1.5px solid var(--ink)}}
.dj-lab{position:absolute;left:0;right:0;bottom:-34px;text-align:center;font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--mut)}
.dj-jan .dj-lab{color:var(--teal-ink)}
/* narrower screens: the pair below the buttons */
.dj-mini{display:flex;align-items:flex-start;justify-content:center;gap:clamp(18px,6vw,40px);margin:30px auto 34px}
.dj-mini .dj-cal{position:relative;left:auto;right:auto;top:auto;width:min(150px,40vw);padding:10px 10px 12px;border-radius:14px}
.dj-mini .dj-dec{transform:rotate(-3deg)}
.dj-mini .dj-jan{transform:rotate(3deg)}
.dj-mini .dj-h b{font-size:.86rem}
.dj-mini .dj-g i{height:13px;border-radius:4px}
.dj-mini .dj-d{font-size:.55rem}
.dj-mini .dj-lab{bottom:-28px;font-size:1.05rem}
@media(min-width:1240px){.dj-mini{display:none}}
@media(prefers-reduced-motion:reduce){.dj-jan .dj-g i.add{animation:none;background:var(--teal);border:1.5px solid var(--ink)}.dj-jan .dj-g i.add.s{background:#6E9683}}
.jan-big small{max-width:17em;margin-left:auto;line-height:1.35}
/* "Why January": the calendar and the +16% sit beside the heading on wide
   screens, in the space to its right (2026-10-23) */
@media(min-width:1000px){
  .jan-top{flex-wrap:nowrap;align-items:center}
  .jan h2{flex:0 1 auto}
  .jan-right{flex:none}
  .jan-big{font-size:clamp(5rem,8.4vw,8rem)}
}

/* ---------- final pass (2026-10-23): calmer, shorter, easier to scan ------- */
/* sections breathe a little less, so the page reads as one story */
.sec{padding:clamp(72px,12vh,128px) 0}
.hero6{padding-bottom:clamp(48px,8vh,80px)}
/* the seat map and the countdown share one quiet row */
.status-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(20px,4vw,56px);max-width:920px;margin:clamp(36px,5vh,52px) auto 0;padding:22px clamp(18px,3vw,32px);
  border:1px solid var(--line);border-radius:22px;background:#fff}
.status-row .applied{margin:0;max-width:420px}
.status-row .ac{width:22px;height:22px}
.status-row .applied-row{min-height:50px;justify-content:flex-start}
.status-row .applied-k{text-align:left;font-size:.84rem}
.status-clock{display:flex;flex-direction:column;align-items:center;padding-left:clamp(0px,4vw,56px);border-left:1px solid var(--line)}
.status-row .clock{margin-top:0;gap:clamp(8px,1.4vw,14px)}
.status-row .clock b{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.status-row .clock > i{font-size:clamp(1.5rem,2.2vw,2rem)}
.status-row .clock span{font-size:.6rem}
.status-row .clock-k{margin-top:8px;font-size:.8rem}
@media(max-width:760px){.status-clock{border-left:0;padding-left:0;padding-top:16px;border-top:1px solid var(--line);width:100%}.status-row .applied-row{justify-content:center}.status-row .applied-k{text-align:center}}
/* the January extras: a short list, not a paragraph */
.jan-also{margin-top:22px}
.jan-also-k{display:block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:10px}
.jan-also ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.jan-also li{padding:7px 12px;border-radius:100px;background:#fff;border:1px solid var(--line);font-size:.86rem;color:var(--ink)}
.jan-also li b{color:var(--teal-ink);font-weight:700;margin-right:4px;font-variant-numeric:tabular-nums}
.jan-src{max-width:72ch;line-height:1.5}
/* the sticky bar: one line, and clear of Ask Ava on phones */
.dock{gap:14px}
@media(max-width:700px){.dock{left:12px;right:auto;max-width:calc(100vw - 186px);transform:translateY(140%)}.dock.show{transform:none}.dock-meta{font-size:.74rem;line-height:1.2}}
@media(max-width:700px){.dock{padding:6px;max-width:none;background:transparent;box-shadow:none;border:0}.dock-meta{display:none}.dock .btn{margin:0;background:var(--ink);color:#fff;box-shadow:4px 4px 0 0 #9ADCD5;padding:12px 20px}}
