/* AQUEO landing — one stylesheet.
   1 Tokens · 2 Base · 3 Components · 4 Sections · 5 Dialogs · 6 Responsive */

/* 1 Tokens */
:root{
  --font:"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace;
  --ink:#090a0d; --ink-2:#0b0d12;
  --text:#f0f1f4; --text-2:#a8afc0; --text-3:#636975;
  --navy:#18283c; --navy-2:#22364f; --navy-3:#5b6b80;
  --line-dark:rgba(255,255,255,.09); --line-light:rgba(24,40,60,.12);
  --ok:#7fc4a1;
  --silver-bg:radial-gradient(120% 120% at 30% 0,#dce2ea,#c8d0dd);
  --blue-bg:#e1e5ed;
  --deep-bg:linear-gradient(145deg,#263c53,#15293d 70%);
  --navy-bg:linear-gradient(135deg,#172c3d,#0d1925);
  --radial-bg:radial-gradient(120% 120% at 0 0,#25384a,#101922 75%);
  --metal:linear-gradient(135deg,#f3f5f8 0%,#dfe4eb 38%,#bcc5d2 72%,#9ba7b8 100%);
  --metal-edge:#7d899b;
  --pad-x:clamp(20px,4vw,64px);
  --section-y:clamp(52px,min(6.5vw,9vh),104px);
  --max:1520px; --radius:18px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* 2 Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:56px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ink);color:var(--text);font:400 16px/1.5 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,p,ol,ul,dl,dd,figure{margin:0}
ol,ul{padding:0;list-style:none}
code,kbd,pre{font-family:var(--mono)}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:#000;padding:8px 12px;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid #9cc3e6;outline-offset:3px;border-radius:6px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad-x)}
section{position:relative;padding:var(--section-y) 0}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,96px);align-items:center}

.display{font-weight:450;font-size:clamp(34px,min(4.2vw,6.6vh),64px);line-height:1.04;letter-spacing:-.055em}
.display span{color:var(--text-2)}
.light .display span,.light-blue .display span{color:var(--navy-3)}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:18px}
.light .eyebrow,.light-blue .eyebrow,.silver .eyebrow{color:var(--navy-3)}
.lede{font-size:clamp(17px,1.5vw,20px);line-height:1.5;color:var(--navy-3);margin-top:18px;letter-spacing:-.01em}
.light-lede{color:var(--text-2)}
.fine{font-size:12px;color:var(--text-3)}
.fine a{color:inherit}

/* Big feature names (Beacon, Branches) */
.feature-word{font-weight:450;font-size:clamp(60px,min(8.4vw,14vh),132px);line-height:.9;letter-spacing:-.065em;color:var(--navy-2);margin-left:-.03em;padding-right:.06em}
.feature-line{margin-top:clamp(10px,1.2vw,18px);font-size:clamp(22px,min(2.5vw,4.4vh),36px);font-weight:450;letter-spacing:-.045em;line-height:1.1;color:#4a5d75}
.feature-text{margin-top:18px;max-width:30em;font-size:clamp(16px,1.35vw,18px);line-height:1.55;color:#5a6c82}
.feature-sub{margin-top:18px;font-size:15px;color:var(--navy-3);letter-spacing:.01em}
.dark .feature-word{color:#e6eef6}
.dark .feature-line{color:#a8b6c6}
.dark .feature-text{color:#8e9cad}
.dark .feature-sub{color:#7d8a9a}

.dark{background:var(--ink-2)}
.light{background:var(--silver-bg);color:var(--navy)}
.light-blue,.silver{background:var(--blue-bg);color:var(--navy)}
.deep{background:var(--deep-bg);color:#dce5ee}
.navy{background:var(--navy-bg);color:#e3ebf2}
.deep-radial{background:var(--radial-bg)}

[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
[data-reveal].in{opacity:1;transform:none}

/* 3 Components */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:46px;padding:0 22px;border-radius:8px;border:0;font-size:15px;text-decoration:none;transition:transform .2s,background .2s;white-space:nowrap}
.btn-light{background:#e6e9ef;color:#0b0d12;box-shadow:inset 0 1px 0 #fff}
.btn-light:hover{background:#fff;transform:translateY(-1px)}
.btn-small{height:38px;padding:0 16px;font-size:14px}
.link-cta{display:inline-flex;align-items:center;gap:26px;height:46px;font-size:15px;text-decoration:none;color:#e3e7ee;border-bottom:1px solid rgba(255,255,255,.5)}
.link-cta:hover{border-color:#fff}
.text-btn{background:none;border:0;color:inherit;opacity:.75;font-size:13px;padding:0}
.text-btn:hover{opacity:1}
.mono-avatar{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#2a3443,#141a23);color:#e8edf3;font-size:11px;font-weight:600;letter-spacing:.04em;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}

/* Avatar with a Mini Astro centred on its orb (orb centre 120,140 r60 in a 240×260 drawing) */
.avatar{position:relative;flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 40% 30%,#2a3d55,#0e1724);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);color:#e8edf3;font-size:11px;font-weight:600;letter-spacing:.04em}
.avatar img{position:absolute;max-width:none;width:130%;left:-15%;top:-25.8%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.22))}
.avatar:has(img){background:none;box-shadow:none;overflow:visible;border-radius:0}
.avatar.lg{width:62px;height:62px;font-size:17px}
.avatar.md{width:46px;height:46px}

/* Silver objects */
.silver-card{position:relative;background:var(--metal);color:#151c27;border-radius:var(--radius);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(0,0,0,.08),14px 16px 0 -3px var(--edge,var(--metal-edge)),0 40px 90px -20px rgba(0,0,0,.65);overflow:hidden}
.silver-card .sheen{position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 48%,rgba(190,215,240,.35) 52%,transparent 60%);transform:translateX(-60%);transition:transform 1.2s var(--ease);pointer-events:none}
.silver-card:hover .sheen{transform:translateX(40%)}
[data-tilt]{perspective:1600px;display:block}
[data-tilt]>*{transform:rotateX(calc(var(--rx,0deg) + 6deg)) rotateY(calc(var(--ry,0deg) - 12deg)) rotateZ(-4deg);transition:transform .5s var(--ease);transform-style:preserve-3d}

.wave{display:flex;align-items:center;gap:3px;height:96px;margin:22px 0 10px}
.wave i{flex:1;min-width:2px;height:var(--h);border-radius:2px;background:linear-gradient(90deg,#4b5464,#c9d0da 45%,#5d6676);box-shadow:1px 1px 0 rgba(255,255,255,.6);animation:quiet-wave 4.8s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-110ms);transform-origin:center}
@keyframes quiet-wave{from{transform:scaleY(.86)}to{transform:scaleY(1.045)}}
.wave-dark i{background:#5c6878;box-shadow:none;opacity:.85;animation-name:proof-wave;animation-duration:2.6s}
@keyframes proof-wave{from{transform:scaleY(.72)}to{transform:scaleY(1.06)}}

/* Pass (SAC card) */
.pass-holder{width:100%;padding:16px 30px 40px 10px}
.pass{aspect-ratio:1.586;width:100%;max-width:min(420px,52vh);padding:22px 24px;display:flex;flex-direction:column;justify-content:space-between}
.pass-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;letter-spacing:.24em;color:#2a3442}
.pass-mark{height:11px;width:auto;filter:brightness(0);opacity:.75}
.pass-id{display:flex;align-items:center;gap:16px}
.pass-name{display:block;font-size:clamp(22px,2.2vw,30px);font-weight:500;letter-spacing:-.04em;line-height:1.1}
.pass-id small{display:block;margin-top:4px;font-size:13px;color:#4a5566}
.pass-code{font-family:var(--mono);font-size:clamp(24px,2.6vw,34px);letter-spacing:.14em;color:#1b2533;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.pass-foot{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#5a6576}

.seg{display:inline-flex;gap:6px}
.seg button{border:1px solid rgba(255,255,255,.16);background:none;color:#aeb7c6;border-radius:99px;padding:8px 16px;font-size:14px}
.seg button[aria-selected=true]{background:#2a3a52;color:#fff;border-color:#3d5170}
.light-seg button{border-color:#c3ccd8;color:#4d5f75;background:rgba(255,255,255,.4)}
.light-seg button[aria-selected=true]{background:#22364f;color:#fff;border-color:#22364f}

/* 4 Sections */

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:50;height:56px;display:flex;align-items:center;gap:32px;padding:0 var(--pad-x);background:rgba(9,10,13,.93);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid transparent;transition:border-color .3s}
.site-header.scrolled{border-color:var(--line-dark)}
.brand{position:relative;display:block;height:30px;width:118px}
.brand img{position:absolute;left:0;top:50%;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.brand-word{height:17px;width:auto;transform:translateY(-50%)}
.brand-mark{height:30px;width:auto;opacity:0;transform:translateY(-50%) scale(.8)}
.scrolled .brand-word{opacity:0;transform:translateY(-50%) scale(.9)}
.scrolled .brand-mark{opacity:1;transform:translateY(-50%)}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{font-size:14px;color:#c9ced8;text-decoration:none;transition:color .2s}
.nav a:hover,.nav a[aria-current]{color:#fff}
.header-actions{display:flex;align-items:center;gap:14px}
.header-astro{position:relative;display:block;width:34px;height:34px;transition:transform .3s var(--ease)}
.header-astro:hover{transform:scale(1.15) rotate(-6deg)}
.header-astro img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:translateY(6px) scale(.8);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.header-astro img.on{opacity:1;transform:none}
@keyframes pop{from{transform:scale(.4);opacity:0}}
.header-actions{margin-left:auto}
.menu-toggle{display:block;width:40px;height:40px;background:none;border:0;position:relative}
.menu-toggle span:not(.sr){position:absolute;left:10px;right:10px;height:1.5px;background:#e6e9ef;transition:transform .3s}
.menu-toggle span:nth-child(1){top:16px}.menu-toggle span:nth-child(2){top:23px}
.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.menu-toggle[aria-expanded=true] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}

/* Hero */
.hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:40px;min-height:min(78vh,720px);padding:92px var(--pad-x) 0;max-width:calc(var(--max) + 2*var(--pad-x));margin:0 auto;background:radial-gradient(60% 60% at 85% 40%,rgba(23,31,53,.5),transparent 70%)}
.hero h1{font-size:clamp(38px,4.6vw,70px);font-weight:450;letter-spacing:-.055em;line-height:1.06;color:#f2f3ef}
.hero h1 b,.hero h1 span{display:block;font-weight:inherit;white-space:nowrap}
.hero h1 span{color:#a8afc0}
.hero-sub{margin-top:26px;color:#a8afbe;font-size:16px}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:28px;margin-top:36px}
.hero-for{margin-top:10px;font-size:13px;color:#7c8394}
.hero-stage{padding:30px 20px 40px;text-decoration:none;color:inherit}
.deck{display:grid;max-width:640px;margin-left:auto;transform-style:preserve-3d}
.hero-card{grid-area:1/1;padding:30px 34px 26px}
.hero-card.is-leaving{animation:card-depart 1.15s cubic-bezier(.4,0,.2,1) both;pointer-events:none;z-index:2}
.hero-card.is-entering{animation:card-arrive 1.15s cubic-bezier(.22,.7,.25,1) both;z-index:3}
@keyframes card-depart{0%{transform:translate3d(0,0,0) rotate(0deg) scale(1);opacity:1}100%{transform:translate3d(-10%,8%,-160px) rotate(-7deg) scale(.86);opacity:0}}
@keyframes card-arrive{0%{transform:translate3d(78%,0,70px) rotate(12deg);opacity:0}25%{opacity:1}100%{transform:translate3d(0,0,0) rotate(0deg);opacity:1}}
.hero-card[data-tone=orange]{background:linear-gradient(135deg,#f8d3ae,#eba36c 48%,#c46a37);--edge:#9c5328}
.hero-card[data-tone=purple]{background:linear-gradient(135deg,#e3d6f8,#bba3ea 48%,#8668c2);--edge:#674c9c}
.hero-card[data-tone=green]{background:linear-gradient(135deg,#cdeedf,#8ccdb1 48%,#4b977b);--edge:#33735b}
.card-top{display:flex;justify-content:space-between;align-items:center}
.eyebrow-dark{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#2a3442}
.daw{font-size:12px;color:#3c4757}
.hero-card h2{margin-top:22px;font-size:clamp(30px,3vw,40px);font-weight:500;letter-spacing:-.045em;line-height:1}
.card-artist{margin-top:8px;color:#323d4c}
.card-meta{display:flex;justify-content:space-between;font-size:11px;color:#46515f;padding-bottom:16px;border-bottom:1px solid rgba(20,30,45,.18)}
.credits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.credits li{display:flex;gap:10px;align-items:flex-start;min-width:0}
.credits li>span:last-child{min-width:0}
.credits b{display:block;font-size:13px;font-weight:600}
.credits small{display:block;font-size:11px;color:#434e5e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.credits code{display:inline-block;margin-top:5px;font-size:10px;letter-spacing:.08em;color:#2b3a4e;background:rgba(255,255,255,.55);padding:2px 6px;border-radius:4px}

/* Beacon */
.session-sheet{background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.95);border-radius:22px;box-shadow:0 30px 80px -30px rgba(24,40,60,.45);backdrop-filter:blur(10px);overflow:hidden}
.session-sheet header,.session-sheet footer{display:flex;align-items:center;justify-content:space-between;padding:18px 22px}
.session-sheet header{border-bottom:1px solid var(--line-light)}
.session-sheet header b{display:block;font-weight:600;letter-spacing:-.01em}
.session-sheet header small,.session-sheet footer{font-size:12px;color:var(--navy-3)}
.session-sheet footer{border-top:1px solid var(--line-light)}
.live{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:#2f6e52;background:#e3f2ea;padding:5px 10px;border-radius:99px}
.live i{width:7px;height:7px;border-radius:50%;background:#3ea374;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
.credit-pill{font-size:12px;color:#2f6e52;background:#e3f2ea;padding:4px 10px;border-radius:99px;opacity:0;transform:scale(.9);transition:opacity .4s,transform .4s var(--ease)}
.credit-pill.on{opacity:1;transform:none}
.sheet-body{display:grid;grid-template-columns:auto 1fr;gap:22px;padding:22px}
.qr{align-self:start;text-align:center}
.qr-btn{display:block;padding:0;border:0;background:none;border-radius:12px;transition:transform .2s}
.qr-btn:hover{transform:scale(1.04)}
.qr img{width:156px;height:156px;border-radius:12px;image-rendering:pixelated;image-rendering:crisp-edges;box-shadow:0 0 0 1px var(--line-light)}
.qr figcaption{margin-top:10px;font-size:12px;color:var(--navy-3)}
.roster{display:grid;gap:8px;align-content:start}
.roster li{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:9px 12px;border-radius:12px;background:#f6f8fb;opacity:0;transform:translateX(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.roster li.in{opacity:1;transform:none}
.roster.out li{opacity:0;transform:translateX(-10px)}
.roster .who b{display:block;font-size:14px;font-weight:500}
.roster .who small{font-size:12px;color:var(--navy-3)}
.roster code{font-size:11px;letter-spacing:.08em;color:#46566b}
.tick{width:20px;height:20px;border-radius:50%;background:#3ea374;position:relative;transform:scale(0);transition:transform .35s .25s var(--ease)}
.tick::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.roster li.in .tick{transform:scale(1)}

/* SAC */
.sac-head{display:flex;align-items:flex-end;gap:clamp(24px,4vw,56px);flex-wrap:wrap}
.sac-word{font-size:clamp(88px,min(11vw,16vh),170px);font-weight:450;letter-spacing:-.07em;line-height:.9;padding:0 .1em .04em 0;background:linear-gradient(180deg,#fff 10%,#9aa6b8 95%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-left:-.04em}
.sac-sub{font-size:clamp(20px,2vw,26px);letter-spacing:-.03em;line-height:1.25;padding-bottom:16px}
.sac-sub span{color:var(--text-2)}
.sac-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,5vw,80px);align-items:center;margin-top:clamp(20px,3vw,44px)}
.sac-map .seg{margin-bottom:16px}
.map-stage{position:relative;aspect-ratio:1.42;width:100%;max-height:50vh}
.map-stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.globe ellipse,.globe circle.g{fill:none;stroke:rgba(150,180,210,.22);stroke-width:1}
.globe .spin{transform-origin:50% 50%;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.link{fill:none;stroke:rgba(190,215,235,.55);stroke-width:1.3}
.pulse{fill:#d8ecff;filter:drop-shadow(0 0 4px #9fd0ff)}
.core{position:absolute;left:50%;top:50%;width:40%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#2b4258,#121c28 70%);border:1px solid rgba(160,190,220,.35);box-shadow:0 0 80px rgba(80,140,200,.25);display:grid;place-items:center;text-align:center;padding:10px}
.core .avatar{width:50px;height:50px;margin:0 auto 8px}
.core b{display:block;font-size:clamp(15px,1.5vw,20px);font-weight:500;letter-spacing:-.02em}
.core code{display:inline-block;margin-top:6px;font-size:12px;letter-spacing:.12em;padding:3px 8px;border:1px solid rgba(255,255,255,.18);border-radius:6px;color:#dfe8f2}
.sat{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:99px;background:rgba(22,32,48,.92);border:1px solid rgba(150,180,215,.3);font-size:13px;color:#dce6f1;white-space:nowrap;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.sat i{font-style:normal;color:var(--c,#9cc3e6)}
.pcol{position:absolute;display:grid;align-content:space-around}
.pbox{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:rgba(22,32,48,.92);border:1px solid rgba(150,180,215,.25);font-size:13px;transition:border-color .3s,background .3s;cursor:pointer}
.pbox small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:#8fa3b8;margin-top:2px}
.pbox.on{border-color:#9cc3e6;background:#22344c}
.pbox .disc{width:16px;height:16px;flex:none}
.sac-side{display:grid;justify-items:start;gap:18px}
.pass-nav{display:flex;align-items:center;gap:14px;margin-left:10px}
.pass-nav button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:none;color:#dfe6ef;font-size:18px}
.pass-nav button:hover{background:rgba(255,255,255,.08)}
.dots{display:flex;gap:8px}
.dots button{width:8px;height:8px;padding:0;border-radius:50%;border:0;background:#3a4556}
.dots button[aria-current]{background:#dfe6ef;transform:scale(1.25)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-left:10px}
.tags li{font-size:13px;padding:7px 12px;border-radius:99px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:#c4ccd8}

/* Sonic Proof */
.proof .display{color:#dce5ee}
.file-panel{margin-top:28px;background:linear-gradient(160deg,rgba(32,40,52,.95),rgba(15,20,28,.96));border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.file-panel>header{display:flex;justify-content:space-between;gap:16px;padding:18px 28px;font-size:13px;color:#b6c3d0;border-bottom:1px solid rgba(255,255,255,.08)}
.file-panel>header span:last-child{font-size:11px;letter-spacing:.04em}
.file-stage{position:relative;padding:26px 60px;display:grid;place-items:center;overflow:hidden}
.file-stage .wave{width:100%;margin:0;height:84px}
.scan-line{position:absolute;top:0;bottom:0;left:0;width:2px;background:#b7cfff;box-shadow:0 0 18px 4px rgba(150,190,255,.5);opacity:0}
.file-panel.open .scan-line,.sp-card.open .scan-line{animation:scan 1s ease-in-out both}
@keyframes scan{0%{left:0;opacity:0}20%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
.file-panel.open .wave-dark i,.sp-card.open .wave-dark i{background:#a9bccf;opacity:1}
.reveal-btn{position:absolute;display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 24px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(76,92,112,.92);color:#f2f6fa;font-size:15px;box-shadow:0 0 0 8px rgba(255,255,255,.05),0 0 0 9px rgba(255,255,255,.1),0 14px 40px rgba(0,0,0,.4);transition:background .2s,transform .2s}
.reveal-btn:hover{background:rgba(96,114,138,.95);transform:scale(1.03)}
.reveal-btn .ring{width:18px;height:18px;border-radius:50%;border:1.5px solid currentColor;box-shadow:inset 0 0 0 3px rgba(76,92,112,.92),inset 0 0 0 7px currentColor;opacity:.9}
.halo{position:absolute;inset:-1px;border-radius:12px;border:1px solid rgba(200,220,255,.55);animation:halo 2.4s ease-out infinite;pointer-events:none}
.halo.h2{animation-delay:1.2s}
@keyframes halo{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35,1.7);opacity:0}}
.file-panel.open .halo,.sp-card.open .halo{display:none}
.embedded{border-top:1px solid rgba(255,255,255,.08);padding:18px 28px 0;animation:settle .8s var(--ease)}
@keyframes settle{from{opacity:0;transform:translateY(-16px)}}
.emb-head,.emb-foot{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#a9b8c7}
.emb-head{padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}
.emb-body{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:30px;padding:16px 0;align-items:center}
.emb-title{display:flex;gap:22px;align-items:center}
.disc{display:inline-block;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle,#0e1621 0 18%,var(--dc,#c9d2dc) 20% 60%,color-mix(in srgb,var(--dc,#c9d2dc) 70%,#000) 62% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.emb-title .disc{width:84px;height:84px;flex:none;animation:spin 8s linear infinite}
.emb-title b{display:block;font-size:30px;font-weight:500;letter-spacing:-.035em}
.emb-title small{display:block;color:#a9b8c7;margin-top:4px}
.fmt-row{display:flex;gap:8px;margin-top:14px}
.fmt-row button{padding:6px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:none;color:#dfe8f1;font-size:12px}
.fmt-row button:hover,.big-fmts button:hover{background:rgba(255,255,255,.1)}
.emb-credits li{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.emb-credits b{font-weight:500}
.emb-credits code{display:block;font-size:11px;color:#9fb0c2;letter-spacing:.06em;margin-top:2px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.chips span{font-size:11px;padding:3px 9px;border-radius:99px;border:1px solid rgba(255,255,255,.18);color:#cdd8e4}
.emb-foot{padding:14px 0 18px}
.stamp{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:99px;border:1px solid rgba(200,220,240,.35);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03));color:#eef3f8;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.stamp img{width:14px}
.proof-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:22px}
.proof-tabs button{background:none;border:0;border-bottom:2px solid rgba(255,255,255,.18);color:#c8d4e0;font-size:18px;padding:16px 0;letter-spacing:-.01em;transition:background .2s}
.proof-tabs button[aria-selected=true]{background:rgba(255,255,255,.06);color:#fff;border-color:#dce5ee}
.ptab{padding-top:22px;animation:rise .4s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(8px)}}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.trio li{border-top:1px solid rgba(255,255,255,.14);padding-top:18px}
.trio small{display:block;font-size:15px;color:#c8d4e0}
.trio b{display:block;font-size:clamp(28px,min(3vw,5.4vh),44px);font-weight:500;letter-spacing:-.04em;margin:10px 0 8px;color:#f2f6fa}
.trio span{font-size:15px;color:#9fb0c2;line-height:1.5}
.big-fmts{display:flex;flex-wrap:wrap;gap:14px}
.big-fmts button{min-width:200px;height:66px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#eef3f8;font-size:24px;letter-spacing:-.02em}
.ptab-row{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:baseline;margin-top:24px}
.ptab-line{font-size:clamp(22px,2.2vw,28px);letter-spacing:-.035em}
.ptab-note{color:#b6c3d0}
.standards{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.standards li{font-size:12px;letter-spacing:.06em;padding:7px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.16);color:#c5d1dd;background:rgba(255,255,255,.03)}
.fineprint{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:14px;color:#b6c3d0}
.fineprint summary{cursor:pointer}
.fineprint p{margin-top:10px;color:#93a6b9;font-size:14px;line-height:1.55}

/* Mini Astros */
.astro-word{font-weight:500;font-size:clamp(60px,min(8.6vw,14vh),132px);letter-spacing:-.065em;line-height:.95;color:#e6eef6;margin-left:-.03em;padding-right:.06em}
.founding{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;padding:6px 14px 6px 10px;border-radius:99px;border:1px solid rgba(226,184,74,.45);background:rgba(226,184,74,.08);color:#ecd08a;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.founding i{width:7px;height:7px;border-radius:50%;background:#e2b84a;box-shadow:0 0 10px #e2b84a;animation:pulse 2s infinite}
.mini-lede{margin-top:12px;font-size:clamp(20px,min(2vw,3.6vh),28px);letter-spacing:-.03em;line-height:1.3;color:#e6eef6}
.mini-lede span{color:#8ea3b8}
.maker{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:center}
.maker-left{display:grid;gap:clamp(16px,2.6vh,28px)}
.maker .stage{justify-items:start;grid-template-columns:auto 1fr;column-gap:24px;align-items:center}
.maker .stage .spot{width:min(240px,28vh)}
.maker .stage .stage-name{text-align:left;margin:0}
.maker .stage .cast{grid-column:1/-1;margin-top:8px}
.stage{display:grid;justify-items:center}
.spot{position:relative;width:min(100%,300px,36vh);aspect-ratio:1;display:grid;place-items:center}
.spot::before{content:"";position:absolute;inset:4% 4% 0;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(160,190,220,.22),transparent 65%)}
.spot::after{content:"";position:absolute;bottom:2%;width:46%;height:7%;border-radius:50%;background:radial-gradient(rgba(0,0,0,.45),transparent 70%)}
.stage-astro{position:relative;z-index:1;width:82%;transition:opacity .25s,transform .35s var(--ease)}
.stage-astro.swap{opacity:0;transform:scale(.92)}
.stage-astro svg{width:100%;height:auto}
.stage-name{margin-top:10px;text-align:center}
.stage-name b{display:block;font-size:24px;font-weight:500;letter-spacing:-.035em}
.stage-name span{font-size:13px;color:#8ea3b8}
.cast{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin-top:18px;width:100%}
.cast button,.dlg-cast button{aspect-ratio:1;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);padding:4px;transition:background .2s,border-color .2s,transform .2s}
.cast button:hover,.dlg-cast button:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.cast button[aria-selected=true],.dlg-cast button[aria-selected=true]{border-color:#b9cde2;background:rgba(185,205,226,.14)}
.cast img,.dlg-cast img{width:100%;height:100%;object-fit:contain}
.builder{display:grid;gap:22px}
.builder-fields{display:grid;gap:16px}
label{display:grid;gap:8px;font-size:13px;color:#a9b8c7}
.opt{color:#6f8396;font-size:12px}
input,select,textarea{width:100%;padding:13px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(8,14,22,.5);color:#eef3f8;font-size:15px;outline:none;transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:#9cc3e6;background:rgba(8,14,22,.75)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#9fb0c2 50%),linear-gradient(135deg,#9fb0c2 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
select option{color:#0b0d12}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.roles-label{display:flex;justify-content:space-between;font-size:13px;color:#a9b8c7}
.roles-label em{font-style:normal;color:#7f93a8}
.roles-field{display:grid;gap:10px}
.role-picked{display:flex;flex-wrap:wrap;gap:6px;min-height:32px;align-items:center}
.role-picked>span{font-size:13px;color:#7f93a8}
.role-picked button{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:6px 10px 6px 12px;border-radius:99px;border:0;background:#cfdbe8;color:#122033}
.role-picked i{font-style:normal;opacity:.6}
.role-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;border-radius:10px;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.08);overflow-x:auto;scrollbar-width:none}
.role-groups button{flex:1;display:inline-flex;justify-content:center;align-items:center;gap:6px;white-space:nowrap;padding:7px 10px;border-radius:7px;border:0;background:none;color:#9fb0c2;font-size:12.5px}
.role-groups button[aria-selected=true]{background:rgba(255,255,255,.1);color:#fff}
.role-groups i{font-style:normal;display:grid;place-items:center;min-width:16px;height:16px;border-radius:8px;background:#cfdbe8;color:#122033;font-size:10px;font-weight:600}
.role-chips{display:flex;flex-wrap:wrap;gap:6px}
.role-chips button{font-size:13px;padding:7px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.03);color:#cfdbe7;transition:background .2s,border-color .2s,opacity .2s}
.role-chips button:hover{background:rgba(255,255,255,.08)}
.role-chips button[aria-pressed=true]{background:#cfdbe8;color:#122033;border-color:#cfdbe8}
.role-chips button:disabled{opacity:.35;cursor:default}
.builder-fields .btn{justify-self:start;margin-top:4px}

/* Studio Companion */
.comp-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,70px);align-items:center}
.comp-head{display:grid;gap:22px;justify-items:start}
.comp-eyebrow{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#5b6b80;margin-bottom:-10px}
.companion-title{font-weight:500;font-size:clamp(80px,min(9vw,15vh),132px);letter-spacing:-.065em;line-height:.95;color:var(--navy-2)}
.kicker{font-size:clamp(20px,2vw,26px);letter-spacing:-.03em;line-height:1.3;color:#3c5068}
.kicker span{color:#8494a8}
.keys{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--navy-3)}
.keys kbd{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:7px;background:#f6f8fb;border:1px solid #c4cdd9;box-shadow:0 1px 0 #b5c0ce;font-family:var(--font);font-size:13px;color:var(--navy)}
.keys span{margin-left:10px}
.desk{position:relative;height:min(620px,max(520px,72vh));display:flex;justify-content:center;align-items:center}
.ghost{position:absolute;inset:6% -10% 6% 0;display:grid;align-content:space-around;pointer-events:none;transform:perspective(900px) rotateY(-14deg)}
.ghost i{height:44px;border-radius:4px;background:linear-gradient(90deg,rgba(200,210,225,.0),rgba(200,210,225,.55) 30%,rgba(200,210,225,.35));box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.daw-win{display:none}
.companion[data-mode=session] .comp-layout{grid-template-columns:1fr}
.companion[data-mode=session] .comp-head{display:flex;flex-wrap:wrap;align-items:center;gap:18px 44px}
.companion[data-mode=session] .companion-title{width:100%}
.companion[data-mode=session] .desk{height:min(660px,max(560px,80vh));display:block}
.companion[data-mode=session] .ghost{display:none}
.companion[data-mode=session] .daw-win{display:block;position:absolute;left:0;top:30px;right:200px;bottom:0;border-radius:12px;background:#1a1d23;border:1px solid #2b3039;box-shadow:0 50px 100px -40px rgba(24,40,60,.6);overflow:hidden;animation:rise .5s var(--ease)}
.companion[data-mode=session] .comp{position:absolute;right:0;top:0;bottom:0}
.daw-bar{display:flex;align-items:center;gap:7px;height:34px;padding:0 14px;background:#22262d;border-bottom:1px solid #2e333c;font-size:12px;color:#8a919c}
.daw-bar i{width:11px;height:11px;border-radius:50%;background:#3b414b}
.daw-bar span{margin-left:12px}
.daw-ruler{height:22px;margin-left:150px;border-bottom:1px solid #2e333c;background:repeating-linear-gradient(90deg,#3a404a 0 1px,transparent 1px 60px)}
.daw-tracks{display:grid}
.track{display:grid;grid-template-columns:150px 1fr;height:52px;border-bottom:1px solid #262a31}
.track b{font-size:11px;font-weight:500;color:#9aa2ad;padding:10px 12px;border-right:1px solid #2b3039;background:#1e2127}
.track div{position:relative}
.clip{position:absolute;top:7px;bottom:7px;border-radius:4px;background:var(--cc);opacity:.75;overflow:hidden}
.clip::after{content:"";position:absolute;inset:10px 6px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.35) 0 2px,transparent 2px 5px);mask:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
.playhead{position:absolute;top:56px;bottom:0;left:38%;width:1px;background:#e8eef5;opacity:.6;animation:play 14s linear infinite}
@keyframes play{from{left:16%}to{left:92%}}

/* companion themes (from the Mac app’s appearance settings) */
.comp{--c1:#1f3453;--c2:#14243a;--c3:#0a111a;--acc:#9cc7ea;--acc-ink:#0d1a28;--line:rgba(150,190,230,.14);--mute:#8aa1b9;--rail:#0a121c;position:relative;display:flex;align-items:stretch;height:min(620px,max(520px,72vh));filter:drop-shadow(0 40px 60px rgba(10,20,35,.45))}
.comp[data-theme=forest]{--c1:#1d3a2c;--c2:#14261d;--c3:#0b140f;--acc:#9dc7ac;--acc-ink:#102018;--line:rgba(157,199,172,.16);--mute:#829c8b;--rail:#0c1711}
.comp[data-theme=carbon]{--c1:#262b28;--c2:#171a18;--c3:#0e100f;--acc:#c5cec8;--acc-ink:#121513;--line:rgba(185,199,190,.14);--mute:#8f9a93;--rail:#0e100f}
.comp[data-theme=gold]{--c1:#3a2f19;--c2:#251f13;--c3:#140f08;--acc:#e0bf6d;--acc-ink:#251f13;--line:rgba(197,170,101,.18);--mute:#a99a74;--rail:#16110a}
.comp[data-theme=cyan]{--c1:#163a44;--c2:#102329;--c3:#081316;--acc:#67c6d5;--acc-ink:#0b1d22;--line:rgba(61,192,211,.18);--mute:#7fa6ad;--rail:#081417}
.comp[data-theme=rose]{--c1:#3d2530;--c2:#28191f;--c3:#150c10;--acc:#d995ad;--acc-ink:#28191f;--line:rgba(211,105,142,.18);--mute:#a98b96;--rail:#170d12}
.comp-panel{width:380px;border-radius:10px;background:linear-gradient(180deg,var(--c1) 0%,var(--c2) 34%,var(--c3) 100%);border:1px solid var(--line);color:#e2eaf3;display:flex;flex-direction:column;overflow:hidden;margin-right:6px;transition:background .5s}
.comp-top{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px 0 14px;border-bottom:1px solid var(--line);font-size:13px;color:var(--acc)}
.comp-top img{width:16px;height:auto;opacity:.9}
.comp-top span{flex:1}
.comp-top i{width:12px;height:12px;border:1.3px solid var(--mute);border-radius:2px;margin-left:10px}
.comp-top .ico-up{border:0;border-top:1.3px solid var(--mute);border-left:1.3px solid var(--mute);width:7px;height:7px;transform:rotate(45deg);margin-top:4px;border-radius:0}
.comp-body{flex:1;overflow:hidden;display:flex;flex-direction:column;font-size:13px;min-height:0}
.comp-body>*{animation:rise .3s var(--ease)}
.rail{width:46px;border-radius:10px;background:var(--rail);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 0}
.rail button{position:relative;width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:none;color:var(--acc);display:grid;place-items:center;opacity:.85}
.rail button:hover{background:rgba(255,255,255,.06);opacity:1}
.rail button[aria-pressed=true]{background:rgba(255,255,255,.08);border-color:var(--line);opacity:1}
.rail svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.rail .live-dot{position:absolute;bottom:1px;left:50%;width:3px;height:3px;margin-left:-1.5px;border-radius:50%;background:#7fd0a8}
.rail .unread{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--acc)}
.rail-space{flex:1}
.rail-me{width:30px;height:30px;border-radius:8px;margin-bottom:4px;box-shadow:inset 0 0 0 1px var(--acc)}

.c-pad{padding:14px}
.c-search{display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid var(--line);border-radius:7px;color:var(--mute);font-size:13px}
.c-tabs{display:flex;align-items:center;gap:18px;margin-top:16px;border-bottom:1px solid var(--line);font-size:13px;color:var(--mute)}
.c-tabs span{padding-bottom:10px}
.c-tabs .on{color:#e6eef7;border-bottom:2px solid var(--acc)}
.c-list{overflow:auto;scrollbar-width:none}
.c-row{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line);transition:background .2s;width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left;color:inherit;border-radius:0}
.c-row:hover{background:rgba(255,255,255,.04)}
.tile{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:600;letter-spacing:.04em;color:rgba(10,15,22,.75);background:linear-gradient(140deg,var(--t1,#c9d2dc),var(--t2,#7f8b9b));box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.tile.plain{background:rgba(255,255,255,.05);color:#aab6c3;box-shadow:inset 0 0 0 1px var(--line)}
.c-row b{display:block;font-weight:500;font-size:14px;color:#eef3f8}
.c-row small{display:block;color:var(--mute);font-size:12px;margin-top:2px}
.badge{display:inline-block;margin-top:6px;font:500 9px/1 var(--mono);letter-spacing:.12em;padding:4px 6px;border-radius:4px;border:1px solid #6f5f2f;color:#d4b25c}
.badge.contributor{border-color:#4b5f78;color:#9fb7d1}
.badge.admin{border-color:#55606c;color:#aab4bf}
.c-row .go{color:var(--mute)}
.home{position:relative;padding:26px 18px 18px;display:flex;flex-direction:column;flex:1}
.home .orbit-mark{position:absolute;right:22px;top:18px;width:64px;color:var(--acc);opacity:.6}
.home .orbit-mark svg{fill:none;stroke:currentColor;stroke-width:1.2}
.home h3{font-size:26px;font-weight:500;letter-spacing:-.045em;line-height:1.08;margin-top:40px}
.home p{margin-top:8px;color:var(--mute)}
.home-btn{display:grid;grid-template-columns:22px 1fr auto;gap:12px;align-items:center;margin-top:12px;padding:16px 14px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.03);text-align:left;color:inherit}
.home-btn:first-of-type{margin-top:26px}
.home-btn:hover{background:rgba(255,255,255,.07)}
.home-btn b{display:block;font-weight:500}
.home-btn small{color:var(--mute)}
.home-btn svg{width:18px;fill:none;stroke:var(--acc);stroke-width:1.5}
.ready{margin-top:18px;font-size:12px;color:var(--mute);display:flex;align-items:center;gap:8px}
.ready::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--acc)}
.room-head{padding:16px 16px 4px;display:flex;justify-content:space-between;align-items:center}
.room-head small{display:block;color:var(--mute);font-size:11px}
.room-head b{font-size:18px;font-weight:500;letter-spacing:-.03em}
.beacon-card{margin:12px 16px 0;padding:14px;border-radius:12px;border:1px solid rgba(127,208,168,.3);background:linear-gradient(145deg,rgba(127,208,168,.1),rgba(127,208,168,.02))}
.beacon-card header{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.beacon-state{display:inline-flex;align-items:center;gap:6px;color:#a8e0c4}
.beacon-state i{width:5px;height:5px;border-radius:50%;background:#7fd0a8;box-shadow:0 0 8px #7fd0a8}
.beacon-card header button{font-size:11px;padding:4px 8px;border-radius:6px;border:1px solid var(--line);background:none;color:var(--acc)}
.beacon-qr{display:grid;place-items:center;margin-top:12px;transition:all .35s var(--ease)}
.beacon-qr img{width:200px;height:200px;border-radius:12px;image-rendering:pixelated;transition:width .35s var(--ease),height .35s var(--ease)}
.beacon-qr small{margin-top:8px;color:var(--mute)}
.beacon-card.small .beacon-qr{grid-template-columns:auto 1fr;justify-items:start;gap:12px;align-items:center}
.beacon-card.small .beacon-qr img{width:54px;height:54px;border-radius:6px}
.beacon-card.small .beacon-qr small{margin:0}
.room-label{display:flex;justify-content:space-between;padding:14px 16px 8px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.room-people{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 16px}
.room-people div{display:flex;gap:8px;align-items:center;padding:6px;border-radius:8px;background:rgba(255,255,255,.04);animation:rise .4s var(--ease)}
.room-people b{display:block;font-size:12px;font-weight:500}
.room-people small{display:block;font-size:10px;color:var(--mute)}
.door{display:flex;align-items:center;gap:10px;margin:12px 16px 0;padding:10px;border:1px dashed var(--line);border-radius:8px}
.door span{flex:1;font-size:12px;color:#c5d6e7}
.door button,.send{padding:6px 10px;border-radius:6px;border:0;background:var(--acc);color:var(--acc-ink);font-size:11px;font-weight:600}
.c-foot{margin-top:auto;display:flex;justify-content:space-between;padding:14px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--acc)}
.cal-head{display:flex;align-items:center;gap:14px;padding:14px 16px 6px;color:#cfe0f0}
.cal-head b{font-weight:500;flex:1}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:6px 14px 14px;text-align:center;font-size:13px;border-bottom:1px solid var(--line)}
.cal-grid .dow{font-size:10px;color:var(--mute);padding-bottom:4px}
.cal-grid span{position:relative;height:36px;display:grid;place-items:center;border-radius:8px;color:#d9e5f1}
.cal-grid .mute{color:#53657a}
.cal-grid .dot::after{content:"";position:absolute;bottom:5px;width:3px;height:3px;border-radius:50%;background:var(--mute)}
.cal-grid .today{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px var(--line);color:#fff}
.cal-sec{padding:14px 16px 0;font-size:13px;color:#cfe0f0;display:flex;justify-content:space-between}
.cal-sec small{color:var(--mute)}
.ev{display:flex;align-items:center;gap:12px;margin:10px 16px 0;padding:12px;border-radius:8px;border:1px solid var(--line);background:rgba(0,0,0,.18)}
.ev i{width:3px;height:30px;border-radius:2px;background:var(--ec)}
.ev b{display:block;font-weight:500;color:#eef3f8}
.ev small{color:var(--mute);font-size:11px}
.ev .when{text-align:center;width:34px;font-size:15px;line-height:1.1;color:#dfe9f3}
.ev .when small{display:block;font-size:9px;letter-spacing:.1em}
.ev.flat{border:0;background:none;padding:6px 12px}
.msg-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;color:inherit;width:100%}
.msg-row:hover{background:rgba(255,255,255,.04)}
.msg-row b{display:block;font-weight:500;font-size:13px}
.msg-row small{display:block;color:var(--mute);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-row .meta{text-align:right;font-size:10px;color:var(--mute)}
.msg-row .meta em{display:inline-grid;place-items:center;min-width:16px;height:16px;margin-top:4px;border-radius:8px;background:var(--acc);color:var(--acc-ink);font-style:normal;font-size:9px;font-weight:600}
.thread-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.thread-head button{background:none;border:0;color:var(--acc);font-size:18px;padding:0 6px 0 0}
.thread-head b{display:block;font-weight:500}
.thread-head small{color:var(--mute);font-size:11px}
.thread{flex:1;display:flex;flex-direction:column;gap:8px;padding:14px;overflow:auto;justify-content:flex-end}
.bub{max-width:82%;padding:8px 11px;border-radius:12px 12px 12px 4px;background:rgba(255,255,255,.08);font-size:13px;line-height:1.45;animation:rise .3s var(--ease)}
.bub.me{align-self:flex-end;border-radius:12px 12px 4px 12px;background:var(--acc);color:var(--acc-ink)}
.bub time{display:block;font-size:9px;opacity:.55;margin-top:3px;text-align:right}
.compose{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line)}
.compose input{padding:9px 11px;font-size:13px;background:rgba(0,0,0,.2);border-color:var(--line)}
.compose .send{width:36px;padding:0;font-size:14px}
.astro-pane{flex:1;display:flex;flex-direction:column;padding:0 16px 14px;min-height:0}
.astro-ctx{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}
.astro-ctx .tile{width:30px;height:30px;font-size:10px}
.astro-ctx small{display:block;color:var(--mute)}
.astro-welcome{margin:auto 0;text-align:center}
.comp-astro{width:120px;margin:0 auto 6px}
.comp-astro svg{width:100%;height:auto}
.astro-welcome h3{font-size:26px;font-weight:500;letter-spacing:-.045em}
.astro-welcome p{margin-top:4px;color:var(--mute)}
.change-look{margin-top:8px;font-size:12px;color:var(--acc);background:none;border:0;text-decoration:underline;text-underline-offset:3px}
.astro-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px}
.astro-chips button{padding:7px 10px;border-radius:6px;border:1px solid var(--line);background:rgba(0,0,0,.2);color:#cfe0f0;font-size:12px}
.astro-chips button:hover{background:rgba(255,255,255,.08)}
.astro-log{display:flex;flex-direction:column;gap:12px;margin:auto 0 10px;font-size:13px;line-height:1.55}
.astro-log .me{align-self:flex-end;max-width:85%;padding:8px 11px;border-radius:10px 10px 3px 10px;background:var(--acc);color:var(--acc-ink)}
.astro-log .ai{display:grid;grid-template-columns:28px 1fr;gap:10px;color:#dfe9f3}
.astro-log .ai .avatar{width:28px;height:28px}
.astro-input{display:flex;align-items:center;gap:8px;padding:5px 5px 5px 12px;border-radius:9px;background:rgba(0,0,0,.25);border:1px solid var(--line);color:var(--mute);font-size:13px}
.astro-input span{flex:1}
.astro-input i{width:30px;height:30px;border-radius:7px;background:var(--acc);display:grid;place-items:center;color:var(--acc-ink);font-style:normal}
.themes{padding:18px 16px}
.themes h3{font-size:18px;font-weight:500;letter-spacing:-.03em}
.themes p{color:var(--mute);margin-top:4px}
.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.swatches button{display:grid;gap:8px;justify-items:start;padding:10px;border-radius:10px;border:1px solid var(--line);background:rgba(0,0,0,.15);color:#dfe9f3;font-size:12px}
.swatches button[aria-pressed=true]{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}
.swatches i{width:100%;height:30px;border-radius:6px;background:linear-gradient(135deg,var(--s1),var(--s2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);position:relative}
.swatches i::after{content:"";position:absolute;right:6px;bottom:6px;width:8px;height:8px;border-radius:50%;background:var(--s3)}

/* Schedule (merged into the Beacon chapter) */
.two-col.flip{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.schedule .feature-word{font-size:clamp(56px,min(7.6vw,13vh),116px)}
.invite-card{background:rgba(255,255,255,.78);border:1px solid rgba(255,255,255,.95);border-radius:22px;box-shadow:0 30px 80px -30px rgba(24,40,60,.45);overflow:hidden;color:var(--navy)}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:14px 18px 10px;border-bottom:1px solid var(--line-light);text-align:center}
.week span{display:grid;gap:4px;padding:6px 0;border-radius:10px;font-size:15px}
.week small{font-size:10px;letter-spacing:.08em;color:var(--navy-3)}
.week .on{background:#22364f;color:#fff}
.week .on small{color:#b9c8d9}
.week .dot{position:relative}
.week .dot::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#e2b84a}
.event{display:flex;gap:14px;margin:14px 18px 4px;padding:12px 14px;border-radius:12px;background:#f6f8fb}
.ev-bar{width:3px;border-radius:2px;background:#e2b84a}
.event small{display:block;font-size:12px;color:var(--navy-3)}
.event b{display:block;margin-top:2px;font-size:17px;font-weight:500;letter-spacing:-.02em}
.ev-host{display:block;margin-top:2px;font-size:12px;color:var(--navy-3)}
.invitees{display:grid;gap:2px;padding:6px 18px 10px}
.invitees li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:6px 4px;opacity:.38;filter:grayscale(1);transition:opacity .5s var(--ease),filter .5s var(--ease)}
.invitees li.yes{opacity:1;filter:none}
.invitees b{display:block;font-size:14px;font-weight:500}
.invitees small{font-size:12px;color:var(--navy-3)}
.rsvp{font-size:12px;padding:4px 10px;border-radius:99px;background:#eef1f5;color:#6a7a8e;transition:background .3s,color .3s}
.rsvp.yes{background:#e3f2ea;color:#2f6e52}
.invite-card footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--line-light);font-size:12px;color:var(--navy-3)}
.sync{padding:5px 10px;border-radius:99px;border:1px solid var(--line-light);color:#8a98a9;transition:all .4s var(--ease)}
.sync.on{border-color:#22364f;color:#22364f;background:#fff}
.sync.on::before{content:"✓ "}
.inv-count{margin-left:auto}

/* Profiles */
.profiles .seg{margin-top:28px}
.profiles .feature-word{font-size:clamp(64px,9vw,130px)}
.profile-card{position:relative;color:#e6eef6;max-width:400px;justify-self:center;width:100%;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#141c28,#0d131c);border:1px solid rgba(255,255,255,.1);box-shadow:0 50px 100px -40px rgba(0,0,0,.8)}
.pf-banner{height:76px;background:radial-gradient(120% 140% at 20% 0,#3a5778,#17263a 60%,#0d131c)}
.pf-body{padding:0 20px 18px;margin-top:-40px}
.pf-id{display:flex;align-items:flex-end;gap:16px}
.pf-id .avatar{width:76px;height:76px}
.pf-id .avatar:not(:has(img)){border-radius:50%;font-size:26px;box-shadow:0 0 0 4px #141c28}
.pf-sac{margin-left:auto;margin-bottom:8px;font:500 12px/1 var(--mono);letter-spacing:.12em;padding:7px 10px;border-radius:7px;background:var(--metal);color:#1b2533}
.pf-name{margin-top:10px;font-size:24px;font-weight:500;letter-spacing:-.04em}
.pf-roles{color:#9fb0c2;font-size:14px}
.pf-url{margin-top:6px;font-size:13px;color:#7fa6cf}
.pf-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:14px;padding:10px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);text-align:center}
.pf-stats b{display:block;font-size:20px;font-weight:500;letter-spacing:-.02em}
.pf-stats small{font-size:11px;color:#8193a6}
.pf-label{margin-top:16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7d8a9a}
.pf-works li{display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.pf-works b{display:block;font-weight:500;font-size:14px}
.pf-works small{color:#8fa3b8;font-size:12px}
.verified{font-size:11px;color:var(--ok)}
.pf-empty{padding:18px 0;color:#8fa3b8;font-size:14px}
.pf-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.pf-links span{font-size:12px;padding:6px 11px;border-radius:99px;border:1px solid rgba(255,255,255,.14);color:#cfdbe7}
.pf-share{margin-top:18px;width:100%}

/* Branches */
.branches-head{display:grid;justify-items:start}
.graph-card{margin-top:52px;display:grid;grid-template-columns:minmax(0,1fr) 280px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.9);border-radius:22px;box-shadow:0 30px 80px -40px rgba(24,40,60,.5);overflow:hidden}
.graph-scroll{position:relative;padding:48px 28px 56px}
.graph,.nodes{width:100%;aspect-ratio:1000/300}
.nodes{position:absolute;inset:48px 28px 56px;width:calc(100% - 56px);height:auto}
.graph .edge{fill:none;stroke:#9aa9bb;stroke-width:2}
.graph .edge.kept{stroke-dasharray:5 6;stroke:#a9b6c5}
.graph .edge.main{stroke:#22364f;stroke-width:2.6}
.graph .edge.ship{stroke:#22364f;stroke-width:2.6;stroke-dasharray:1000;stroke-dashoffset:1000}
.graph-card.in .edge.ship{animation:draw 1.6s .4s var(--ease) forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;justify-items:center;background:none;border:0;padding:0;color:var(--navy)}
.node .pip{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #7d8ea4;transition:transform .25s,box-shadow .25s}
.node.main .pip,.node.chosen .pip{background:#22364f;border-color:#22364f}
.node.kept .pip{border-style:dashed}
.node.ship .pip{width:24px;height:24px;background:conic-gradient(#e6ebf1,#9eabbc,#e6ebf1);border-color:#22364f}
.node span{font-size:13px;font-weight:500;white-space:nowrap;position:absolute;top:calc(100% + 6px)}
.node small{font-size:11px;color:var(--navy-3);white-space:nowrap;position:absolute;top:calc(100% + 24px)}
.node.up span{top:auto;bottom:calc(100% + 24px)}.node.up small{top:auto;bottom:calc(100% + 6px)}
.node:hover .pip,.node[aria-pressed=true] .pip{transform:scale(1.35)}
.node[aria-pressed=true] .pip{box-shadow:0 0 0 7px rgba(34,54,79,.12)}
.legend{position:absolute;left:28px;bottom:18px;display:flex;gap:18px;font-size:12px;color:var(--navy-3)}
.legend span{display:flex;align-items:center;gap:8px}
.legend i{width:22px;height:0;border-top:2.6px solid #22364f}
.legend i.kept{border-top:2px dashed #9aa9bb}
.node-detail{padding:26px;border-left:1px solid var(--line-light);background:rgba(255,255,255,.5)}
.node-detail .k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-3)}
.node-detail h3{margin-top:8px;font-size:22px;font-weight:500;letter-spacing:-.03em}
.node-detail>p:not(.k){margin-top:6px;font-size:14px;color:var(--navy-3)}
.node-detail dl{margin-top:16px;display:grid;gap:10px;font-size:13px}
.node-detail dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-light);padding-bottom:8px}
.node-detail dt{color:var(--navy-3)}
.people{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.people span{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:#fff;border:1px solid var(--line-light);border-radius:99px;padding:3px 10px 3px 3px}
.people .avatar{width:22px;height:22px}

/* Film */
.film-frame{max-width:calc((100vh - 60px) * 16 / 9);margin:0 auto}
.film{padding-top:clamp(8px,2vh,24px);padding-bottom:clamp(48px,6vw,90px);background:linear-gradient(180deg,var(--ink),#0b0e14)}
.film .wrap{max-width:var(--max)}
.film-frame{box-shadow:0 60px 120px -40px rgba(60,110,170,.25)}
.film-head{display:flex;justify-content:space-between;align-items:baseline}
.film-frame{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line-dark);aspect-ratio:16/9;background:#05070a}
.film-frame video{width:100%;height:100%;object-fit:cover}
.film-frame.tall{aspect-ratio:9/16;max-height:82vh;margin:0 auto}
.film-ctrls{position:absolute;right:16px;bottom:16px;display:flex;gap:8px}
.pill{height:38px;padding:0 14px;border-radius:99px;border:1px solid rgba(255,255,255,.25);background:rgba(10,14,20,.55);backdrop-filter:blur(8px);color:#eef2f6;font-size:13px}
.pill:hover{background:rgba(30,38,50,.8)}

/* Contact + forms */
.form{display:grid;gap:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:clamp(20px,3vw,32px)}
.form .btn{justify-self:start}
.contact .display{color:var(--navy)}
.contact .lede{color:var(--navy-3)}
.form-light{background:rgba(255,255,255,.6);border-color:rgba(255,255,255,.9);box-shadow:0 30px 80px -40px rgba(24,40,60,.45)}
.form-light label{color:#4d5f75}
.form-light input,.form-light select,.form-light textarea{background:#fff;border-color:#cbd4df;color:var(--navy)}
.form-light input:focus,.form-light select:focus,.form-light textarea:focus{background:#fff;border-color:#22364f}
.form-light .btn-light{background:#22364f;color:#fff;box-shadow:none}
.form-light .btn-light:hover{background:#2c4462}
.form-light .status{color:var(--navy)}
.form-light .fine{color:#6a7a8e}
.status{min-height:1.3em;font-size:14px;color:#cfe0f0}
.status.err{color:#f0b3a8}

/* Footer */
.footer{position:relative;background:#020403;color:#d9e3dd;overflow:hidden}
.footer-art{position:absolute;inset:0;background:url(assets/aqueo-monument-v5.jpg) right center/cover no-repeat;opacity:.55;mask-image:linear-gradient(90deg,transparent 15%,#000 60%);-webkit-mask-image:linear-gradient(90deg,transparent 15%,#000 60%)}
.footer-inner{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(56px,8vw,90px) var(--pad-x) 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px 60px}
.footer-mark{width:min(60vw,340px);height:auto}
.legal{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:12px;color:#7c8a83;border-top:1px solid rgba(255,255,255,.08)}
.legal a{text-decoration:none;color:#b7c2bc}

/* 5 Dialogs */
dialog{border:0;padding:0;color:#e6eef6;max-height:calc(100dvh - 32px)}
dialog::backdrop{background:rgba(4,8,14,.6);backdrop-filter:blur(10px)}
dialog[open]{animation:dlg .35s var(--ease)}
@keyframes dlg{from{opacity:0;transform:translateY(16px) scale(.98)}}
.x{position:absolute;right:16px;top:14px;width:34px;height:34px;border-radius:50%;border:0;background:rgba(255,255,255,.06);color:#dfe8f2;font-size:20px;line-height:1}
.access{width:min(540px,calc(100vw - 24px));border-radius:24px;background:linear-gradient(180deg,#22385a,#122035 45%,#0b131f);box-shadow:0 60px 120px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08);padding:30px clamp(20px,4vw,34px) 24px;overflow:auto}
.access-head{text-align:center}
.access-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 14px;border-radius:14px;background:linear-gradient(160deg,#3a4f6c,#1c2a3f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.access-icon img{width:26px}
.access h2{font-size:clamp(30px,4vw,38px);font-weight:500;letter-spacing:-.05em;line-height:1.05}
.access h2 span{color:#9fb6cf}
.access-sub{margin-top:10px;font-size:14px;color:#a9bdd2}
.mini-pass{position:relative;display:flex;align-items:center;gap:14px;width:100%;margin:22px 0 6px;padding:14px 16px;border-radius:14px;border:0;background:var(--metal);color:#151c27;text-align:left;box-shadow:6px 7px 0 -2px var(--metal-edge);transition:transform .2s}

.mini-pass .avatar{width:46px;height:46px;font-size:13px}
.mp-text{flex:1;min-width:0}
.mp-text b{display:block;font-weight:500;letter-spacing:-.02em}
.mp-text small{display:block;font-size:11px;color:#4a5566;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mp-text code{display:block;margin-top:2px;font-size:15px;letter-spacing:.14em;color:#1b2533}
.mini-pass em{position:absolute;right:16px;top:12px;font-style:normal;font-size:10px;font-weight:600;letter-spacing:.24em;color:#2a3442}
.access .role-chips button{font-size:12px;padding:6px 10px}
.dlg-edit{padding:12px 0 0;animation:rise .3s var(--ease)}
.dlg-cast{display:grid;grid-template-columns:repeat(13,1fr);gap:5px;margin-top:12px}
.dlg-cast button{border-radius:9px;padding:2px}
.form.plain{background:none;border:0;padding:16px 0 0}
.switch{display:flex!important;align-items:center;gap:12px;cursor:pointer;color:#dfe8f2}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch span{width:38px;height:22px;border-radius:11px;background:#33465f;position:relative;transition:background .2s}
.switch span::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.switch input:checked+span{background:#7fa6cf}
.switch input:checked+span::after{transform:translateX(16px)}
.switch input:focus-visible+span{outline:2px solid #9cc3e6;outline-offset:2px}
.btn.wide{width:100%;justify-self:stretch;height:52px;border-radius:99px;background:#c4d6ea}
.center{text-align:center}
.record-dlg{width:min(860px,calc(100vw - 24px));border-radius:22px;background:linear-gradient(180deg,#1c2738,#121a27);border:1px solid rgba(255,255,255,.12);padding:clamp(22px,3.5vw,38px);overflow:auto}
.record-dlg h2{font-size:clamp(30px,3.4vw,40px);font-weight:450;letter-spacing:-.05em}
.rec-sub{margin-top:8px;color:#a9b8c7}
.rec-tabs{display:flex;gap:4px;margin-top:30px;border-bottom:1px solid rgba(255,255,255,.12)}
.rec-tabs button{background:none;border:1px solid transparent;border-bottom:0;padding:10px 16px;border-radius:8px 8px 0 0;font-size:13px;color:#8fa3b8;margin-bottom:-1px}
.rec-tabs button[aria-selected=true]{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);color:#eef3f8}
.rec-sum{display:grid;grid-template-columns:2fr 1fr 1fr;gap:20px;padding:20px 0 16px;font-size:17px;color:#eef3f8}
.rec-sum small{display:block;font-size:11px;color:#7f93a8}
.rec-out{border:1px solid rgba(255,255,255,.1);border-radius:12px;background:#0d131c;max-height:46vh;overflow:auto}
.rec-out pre{margin:0;padding:20px 22px;font-size:12.5px;line-height:1.75;color:#c8d6e4;white-space:pre}
.sheet{width:100%;border-collapse:collapse;font-size:13px}
.sheet caption{text-align:left;padding:16px 20px 8px;font-size:12px;color:#8fa3b8}
.sheet th{text-align:left;font-weight:500;font-size:11px;color:#8fa3b8;padding:10px 20px;border-bottom:1px solid rgba(255,255,255,.12)}
.sheet td{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.07);color:#dfe8f1}
.sheet td:nth-child(2){font-family:var(--mono);font-size:12px;letter-spacing:.06em}
.record-dlg .fine{margin-top:14px;color:#8293a6}
.back{margin-top:22px;font-size:13px}

/* 6 Responsive */
@media (max-width:1120px){
  .companion[data-mode=session] .daw-win{right:120px}
}
@media (max-width:980px){
  .graph-card{grid-template-columns:1fr}
  .node-detail{border-left:0;border-top:1px solid var(--line-light)}
  .credits{grid-template-columns:1fr 1fr}
  .credits li:nth-child(3){display:none}
  .sac-grid,.maker,.two-col,.two-col.flip,.comp-layout{grid-template-columns:1fr}
  .two-col.flip .copy{order:-1}
  .companion[data-mode=session] .daw-win{display:none}
  .companion[data-mode=session] .desk{display:flex;height:auto}
  .companion[data-mode=session] .comp{position:relative;inset:auto}
  .desk{height:auto}
  .ghost{display:none}
  .emb-body{grid-template-columns:1fr}
}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:104px;min-height:0}
  .deck{margin:0 auto}
  .cast{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:700px){
  .legend{position:static;margin-top:14px;flex-wrap:wrap}
  .proof-tabs{gap:8px}
  .proof-tabs button{font-size:14px}
  .trio{grid-template-columns:1fr;gap:20px}
  .fineprint,.ptab-row{grid-template-columns:1fr}
  .file-stage{padding:30px 18px}
  .file-panel>header,.embedded{padding-left:18px;padding-right:18px}
  .emb-title .disc{width:56px;height:56px}
  .emb-title b{font-size:24px}
  .big-fmts button{min-width:0;flex:1;font-size:18px;height:62px}
  .rec-sum{grid-template-columns:1fr 1fr}
  .rec-sum span:first-child{grid-column:1/-1}
}
@media (max-width:600px){
  .founding{font-size:10.5px;letter-spacing:.04em;padding:5px 12px 5px 9px}
  .maker .stage{grid-template-columns:1fr;justify-items:center}
  .maker .stage .stage-name{text-align:center}
  .maker .stage .spot{width:min(220px,60vw)}
  .film-frame{max-width:none}
  .site-header .btn-small{display:inline-flex;height:34px;padding:0 12px;font-size:13px}
  .brand{width:88px}
  .brand-word{height:13px}
  .header-actions{gap:10px}
  .header-astro{width:30px;height:30px}
  .sheet-body{grid-template-columns:1fr}
  .qr{display:flex;align-items:center;gap:14px;text-align:left}
  .qr img{width:117px;height:117px}
  .roster li{grid-template-columns:auto 1fr auto}
  .roster code{display:none}
  .pair{grid-template-columns:1fr}
  .hero-card{padding:22px 22px 20px}
  .credits{grid-template-columns:1fr}
  .credits li:nth-child(2){display:none}
  .wave{height:70px;gap:2px}
  [data-tilt]>*{transform:rotateZ(-2deg)}
  .pass{padding:18px 20px}
  .avatar.lg{width:48px;height:48px}
  .map-stage{aspect-ratio:.95}
  .sat{font-size:11px;padding:6px 10px}
  .core{width:46%}
  .core .avatar{width:36px;height:36px}
  .pbox{font-size:11px;padding:7px 8px;gap:6px}
  .pbox .avatar{display:none}
  .comp-panel{width:calc(100vw - 2*var(--pad-x) - 52px)}
  .comp{height:600px}
  .film-ctrls{right:10px;bottom:10px}
  .pill{height:32px;font-size:12px}
  .dlg-cast{grid-template-columns:repeat(7,1fr)}
  .reveal-btn{height:48px;padding:0 18px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  [data-reveal]{opacity:1;transform:none}
  .graph .edge.ship{stroke-dashoffset:0}
  html{scroll-behavior:auto}
}

/* Branches on a dark band */
.branches.dark .feature-word{color:#e6eef6}
.branches.dark .graph-card{background:linear-gradient(160deg,#151d29,#0e141d);border-color:rgba(255,255,255,.1);box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.branches.dark .node{color:#e6eef6}
.branches.dark .node small,.branches.dark .legend{color:#8fa3b8}
.branches.dark .node .pip{background:#0e141d;border-color:#7f93a8}
.branches.dark .node.main .pip,.branches.dark .node.chosen .pip{background:#dfe8f2;border-color:#dfe8f2}
.branches.dark .node.ship .pip{border-color:#dfe8f2}
.branches.dark .node[aria-pressed=true] .pip{box-shadow:0 0 0 7px rgba(223,232,242,.12)}
.branches.dark .graph .edge{stroke:#4b5c71}
.branches.dark .graph .edge.kept{stroke:#5d6f85}
.branches.dark .graph .edge.ship,.branches.dark .graph .edge.main{stroke:#dfe8f2}
.branches.dark .legend i{border-color:#dfe8f2}
.branches.dark .legend i.kept{border-color:#5d6f85}
.branches.dark .node-detail{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08);color:#e6eef6}
.branches.dark .node-detail .k,.branches.dark .node-detail dt,.branches.dark .node-detail>p:not(.k){color:#8fa3b8}
.branches.dark .node-detail dl div{border-color:rgba(255,255,255,.08)}
.branches.dark .people span{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#dfe8f2}
.branches.dark .nodes{border-color:#3a4a5e}

/* Questions, answered */
.faq{margin-top:34px;max-width:520px}
.faq-title{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--navy-3);margin-bottom:6px}
.faq details{border-bottom:1px solid var(--line-light)}
.faq summary{display:flex;justify-content:space-between;gap:16px;padding:14px 0;cursor:pointer;list-style:none;font-size:15px;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{font-style:normal;color:var(--navy-3);transition:transform .3s var(--ease)}
.faq details[open] summary i{transform:rotate(45deg)}
.faq details p{padding:0 0 16px;font-size:14px;line-height:1.6;color:#5a6c82}

/* Footer links */
.maker-left .astro-word{font-size:clamp(56px,min(6.2vw,12vh),110px);white-space:nowrap}
.maker-left .mini-lede{font-size:clamp(18px,min(1.7vw,3.2vh),24px)}
.maker-left .founding{margin-bottom:12px}
.builder{gap:14px}
.builder .pass-holder{padding:6px 24px 26px 6px}
.builder .pass{max-width:min(360px,40vh);padding:18px 20px}
.builder .pass .pass-code{font-size:clamp(22px,2.2vw,28px)}
.builder-fields{gap:12px}

/* Founding Mini Astros */
.cast button.gold,.dlg-cast button.gold{position:relative;border-color:rgba(226,184,74,.55);background:linear-gradient(150deg,rgba(240,205,120,.28),rgba(160,110,30,.12));box-shadow:inset 0 0 0 1px rgba(255,230,160,.12),0 0 18px -6px rgba(226,184,74,.6)}
.cast button.gold[aria-selected=true],.dlg-cast button.gold[aria-selected=true]{border-color:#f0cd78;box-shadow:inset 0 0 0 1px #f0cd78,0 0 22px -4px rgba(226,184,74,.8)}
.cast .star,.dlg-cast .star{position:absolute;top:3px;right:5px;font-style:normal;font-size:10px;color:#f0cd78;line-height:1}
.pass.founder,.mini-pass.founder{background:linear-gradient(135deg,#fbf1d6 0%,#ecd39a 38%,#d1ab5e 72%,#a8823c 100%);--edge:#8a6a2c;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 0 rgba(0,0,0,.08),14px 16px 0 -3px #8a6a2c,0 40px 90px -20px rgba(0,0,0,.65)}
.mini-pass.founder{box-shadow:6px 7px 0 -2px #8a6a2c}
.pass.founder .pass-foot,.pass.founder .pass-top{color:#5c4518}
.founder-terms{padding:14px;border-radius:14px;border:1px solid rgba(226,184,74,.45);background:linear-gradient(150deg,rgba(240,205,120,.14),rgba(160,110,30,.05))}
.ft-title{display:flex;align-items:center;gap:8px;font-weight:500;color:#f3dca0}
.ft-title i{font-style:normal}
.ft-text{margin-top:6px;font-size:13px;line-height:1.5;color:#c9c0a4}
.check{display:flex!important;align-items:flex-start;gap:10px;margin-top:10px;color:#eef3f8;cursor:pointer}
.check input{width:18px;height:18px;padding:0;flex:none;accent-color:#e2b84a;margin-top:2px}
.req{font-style:normal;color:#9cc3e6}
.form-light .req{color:#3f6aa0}
.switch input:disabled+span{opacity:.75}
.switch b{font-weight:400}
label>span:first-child{display:inline}

/* Schedule calendar icons */
.sync{display:inline-flex;align-items:center;gap:6px}
.sync.on::before{content:none}
.cal-ico{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#fff;box-shadow:0 0 0 1px var(--line-light)}
.cal-ico svg{width:13px;height:13px;fill:none;stroke-width:1.6;stroke-linecap:round}
.cal-ico.apple svg{stroke:#e5484d}
.cal-ico.google svg{stroke:#3b7be8}
.sync:not(.on) .cal-ico{filter:grayscale(1);opacity:.6}

/* Profiles: people tabs + a nudge towards yours */
.prof-seg{margin-top:26px;flex-wrap:wrap}
.prof-seg button{display:inline-flex;align-items:center;gap:7px;padding:5px 14px 5px 6px}
.prof-seg .avatar{width:24px;height:24px}
.prof-seg .yours{padding:7px 16px;border-color:#22364f;color:#22364f;font-weight:500}
.prof-seg .yours.nudge{animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{0%,100%{box-shadow:0 0 0 0 rgba(34,54,79,.35)}50%{box-shadow:0 0 0 8px rgba(34,54,79,0);transform:translateY(-2px)}}
.prof-hint{margin-top:14px;min-height:1.5em;max-width:28em;font-size:15px;line-height:1.5;color:#3c5068}
.prof-hint a{color:#22364f;font-weight:500}
.profile-card.mine{box-shadow:0 0 0 2px #9cc3e6,0 50px 100px -40px rgba(0,0,0,.8)}
.profile-card.founder{box-shadow:0 0 0 2px #e2b84a,0 50px 100px -40px rgba(0,0,0,.8)}
.pf-founder{margin-bottom:8px;font-size:11px;font-weight:600;letter-spacing:.06em;color:#f0cd78;padding:5px 9px;border-radius:7px;border:1px solid rgba(226,184,74,.5)}
.pf-links .add{border-style:dashed;color:#9cc3e6}

/* Contact: questions left, conversation right */
.contact-grid{align-items:start}
.contact-side .form{margin-top:24px}
.faq{margin-top:0}

/* Branches on phones: Mix A visibly branches off the line */
@media (max-width:700px){
  .node.chosen .pip{box-shadow:0 0 0 4px rgba(223,232,242,.14)}
}

/* Phones: tighter sign-up, your SAC stays in view while you type */
@media (max-width:600px){
  .access{padding-top:22px}
  .access-icon{width:40px;height:40px;margin-bottom:10px;border-radius:11px}
  .access-icon img{width:20px}
  .access h2{font-size:28px}
  .mini-pass{position:relative;top:auto;z-index:auto;margin-top:16px}
  .dlg-cast{grid-template-columns:repeat(7,minmax(0,44px));justify-content:center;gap:6px}
  .dlg-cast button{border-radius:11px}
  .maker .stage .spot{width:min(170px,46vw)}
  .astros .builder .pass{max-width:330px}
}

/* Full-screen menu */
.menu-overlay{position:fixed;inset:56px 0 0;z-index:49;display:grid;grid-template-rows:1fr auto;background:radial-gradient(120% 90% at 85% 0,#1a2a40 0,#0b0d12 55%);overflow:auto;animation:menu-in .45s var(--ease)}
@keyframes menu-in{from{opacity:0;clip-path:inset(0 0 100% 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
.menu-open{overflow:hidden}
.menu-open .site-header{background:#0b0d12}
.menu-links{display:grid;grid-template-columns:repeat(3,1fr);align-content:center;gap:clamp(6px,1.5vh,18px) clamp(24px,4vw,64px);max-width:var(--max);width:100%;margin:0 auto;padding:clamp(24px,5vh,60px) var(--pad-x)}
.menu-links a{display:grid;gap:4px;padding:clamp(10px,2vh,22px) 0;border-top:1px solid rgba(255,255,255,.1);text-decoration:none;opacity:0;transform:translateY(14px);animation:link-in .5s var(--ease) forwards;animation-delay:calc(var(--n) * 45ms + 120ms)}
@keyframes link-in{to{opacity:1;transform:none}}
.menu-links b{font-size:clamp(30px,min(3.6vw,6vh),54px);font-weight:450;letter-spacing:-.05em;line-height:1;color:#e6eef6;transition:color .2s,transform .3s var(--ease)}
.menu-links small{font-size:13px;color:#7f93a8}
.menu-links a:hover b{color:#fff;transform:translateX(6px)}
.menu-foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap;max-width:var(--max);width:100%;margin:0 auto;padding:22px var(--pad-x) 32px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:#7f93a8}
@media (max-width:900px){.menu-links{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.menu-links{grid-template-columns:1fr;align-content:start;gap:0}.menu-links a{padding:12px 0}.menu-links b{font-size:30px}}

/* Founding reveal deal */
.ft-steps{display:grid;gap:8px;margin:10px 0 4px;counter-reset:s}
.ft-steps li{display:grid;grid-template-columns:22px 1fr;column-gap:10px;font-size:13px;line-height:1.4;color:#c9c0a4;counter-increment:s}
.ft-steps li::before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(226,184,74,.18);color:#f3dca0;font-size:11px;font-weight:600}
.ft-steps b{color:#f3dca0;font-weight:500}
.ft-fine{margin-top:8px;font-size:11px;color:#a89b78}

/* Astro: type for real */
.astro-input input{flex:1;padding:6px 0;border:0;background:none;font-size:13px;color:#eef3f8;border-radius:0}
.astro-input input:focus{background:none}
.astro-input button{width:30px;height:30px;border:0;border-radius:7px;background:var(--acc);color:var(--acc-ink)}

/* Cookie banner */
.cookie{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:14px;padding:8px 8px 8px 16px;border-radius:99px;background:rgba(14,20,30,.92);border:1px solid rgba(255,255,255,.1);box-shadow:0 18px 40px -16px rgba(0,0,0,.6);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#dce5ee;font-size:13px;animation:rise .4s var(--ease)}
.cookie[hidden]{display:none}
.cookie [data-cookie-status]{flex-basis:100%;white-space:normal;font-size:14px;line-height:1.4}
.cookie p{white-space:nowrap}
.cookie p a{margin-left:4px;color:#7f93a8;text-decoration:none}
.cookie p a:hover{color:#dce5ee}
.ck-btns{display:flex;gap:6px}
.ck-btns[hidden]{display:none}
.ck-btns button{height:32px;padding:0 14px;border-radius:99px;font-size:13px;white-space:nowrap}
.ck-ghost{background:none;border:1px solid rgba(255,255,255,.18);color:#dce5ee}
.ck-ghost:hover{background:rgba(255,255,255,.08)}
.ck-ok{border:0;background:#e6eef6;color:#101826}
.ck-ok:hover{background:#fff}
@media (max-width:520px){.cookie{right:16px;justify-content:space-between;padding-left:14px}.cookie p{white-space:normal}}

.astro-input input:focus,.astro-input input:focus-visible{outline:none;box-shadow:none;border:0}
.astro-input:focus-within{border-color:var(--acc)}

/* Branches: a real graph on phones too */
.graph-m{display:none}
@media (max-width:700px){
  .graph{display:none}
  .graph-m{display:block;aspect-ratio:320/490}
  .graph-scroll{padding:22px 18px 18px}
  .nodes{inset:22px 18px auto;width:calc(100% - 36px);aspect-ratio:320/490}
  .node{left:var(--mx);top:var(--my)}
  .node span,.node small,.node.up span,.node.up small{top:auto;bottom:auto;left:calc(100% + 12px);text-align:left}
  .node span{top:-8px}
  .node small,.node.up small{top:10px}
  .node.up span{top:-8px}
  .node.ship span{top:-6px}.node.ship small{top:12px}
}

/* Header: aligned with the page, Mini Astro inside Early access */
.site-header{padding:0 max(var(--pad-x),calc((100vw - var(--max)) / 2 + var(--pad-x)))}
.hero{max-width:var(--max)}
.btn-astro{gap:8px;padding-left:8px}
.btn-astro .header-astro{width:26px;height:26px;margin:-4px 0}
.btn-astro .header-astro img{filter:drop-shadow(0 1px 1px rgba(0,0,0,.25))}

/* Mini Astros: the professional identity card */
.mini-head{max-width:760px}
.id-wrap{display:grid;gap:22px;margin-top:clamp(22px,3.4vh,40px)}
.id-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(20px,3vw,48px);padding:clamp(20px,3vh,40px) clamp(56px,6vw,90px);border-radius:28px;background:linear-gradient(160deg,#e6ebf2,#cbd3df);color:#141c27;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 50px 100px -40px rgba(0,0,0,.7);transition:background .6s var(--ease),box-shadow .6s var(--ease)}
.id-card.founder{background:linear-gradient(150deg,#fbf3dc,#ecd39a 55%,#d6b26a);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 0 0 2px rgba(226,184,74,.6),0 50px 100px -40px rgba(0,0,0,.7)}
.id-stage{position:relative;display:grid;place-items:center;height:clamp(220px,36vh,330px);cursor:grab;touch-action:pan-y}
.id-stage::before{content:"";position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.7),transparent 65%)}
.id-stage .stage-astro{width:auto;height:100%;aspect-ratio:240/260}
.id-stage .stage-astro svg{height:100%;width:auto}
.id-eyebrow{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#5d6b7e}
.id-card.founder .id-eyebrow{color:#7a5a1c}
.id-name{margin-top:10px;font-size:clamp(40px,min(4.6vw,8vh),72px);font-weight:500;letter-spacing:-.055em;line-height:1;word-break:break-word}
.id-char{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;margin-top:10px;font-size:14px;color:#4a5566}
.id-char b{font-weight:500;color:#141c27}
.id-roles{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px;min-height:28px}
.id-sac{display:flex;align-items:baseline;gap:16px;margin-top:18px;padding:14px 0;border-top:1px solid rgba(20,28,39,.14);border-bottom:1px solid rgba(20,28,39,.14)}
.id-sac span{font-size:13px;color:#5d6b7e}
.id-sac code{font-size:clamp(20px,2vw,26px);letter-spacing:.12em}
.id-hint{margin-top:14px;font-size:13px;color:#5d6b7e}
.id-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:64px;border-radius:14px;border:1px solid transparent;background:none;color:#4a5566;font-size:30px;line-height:1;transition:background .2s,border-color .2s}
.id-nav:hover{background:rgba(255,255,255,.5);border-color:rgba(20,28,39,.2)}
.id-nav.prev{left:12px}.id-nav.next{right:12px}
.id-wrap .cast{grid-template-columns:repeat(13,minmax(0,1fr));max-width:860px;margin:0 auto;width:100%}
.id-form{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) auto;gap:20px;align-items:end;margin-top:6px}
.id-form label{align-self:start}
.id-form .btn{height:48px}
@media (max-width:900px){
  .id-card{grid-template-columns:1fr;text-align:center;padding:26px 54px}
  .id-char,.id-roles{justify-content:center}
  .id-sac{justify-content:center}
  .id-stage{height:clamp(180px,30vh,240px)}
  .id-form{display:flex}
  .id-form .btn{justify-self:stretch}
  .id-wrap .cast{grid-template-columns:repeat(7,minmax(0,1fr))}
}
@media (max-width:600px){
  .id-card{padding:20px 40px;border-radius:22px}
  .id-nav{width:32px;height:52px;font-size:24px}.id-nav.prev{left:4px}.id-nav.next{right:4px}
  .id-name{font-size:36px}
}

/* Early access: the same identity card, small */
.mini-pass{align-items:center;gap:14px;padding:12px 16px 12px 10px;background:linear-gradient(160deg,#e6ebf2,#cbd3df);box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.mini-pass.founder{background:linear-gradient(150deg,#fbf3dc,#ecd39a 55%,#d6b26a);box-shadow:0 0 0 2px rgba(226,184,74,.6),0 14px 30px -14px rgba(0,0,0,.6)}
.mp-astro{flex:none;width:78px;height:84px;display:grid;place-items:center}
.mp-astro img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}
.mp-eyebrow{font-size:9px!important;letter-spacing:.16em;text-transform:uppercase;color:#5d6b7e!important}
.mp-text b{font-size:20px;letter-spacing:-.03em;margin-top:2px}
.mp-roles{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.mp-roles span{font-size:10px;padding:2px 8px;border-radius:99px;border:1px solid rgba(20,28,39,.18)}
.mp-sac{display:flex;align-items:baseline;gap:8px;margin-top:6px}
.mp-sac em{position:static;font-style:normal;font-size:10px;letter-spacing:.14em;color:#5d6b7e}
.mp-sac code{margin:0;font-size:14px}

/* Contact: two matching halves */
.contact-grid{align-items:start}
.faq-side .faq{margin-top:24px}
.faq-side .display,.contact-side .display{color:var(--navy)}


/* Footer: brand left, three tidy columns right */
.footer-brand p{margin-top:14px;color:#9aa8a0}
.footer-access{margin-top:24px;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.4);padding:0 0 6px;color:#e6eef0;font-size:15px}
.footer-access:hover{border-color:#fff}
.footer-cols{display:grid;grid-template-columns:repeat(3,minmax(110px,auto));gap:32px;align-self:start}
.footer-cols div{display:grid;gap:10px;align-content:start;justify-items:start}
.footer-cols p{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7c8a83;margin-bottom:4px}
.footer-cols a,.footer-cols .linklike{font-size:14px;color:#c4cec8;text-decoration:none;text-align:left}
.footer-cols a:hover,.footer-cols .linklike:hover{color:#fff}
.footer-art{opacity:.45}
@media (max-width:800px){
  .footer-inner{grid-template-columns:1fr}
  .footer-cols{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-cols div:last-child{grid-column:1/-1;grid-template-columns:repeat(2,auto);justify-content:start;column-gap:28px}
  .footer-cols div:last-child p{grid-column:1/-1}
  .footer-art{opacity:.22;background-position:70% center}
}

/* Beacon + Schedule: one chapter again */
.beacon{position:relative;z-index:1;overflow:visible;overflow-x:clip;padding-bottom:clamp(24px,3vw,48px);background:linear-gradient(180deg,#dce2ea,#cdd4df)}
.schedule{padding-top:clamp(24px,3vw,48px);background:linear-gradient(180deg,#cdd4df,#d8dee7)}

/* Menu: a little animation per section on hover */
.menu-links a{grid-template-columns:auto 1fr;align-items:center;column-gap:18px}
.menu-links small{display:none}
.mi-box{display:grid;place-items:center;width:clamp(44px,4.4vw,60px);aspect-ratio:1;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);transition:background .3s,border-color .3s,transform .4s var(--ease)}
.mi{width:72%;height:72%;fill:none;stroke:#8fa3b8;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;overflow:visible;transition:stroke .3s}
.menu-links a:hover .mi-box,.menu-links a:focus-visible .mi-box{background:rgba(156,199,234,.12);border-color:rgba(156,199,234,.45);transform:scale(1.08) rotate(-4deg)}
.menu-links a:hover .mi,.menu-links a:focus-visible .mi{stroke:#e6f1fb}
.mi-qr .bits rect,.mi-cal .days circle,.mi-cal .pick,.mi-br circle{fill:currentColor}
.mi{color:#8fa3b8}.menu-links a:hover .mi{color:#e6f1fb}
.mi-qr .bits rect{stroke:none;transform-box:fill-box;transform-origin:center}
.mi-qr .scan{stroke:#9cc7ea;opacity:0}
.menu-links a:hover .mi-qr .bits rect{animation:mi-pop .9s var(--ease) infinite alternate}
.menu-links a:hover .mi-qr .bits rect:nth-child(2){animation-delay:.15s}.menu-links a:hover .mi-qr .bits rect:nth-child(3){animation-delay:.3s}.menu-links a:hover .mi-qr .bits rect:nth-child(4){animation-delay:.45s}.menu-links a:hover .mi-qr .bits rect:nth-child(5){animation-delay:.6s}
.menu-links a:hover .mi-qr .scan{animation:mi-scan 1.4s ease-in-out infinite}
@keyframes mi-pop{from{transform:scale(.2);opacity:.2}to{transform:scale(1);opacity:1}}
@keyframes mi-scan{0%{transform:translateY(-20px);opacity:0}20%,80%{opacity:1}100%{transform:translateY(20px);opacity:0}}
.mi-globe .mer{transform-origin:28px 28px}
.menu-links a:hover .mi-globe .mer{animation:mi-turn 1.6s linear infinite}
.menu-links a:hover .mi-globe .m2{animation-delay:-.8s}
@keyframes mi-turn{from{transform:scaleX(1)}50%{transform:scaleX(-1)}to{transform:scaleX(1)}}
.mi-cal .days circle{stroke:none;opacity:.6}
.mi-cal .pick{stroke:none;fill:#9cc7ea;opacity:0;transform-box:fill-box;transform-origin:center}
.menu-links a:hover .mi-cal .pick{animation:mi-pick 1.4s var(--ease) infinite}
@keyframes mi-pick{0%{opacity:0;transform:scale(.3)}40%,80%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
.mi-br .limb{stroke-dasharray:60;stroke-dashoffset:0}
.mi-br circle{stroke:none}
.menu-links a:hover .mi-br .limb{animation:mi-draw 1.4s var(--ease) infinite}
.menu-links a:hover .mi-br .tip{animation:mi-pop .7s .5s var(--ease) infinite alternate}
.mi-br .tip{transform-box:fill-box;transform-origin:center}
@keyframes mi-draw{from{stroke-dashoffset:60}to{stroke-dashoffset:0}}
.mi-prof .face{fill:currentColor;stroke:none}
.mi-prof .ln{stroke-dasharray:24;transform-box:fill-box}
.menu-links a:hover .mi-prof .ln{animation:mi-draw 1.1s var(--ease) infinite alternate}
.menu-links a:hover .mi-prof .l2{animation-delay:.25s}
.menu-links a:hover .mi-prof .face{animation:mi-pop .8s var(--ease) infinite alternate}
.mi-prof .face{transform-box:fill-box;transform-origin:center}
.mi-astro circle{fill:rgba(156,199,234,.15)}
.mi-astro .eye{fill:currentColor;stroke:none;transform-box:fill-box;transform-origin:center}
.menu-links a:hover .mi-astro .bob{animation:mi-bob 1s ease-in-out infinite}
.menu-links a:hover .mi-astro .eye{animation:mi-blink 1.6s infinite}
@keyframes mi-bob{50%{transform:translateY(-4px)}}
@keyframes mi-blink{0%,70%,100%{transform:scaleY(1)}80%{transform:scaleY(.15)}}
@media (hover:none){.mi{color:#cfe0f0;stroke:#cfe0f0}}

/* Identity card: type your name, pick your roles right on it */
.id-name{width:auto;max-width:100%;padding:0;border:0;border-radius:0;background:none;color:#141c27;font-size:clamp(40px,min(4.6vw,8vh),72px);font-weight:500;letter-spacing:-.055em;line-height:1.05;caret-color:#22364f;outline:none}
.id-name::placeholder{color:#141c27;opacity:.42}
.id-name:focus{background:none;border:0}
.id-name:focus::placeholder{opacity:.2}
.id-roles{position:relative}
.id-roles .chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:5px 11px;border-radius:99px;border:1px solid rgba(20,28,39,.18);background:rgba(255,255,255,.55);color:#141c27}
.id-roles .chip i{font-style:normal;opacity:.5}
.id-roles .chip.add{border-style:dashed;background:none;color:#3c4a5c}
.id-roles .chip.add:hover{background:rgba(255,255,255,.5)}
.id-card.empty-name .id-roles .chip.add{animation:none}
.id-role-pop{position:absolute;z-index:5;right:clamp(56px,6vw,90px);top:50%;transform:translateY(-30%);width:min(440px,calc(100% - 40px));padding:16px;border-radius:18px;background:#0f1824;border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px rgba(0,0,0,.5);color:#e6eef6;text-align:left;animation:rise .3s var(--ease)}
.id-role-pop .text-btn{margin-top:10px;color:#9cc7ea;opacity:1;font-size:14px}
.id-hint b{font-weight:600;color:#5c4518}
.cast button.base{background:rgba(156,199,234,.08)}
@media (max-width:900px){.id-role-pop{left:16px;right:16px;width:auto;top:auto;bottom:16px;transform:none}}

/* Card name: just a blinking caret after it, like a text field */
.id-name-wrap{position:relative;display:flex;align-items:center;max-width:100%;margin-top:10px;cursor:text}
.id-caret{flex:none;width:3px;height:.9em;margin-left:0;font-size:clamp(40px,min(4.6vw,8vh),72px);border-radius:2px;background:#22364f;animation:caret 1.05s steps(1) infinite}
.id-name-wrap:focus-within .id-caret{display:none}
.id-card.founder .id-caret{background:#7a5a1c}
@keyframes caret{50%{opacity:0}}
.id-name-mirror{position:absolute;left:0;top:0;width:auto;visibility:hidden;white-space:pre;pointer-events:none}
@media (max-width:900px){.id-name-wrap{justify-content:center}}

/* Cast: centred rows, not bricks */
.id-wrap .cast,.dlg-cast{display:flex;flex-wrap:wrap;justify-content:center}
.id-wrap .cast{max-width:840px}
.id-wrap .cast button{width:calc((100% - 11 * 8px) / 12);max-width:64px}
.dlg-cast button{width:calc((100% - 11 * 5px) / 12)}
@media (max-width:600px){
  .id-wrap .cast button{width:calc((100% - 5 * 8px) / 6)}
  .dlg-cast{gap:6px}.dlg-cast button{width:calc((100% - 5 * 6px) / 6);max-width:52px}
}
.dlg-cast.nudge{animation:cast-nudge .9s var(--ease)}
@keyframes cast-nudge{30%{transform:translateY(-4px)}60%{transform:translateY(2px)}}

/* Dialog roles: one tidy line until you open it */
.roles-field.closed{gap:8px}
.roles-field .roles-toggle{background:none;border:1px dashed rgba(207,219,232,.45);color:#cfdbe8;padding:6px 12px}
.roles-field .roles-toggle:hover{border-color:#cfdbe8}
.roles-field:not(.closed) .roles-toggle{border-style:solid;background:rgba(207,219,232,.12)}

/* Founding step, shown after Count me in */
.access.founding-step .dlg-cast,.access.founding-step form{display:none}
.founder-step{margin-top:14px;padding:18px;border-radius:16px;border:1px solid rgba(226,184,74,.45);background:linear-gradient(150deg,rgba(240,205,120,.14),rgba(160,110,30,.05));animation:rise .35s var(--ease)}
.founder-step h3{margin-top:10px;font-size:22px;font-weight:500;letter-spacing:-.03em;color:#fbf1d6}
.fs-lede{margin-top:6px;font-size:14px;color:#c9c0a4}
.founder-step .ft-steps{margin:14px 0}
.fs-actions{display:grid;gap:6px;justify-items:center;margin-top:16px}
.founder-step .btn-gold{background:linear-gradient(135deg,#fbf1d6,#ecd39a 45%,#d1ab5e);color:#2a1f08;border:0}
.btn-gold:hover{filter:brightness(1.05)}
.fs-actions .text-btn{color:#c9c0a4;font-size:14px;padding:8px}
.fs-actions .text-btn:hover{color:#fbf1d6}
.founder-step .ft-fine{text-align:center;margin-top:12px}

/* Menu icons, round two: Astro, Sonic Proof, Contact */
.mi-orbit .orb{fill:rgba(156,199,234,.14)}
.mi-orbit .ring{transform-box:fill-box;transform-origin:center;transform:rotate(-20deg)}
.menu-links a:hover .mi-orbit .float{animation:mi-bob 1.6s ease-in-out infinite}
.menu-links a:hover .mi-orbit .ring{animation:mi-tilt 1.6s ease-in-out infinite}
@keyframes mi-tilt{50%{transform:rotate(-8deg)}}
.mi-wave line{transform-box:fill-box;transform-origin:center}
.menu-links a:hover .mi-wave line{animation:mi-bar .8s ease-in-out infinite alternate;animation-delay:calc(var(--d) * -110ms)}
@keyframes mi-bar{from{transform:scaleY(.45)}to{transform:scaleY(1.15)}}
.mi-mail .trail{opacity:0}
.menu-links a:hover .mi-mail .env{animation:mi-send 1.6s var(--ease) infinite}
.menu-links a:hover .mi-mail .trail{animation:mi-trail 1.6s var(--ease) infinite}
@keyframes mi-send{0%,15%{transform:translateX(0);opacity:1}45%{transform:translateX(26px);opacity:0}46%{transform:translateX(-22px);opacity:0}75%,100%{transform:translateX(0);opacity:1}}
@keyframes mi-trail{0%,10%{opacity:0;transform:translateX(8px)}25%{opacity:1}45%,100%{opacity:0;transform:translateX(30px)}}
[data-roles="dialog"] .roles-label{justify-content:flex-start;gap:4px}
.id-card:not(.empty-name) .id-caret{opacity:0;animation:none}
.id-name-wrap:hover .id-caret{opacity:1}
.mi-box{overflow:hidden}

/* Sonic Proof: feature name left, the file on the right; reveal → credits → verified → stamp → share */
.proof .feature-word{color:#e6eef6;font-size:clamp(52px,min(6.2vw,11vh),100px);white-space:nowrap}
.proof .feature-line{color:#a8b6c6}
.proof .feature-text{color:#8e9cad}
.sp-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.sp-card{background:linear-gradient(160deg,rgba(32,40,52,.95),rgba(15,20,28,.96));border:1px solid rgba(255,255,255,.1);border-radius:20px;overflow:hidden;box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.sp-head{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.07)}
.sp-head .disc{width:42px;height:42px;flex:none;animation:spin 8s linear infinite;animation-play-state:paused}
.sp-card.open .sp-head .disc{animation-play-state:running}
.sp-head b{display:block;font-size:18px;font-weight:500;letter-spacing:-.02em;color:#eef3f8}
.sp-head small{display:block;margin-top:2px;font-size:12.5px;color:#93a6b9}
.sp-tag{margin-left:auto;font-size:11px;letter-spacing:.06em;padding:5px 10px;border-radius:99px;border:1px solid rgba(255,255,255,.14);color:#b6c3d0;white-space:nowrap;transition:color .3s,border-color .3s,background .3s}
.sp-card.open .sp-tag{color:#9fe0c0;border-color:rgba(127,208,168,.4);background:rgba(127,208,168,.08)}
.sp-card .file-stage{padding:26px 28px}
.sp-card .file-stage .wave{height:70px}
.sp-hint{padding:0 22px 18px;text-align:center;font-size:12.5px;color:#7f93a8;letter-spacing:.02em}
.sp-card.open .sp-hint{display:none}
.sp-body{padding:0 22px 20px}
.sp-credits li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid rgba(255,255,255,.06);opacity:0;transform:translateY(-10px)}
.sp-card.open .sp-credits li{animation:sp-in .5s var(--ease) both;animation-delay:calc(.75s + var(--k) * .12s)}
.sp-credits .avatar{width:34px;height:34px}
.sp-credits .who b{display:block;font-size:14.5px;font-weight:500;color:#eef3f8}
.sp-credits .who code{display:block;margin-top:1px;font-size:11px;letter-spacing:.08em;color:#8ea2b6}
.sp-credits .chips{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}
.sp-credits .chips span{font-size:11.5px;padding:4px 9px;border-radius:99px;border:1px solid rgba(255,255,255,.14);color:#c8d4e0;white-space:nowrap}
@keyframes sp-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
.sp-verify{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:6px;padding:14px 0;border-top:1px solid rgba(255,255,255,.08)}
.sp-verify ul{display:flex;gap:16px;flex-wrap:wrap}
.sp-verify li{display:flex;align-items:center;gap:7px;font-size:13px;color:#dce5ee;opacity:0}
.sp-verify li small{font-size:11px;color:#7f93a8}
.sp-verify i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;font-style:normal;font-size:10px;background:rgba(127,208,168,.16);color:#9fe0c0}
.sp-card.open .sp-verify li{animation:sp-tick .45s var(--ease) both;animation-delay:calc(1.4s + var(--k) * .2s)}
@keyframes sp-tick{from{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}
.sp-verify .stamp{opacity:0}
.sp-card.open .sp-verify .stamp{animation:sp-stamp .5s cubic-bezier(.3,1.6,.5,1) 2.1s both}
@keyframes sp-stamp{from{opacity:0;transform:scale(1.6) rotate(-8deg)}to{opacity:1;transform:none}}
.sp-share{display:flex;align-items:center;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);opacity:0}
.sp-card.open .sp-share{animation:sp-in .5s var(--ease) 2.4s both}
.sp-share span{margin-right:auto;font-size:12.5px;color:#93a6b9}
.sp-share button{padding:8px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#eef3f8;font-size:13px;transition:background .2s}
.sp-share button:hover{background:rgba(255,255,255,.14)}
.proof .fineprint{margin-top:clamp(36px,4vw,56px)}
@media (max-width:900px){
  .sp-grid{grid-template-columns:1fr}
  .sp-card .file-stage{padding:26px 16px}
  .sp-head,.sp-body{padding-left:16px;padding-right:16px}
  .sp-credits li{grid-template-columns:auto 1fr}
  .sp-credits .chips{grid-column:2;justify-content:flex-start}
  .sp-verify{flex-direction:column;align-items:flex-start}
  .sp-share button{padding:8px 12px}
}
@media (prefers-reduced-motion:reduce){.sp-card.open .sp-credits li,.sp-card.open .sp-verify li,.sp-card.open .sp-verify .stamp,.sp-card.open .sp-share{animation:none;opacity:1;transform:none}}

/* Caret sits before the name, like an empty field */
.id-caret{margin-left:0;margin-right:2px}
.id-name-mirror{left:auto}
/* Builder: one centred call to action under the cast */
.id-form{display:flex;justify-content:center;margin-top:10px}
.id-form .btn{height:50px;padding:0 28px}
/* A light sweep the moment you land on a gold one */
.id-card.founder.shine::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,250,230,.75) 48%,transparent 66%);background-size:250% 100%;animation:gold-shine 1.3s var(--ease) both}
@keyframes gold-shine{from{background-position:120% 0}to{background-position:-60% 0}}
.linklike{background:none;border:0;padding:0;color:#b7c2bc;font-size:12px}
.linklike:hover{color:#fff}
.sp-verify .stamp{white-space:nowrap}

/* Cookies: bounded mobile panel; desktop a full-width bar. */
.cookie{padding:10px 10px 10px 18px;font-size:14px}
.ck-btns button{height:36px;padding:0 16px;font-size:14px}
@media (max-width:820px){
  .cookie{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;gap:12px;padding:16px;border-radius:20px;max-height:calc(100dvh - 24px);overflow-y:auto}
  .cookie p{white-space:normal;line-height:1.4}
  .ck-btns{display:flex;flex-wrap:wrap;width:100%;gap:8px}
  .ck-btns button{flex:1 1 120px;min-width:0;min-height:44px;height:auto;padding:10px 12px;white-space:normal;line-height:1.3}
}
@media (max-width:520px){
  .ck-btns button{flex-basis:100px}
}
.ck-veil{position:fixed;inset:0;z-index:59;background:rgba(4,8,14,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fade-in .4s ease both}
.ck-veil[hidden]{display:none}
html.ck-gate,html.ck-gate body{overflow:hidden}
@keyframes fade-in{from{opacity:0}}
@media (min-width:821px){
  .cookie{left:0;right:0;bottom:0;justify-content:center;flex-wrap:wrap;gap:28px;padding:22px max(24px,calc((100vw - var(--max))/2 + var(--pad-x)));border-radius:0;border:0;border-top:1px solid rgba(255,255,255,.1);background:rgba(10,15,24,.97);font-size:17px;animation:ck-up .45s var(--ease) both}
  .cookie p{margin-right:auto;font-size:18px;letter-spacing:-.01em;color:#eef3f8}
  .cookie p a{font-size:15px}
  .ck-btns{gap:10px}
  .ck-btns button{height:48px;min-width:170px;padding:0 24px;font-size:15px}
}
@keyframes ck-up{from{transform:translateY(100%)}to{transform:none}}

/* Sonic Proof as the main chapter */
.sp-top{display:grid;gap:clamp(28px,3.4vw,48px)}
.sp-eyebrow{color:#8ea6c0;margin-bottom:14px}
.proof .feature-word{font-size:clamp(64px,min(10vw,17vh),164px);white-space:nowrap}
.proof .feature-line{font-size:clamp(24px,min(2.8vw,5vh),40px)}
.sp-shift{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(16px,3vw,48px);padding:clamp(22px,3vw,40px) clamp(22px,3.4vw,48px);border-radius:22px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035)}
.sp-shift p{display:grid;gap:6px}
.sp-shift small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7f93a8}
.sp-shift s,.sp-shift b{font-size:clamp(28px,4vw,60px);font-weight:450;letter-spacing:-.045em;line-height:1}
.sp-shift s{color:#6f8299;text-decoration-thickness:2px;text-decoration-color:rgba(160,180,200,.55)}
.sp-shift b{color:#f4f8fc}
.sp-shift span{font-size:clamp(13.5px,1.1vw,16px);line-height:1.4;color:#8ea2b6}
.sp-now span{color:#b9c9d9}
.sp-arrow{font-style:normal;font-size:clamp(26px,3vw,44px);color:#9cc7ea}
.proof .sp-card{margin-top:clamp(36px,4vw,56px)}
.sp-card .file-stage{padding:clamp(28px,3vw,44px) clamp(24px,3vw,44px)}
.sp-card .file-stage .wave{height:clamp(80px,8vw,120px)}
.sp-head{padding:20px clamp(20px,2.6vw,32px)}
.sp-head .disc{width:52px;height:52px}
.sp-head b{font-size:clamp(18px,1.6vw,22px)}
.sp-body{padding:0 clamp(20px,2.6vw,32px) 8px}
@media (min-width:901px){.sp-credits{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}}
.sp-credits li{padding:14px 0}
.sp-credits .avatar{width:40px;height:40px}
.sp-credits .who b{font-size:16px}
.sp-foot{display:flex;justify-content:space-between;gap:16px;padding:14px 0 16px;border-top:1px solid rgba(255,255,255,.08);font-size:12.5px;color:#7f93a8;opacity:0}
.sp-card.open .sp-foot{animation:sp-in .5s var(--ease) 1.4s both}
.sp-boxes{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px);margin-top:clamp(16px,2vw,24px)}
.sp-box{position:relative;padding:clamp(24px,2.8vw,40px);border-radius:20px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(160deg,rgba(32,40,52,.9),rgba(15,20,28,.92))}
.sp-box-k{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8ea6c0}
.sp-box h3{margin-top:10px;font-size:clamp(26px,2.6vw,38px);font-weight:450;letter-spacing:-.045em;line-height:1.05;color:#f2f6fa}
.sp-fmts{display:grid;gap:10px;margin-top:24px}
.sp-fmts button{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#eef3f8;text-align:left;transition:background .2s,border-color .2s}
.sp-fmts button:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3)}
.sp-fmts b{font-size:17px;font-weight:500}
.sp-fmts span{font-size:13px;color:#8ea2b6}
.sp-auth{display:grid;gap:14px;margin-top:24px}
.sp-auth li{display:grid;grid-template-columns:24px auto 1fr;align-items:baseline;column-gap:12px}
.sp-auth i{align-self:center;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-style:normal;font-size:11px;background:rgba(127,208,168,.16);color:#9fe0c0}
.sp-auth b{font-size:19px;font-weight:500;color:#f2f6fa;letter-spacing:-.02em}
.sp-auth span{font-size:13.5px;color:#8ea2b6}
.sp-box .stamp{margin-top:24px}
@media (max-width:900px){
  .sp-top,.sp-boxes{grid-template-columns:1fr}
  .proof .feature-word{font-size:clamp(56px,16vw,90px)}
  .sp-shift{grid-template-columns:1fr;gap:10px}
  .sp-arrow{transform:rotate(90deg);justify-self:start}
  .sp-auth li{grid-template-columns:24px 1fr}
  .sp-auth span{grid-column:2}
  .sp-fmts button{flex-direction:column;align-items:flex-start;gap:4px}
  .sp-foot{flex-direction:column;gap:4px}
}
@media (max-width:700px){.sp-card .wave i:nth-child(2n){display:none}.sp-card .wave{gap:3px}}

/* One size for every feature name; the hero leads */
:root{--fw:clamp(56px,min(7.6vw,13vh),112px)}
.feature-word,.sac-word,.companion-title,.astro-word,.proof .feature-word,.schedule .feature-word,.profiles .feature-word,.branches .feature-word{font-size:var(--fw)}
.hero h1{font-size:clamp(42px,min(5vw,9vh),80px)}
@media (min-width:901px){.hero{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:32px}}

/* Sonic Proof: the shift, more compact */
.sp-shift{padding:clamp(18px,2vw,26px) clamp(20px,2.6vw,36px);gap:clamp(14px,2.4vw,36px)}
.sp-shift s,.sp-shift b{font-size:clamp(26px,3vw,44px)}
.sp-shift span{font-size:clamp(13px,1vw,15px)}
.sp-arrow{font-size:clamp(22px,2.2vw,32px)}
@media (max-width:900px){
  .sp-shift{grid-template-columns:auto auto 1fr;align-items:center;gap:14px;padding:16px 18px}
  .sp-shift small,.sp-shift span{display:none}
  .sp-shift s,.sp-shift b{font-size:26px}
  .sp-arrow{transform:none;font-size:22px}
}
.sp-std-k{margin-top:22px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7f93a8}
.sp-std{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sp-std li{font-size:12px;letter-spacing:.04em;padding:6px 11px;border-radius:99px;border:1px solid rgba(255,255,255,.14);color:#c5d1dd}

/* A soft glow on the one button we want pressed */
.btn.glow{position:relative;box-shadow:0 0 0 0 rgba(176,208,240,.0),0 10px 30px -8px rgba(156,199,234,.55);animation:cta-glow 2.8s ease-in-out infinite}
@keyframes cta-glow{50%{box-shadow:0 0 0 6px rgba(176,208,240,.12),0 12px 40px -6px rgba(156,199,234,.75)}}
@media (prefers-reduced-motion:reduce){.btn.glow{animation:none}}

/* Profiles: a small share icon instead of a fake button; tabs centred on phones */
.pf-share-ico{display:grid;place-items:center;width:34px;height:34px;margin-left:8px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#dce5ee;transition:background .2s}
.pf-share-ico:hover{background:rgba(255,255,255,.14)}
.pf-share-ico svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){.prof-seg{display:flex;width:100%;justify-content:center}}
.pf-share-ico{margin-bottom:5px}

/* Sonic Proof, tighter: title + shift on the left, the file on the right, boxes below */
.sp-main{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:center}
.sp-main .sp-top{gap:clamp(22px,2.6vw,36px)}
.proof .sp-main .sp-card{margin-top:0}
.sp-main .sp-shift{padding:clamp(16px,1.6vw,22px) clamp(18px,2vw,26px)}
.sp-main .sp-shift s,.sp-main .sp-shift b{font-size:clamp(24px,2.3vw,36px)}
.sp-main .sp-credits{display:block}
.sp-main .sp-card .file-stage{padding:26px 28px}
.sp-main .sp-card .file-stage .wave{height:84px}
.sp-boxes{margin-top:clamp(20px,2.4vw,32px)}
.sp-box h3{font-size:clamp(24px,2.1vw,32px)}
@media (min-width:1101px){
  .sp-fmts{grid-template-columns:repeat(3,1fr)}
  .sp-fmts button{flex-direction:column;align-items:flex-start;gap:6px;padding:16px}
}
@media (max-width:900px){.sp-main{grid-template-columns:1fr}}
.companion{overflow-x:clip}
/* Wider canvas: cards grow with it */
@media (min-width:1101px){
  .profile-card{max-width:500px;justify-self:end}
  .profile-card .pf-name{font-size:30px}
  .session-sheet{max-width:640px;justify-self:end;width:100%}
}
.mini-head .mini-lede{max-width:none}

/* Laptop scale: one screen per chapter on a MacBook, roomy on big screens */
:root{--fw:clamp(52px,min(6.4vw,11vh),112px);--section-y:clamp(48px,min(6vw,8vh),104px)}
.hero h1{font-size:clamp(40px,min(4.6vw,8.4vh),80px)}
.hero{min-height:min(74vh,720px)}
@media (min-width:901px){.hero-stage{padding:30px clamp(24px,3.5vw,64px) 40px clamp(8px,2vw,40px)}}
.film-frame{max-width:min(100%,calc((100vh - 220px) * 16 / 9))}
.brand{width:150px}
.brand-word{height:22px}
.brand-mark{height:34px}
@media (max-width:600px){.brand{width:112px}.brand-word{height:16px}}

/* Sonic Proof: stacked again, less text, tighter */
.proof .sp-card{margin-top:clamp(22px,2.6vw,36px)}
.sp-boxes{grid-template-columns:1fr 1fr;margin-top:clamp(14px,1.6vw,20px)}
.sp-box{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;padding:clamp(18px,2vw,26px) clamp(20px,2.4vw,30px)}
.sp-box-k{width:100%}
.sp-fmts{display:flex;gap:8px;margin:0}
.sp-fmts button{display:inline-flex;flex-direction:row;align-items:center;padding:10px 18px;border-radius:99px;font-size:15px;font-weight:500}
.sp-std{margin:0 0 0 auto}
.sp-auth{display:flex;flex-wrap:wrap;gap:18px;margin:0}
.sp-auth li{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:500;color:#f2f6fa}
.sp-box .stamp{margin:0 0 0 auto}
@media (max-width:700px){.sp-std,.sp-box .stamp{margin-left:0}}

/* Mini Astros: lighter heading */
.mini-head .mini-lede{font-size:clamp(16px,1.25vw,19px);letter-spacing:-.01em;color:#a9b8c7;margin-top:10px}
.mini-head .founding{margin-bottom:12px}
@media (min-width:1101px){
  .sp-top{grid-template-columns:auto minmax(0,1fr);align-items:end;column-gap:clamp(32px,4vw,72px)}
  .sp-top .sp-shift{margin-bottom:6px}
}
.sp-card .file-stage{padding:clamp(18px,2vw,28px) clamp(20px,2.4vw,36px)}
.sp-card .file-stage .wave{height:clamp(60px,6vw,90px)}
@media (max-width:900px){.sp-boxes{grid-template-columns:minmax(0,1fr)}.sp-auth{gap:12px}.sp-auth li{font-size:15px}}
@media (max-width:900px){.sp-shift{min-width:0}.sp-shift s,.sp-shift b,.sp-main .sp-shift s,.sp-main .sp-shift b{font-size:22px}}

/* Symmetry pass */
:root{--stage-w:min(1360px,calc((100vh - 200px) * 16 / 9))}
@media (min-width:901px){
  .hero{max-width:calc(var(--stage-w) + 2 * var(--pad-x))}
  .film-frame{max-width:var(--stage-w)}
}
.menu-toggle{margin-right:-10px}
.menu-toggle span:nth-child(1){top:15.75px}.menu-toggle span:nth-child(2){top:22.75px}
.sp-shift p{justify-items:center;text-align:center}

/* Footer: links in the dark centre, the horse keeps the right */
.footer-art{mask-image:linear-gradient(90deg,transparent 48%,#000 85%);-webkit-mask-image:linear-gradient(90deg,transparent 48%,#000 85%)}
@media (min-width:801px){
  .footer-inner{grid-template-columns:minmax(0,1fr) auto minmax(0,1.1fr)}
  .footer-cols{grid-column:2;column-gap:56px}
  .legal{grid-column:1/-1}
}
@media (max-width:800px){
  .footer-inner{gap:28px;padding-top:44px}
  .footer-mark{width:150px}
  .footer-brand p{margin-top:8px;font-size:14px}
  .footer-access{margin-top:16px;font-size:14px}
  .footer-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .footer-cols div:last-child{grid-column:auto;display:grid;grid-template-columns:1fr}
  .footer-cols div:last-child p{grid-column:auto}
  .footer-cols div{gap:9px}
  .footer-cols p{font-size:10px}
  .footer-cols a,.footer-cols .linklike{font-size:13px}
  .legal{font-size:11px}
}
@media (max-width:600px){
  .founding{font-size:9.5px;letter-spacing:.03em;white-space:nowrap}
  .feature-line{text-wrap:balance}
}
@media (max-width:420px){.fl-long{display:none}}

/* v20: a calmer canvas — wide, but not wall to wall */
:root{--max:1400px;--pad-x:clamp(20px,4.6vw,72px)}

/* Hero: no box edge; text lines up with the film, cards take the right */
.hero{position:relative;background:none;max-width:calc(var(--max) + 2 * var(--pad-x))}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(50% 60% at 72% 42%,rgba(23,31,53,.55),transparent 70%)}
.film-frame{border-color:rgba(255,255,255,.05);box-shadow:0 50px 110px -50px rgba(0,0,0,.9)}
@media (min-width:901px){
  .hero{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:24px}
  .hero-copy{padding-left:max(0px,calc((min(100vw,var(--max) + 2 * var(--pad-x)) - 2 * var(--pad-x) - var(--stage-w)) / 2))}
  .deck{max-width:780px;width:100%}
  .hero-card h2{font-size:clamp(32px,3.2vw,46px)}
  .hero-stage{padding:30px 0 40px}
}

/* Beacon on phone: QR centred, caption under it */
@media (max-width:900px){
  .qr{flex-direction:column;justify-content:center;gap:8px;text-align:center;width:100%}
  .qr img{width:140px;height:140px}
}

/* Sonic Proof, softer */
.sp-shift{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.07)}
.sp-shift s,.sp-shift b,.sp-main .sp-shift s,.sp-main .sp-shift b{font-size:clamp(24px,2.4vw,36px)}
.sp-box{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.07)}
.sp-card{background:linear-gradient(160deg,rgba(28,36,48,.7),rgba(15,20,28,.75));border-color:rgba(255,255,255,.08);box-shadow:0 30px 70px -40px rgba(0,0,0,.6)}
.sp-fmts button{font-size:14px;padding:9px 16px}
.sp-auth li{font-size:15px}
@media (min-width:901px){
  .hero{grid-template-columns:auto minmax(0,1fr);gap:clamp(32px,4vw,72px)}
  .deck{max-width:700px;margin-left:auto}
}
@media (min-width:1101px){.comp-head{padding-left:clamp(0px,4vw,72px)}}

.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

@media (max-width:900px){
  .hero h1{font-size:clamp(34px,10.4vw,60px);line-height:1.04}
  .hero h1 b,.hero h1 span{white-space:nowrap}
  .hero-actions{flex-wrap:nowrap;gap:18px}
  .hero-actions .btn{padding-left:18px;padding-right:18px;white-space:nowrap}
  .hero-actions .link-cta{white-space:nowrap;font-size:15px}
  .hero-sub{margin-top:20px;font-size:17px;color:#c3c9d4}
  .hero-for{font-size:17px}
  .hero-actions{margin-top:28px}
}

/* Sonic Proof: a beam passes over Informative, swooshes across, and switches Authoritative on */
.sp-shift{position:relative;overflow:hidden}
.sp-shift::after{content:"";position:absolute;top:0;bottom:0;left:0;width:22%;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,rgba(156,199,234,.16) 45%,rgba(220,236,250,.32) 50%,rgba(156,199,234,.16) 55%,transparent);filter:blur(2px)}
.sp-shift.is-on::after{animation:sp-beam 7s var(--ease) infinite}
.sp-shift.is-on .sp-was s{animation:sp-strike 7s ease infinite}
.sp-shift.is-on .sp-was{animation:sp-off 7s ease infinite}
.sp-shift.is-on .sp-now{animation:sp-on 7s ease infinite}
.sp-shift.is-on .sp-now b{animation:sp-glow 7s ease infinite}
.sp-shift.is-on .sp-arrow{animation:sp-arrow 7s var(--ease) infinite}
@keyframes sp-beam{0%,6%{left:-22%;opacity:0}10%{opacity:1}22%{left:16%}40%{left:62%;opacity:1}52%,100%{left:105%;opacity:0}}
@keyframes sp-strike{0%,18%{text-decoration-color:transparent;color:#c9d4df}30%,88%{text-decoration-color:rgba(160,180,200,.6);color:#6f8299}100%{text-decoration-color:transparent;color:#c9d4df}}
@keyframes sp-off{0%,18%{opacity:1}30%,88%{opacity:.75}100%{opacity:1}}
@keyframes sp-on{0%,30%{opacity:.35}44%,90%{opacity:1}100%{opacity:.35}}
@keyframes sp-glow{0%,36%{text-shadow:none}44%{text-shadow:0 0 28px rgba(156,199,234,.9),0 0 2px #fff}60%,90%{text-shadow:0 0 18px rgba(156,199,234,.35)}100%{text-shadow:none}}
@keyframes sp-arrow{0%,26%{transform:none;opacity:.5}36%{transform:translateX(10px);opacity:1;color:#dcecfa}46%,100%{transform:none;opacity:.8}}
@media (max-width:900px){@keyframes sp-arrow{0%,26%{transform:none;opacity:.5}36%{transform:translateX(6px);opacity:1}46%,100%{transform:none;opacity:.8}}}
@media (prefers-reduced-motion:reduce){.sp-shift.is-on *,.sp-shift.is-on::after{animation:none!important}}

/* Hero v22: Every <role> / on the record */
.hero h1 .rot{position:relative;display:inline-block;vertical-align:top;height:1.16em;margin-bottom:-.1em;overflow:hidden;transition:width .6s var(--ease)}
.hero-sub{margin-top:22px;font-size:clamp(18px,1.6vw,24px);letter-spacing:-.02em;color:#c3c9d4}
.hero-for{margin-top:10px;font-size:14px;color:#7c8394}
@media (min-width:901px){
  .hero{grid-template-columns:minmax(0,1fr) auto}
  .deck{width:clamp(380px,42vw,640px);max-width:none}
  .hero-card h2{font-size:clamp(28px,2.6vw,40px)}
}
@media (max-width:900px){
  .hero-sub{font-size:18px}
  .hero-for{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.hero h1 .rot i{transition:none}}

/* Profiles: founders wear it */
.pf-founder{align-self:center}

/* Beacon & Schedule, a touch smaller */
@media (min-width:1101px){
  .session-sheet{max-width:560px}
  .invite-card{max-width:560px;width:100%;justify-self:start}
}
.hero-for,.hero-sub{text-wrap:balance}

@media (min-width:901px){
  .hero{grid-template-columns:minmax(0,600px) auto;justify-content:center;gap:clamp(40px,5vw,104px)}
  .deck{margin-left:0}
}
/* Beacon & Schedule: text and card closer together */
@media (min-width:1101px){
  .beacon .two-col,.schedule .two-col,.profiles .two-col{grid-template-columns:minmax(0,520px) minmax(0,560px);justify-content:center;gap:clamp(56px,6vw,112px)}
  .schedule .invite-card{justify-self:end}
  .beacon .session-sheet{justify-self:start}
}
/* SAC stands taller */
.sac-word{font-size:calc(var(--fw) * 1.4)}
/* Founders: a gold name instead of a badge */
.gold-name{background:linear-gradient(100deg,#f6e2a6 0%,#e2b84a 45%,#b98a2e 70%,#f3d98c 100%);-webkit-background-clip:text;background-clip:text;color:transparent!important;-webkit-text-fill-color:transparent}
.pass .gold-name{background:linear-gradient(100deg,#a8782a,#d4a443 50%,#8f6420);-webkit-background-clip:text;background-clip:text}
@media (min-width:1101px){.profiles .profile-card{justify-self:start}}

/* Hero v24: white word, a clean slide up; second line a step smaller */
.hero h1 .rot{height:1.18em;margin-bottom:-.12em}
.hero h1 .rot i{position:absolute;left:0;top:0;font-style:normal;white-space:nowrap;color:#f2f3ef;transition:transform .7s var(--ease),opacity .5s ease}
.hero h1 .rot i.in{transform:translateY(105%);opacity:0}
.hero h1 .rot i.out{transform:translateY(-105%);opacity:0}
.hero h1>span{font-size:.8em;margin-top:.06em}
.hero-for{margin-top:22px;font-size:clamp(16px,1.3vw,19px);color:#a8afbe}
@media (prefers-reduced-motion:reduce){.hero h1 .rot i{transition:none}}

/* The promise, under the film */
.film-line{margin-top:clamp(22px,2.6vw,36px);text-align:center;font-size:clamp(22px,2.4vw,36px);font-weight:450;letter-spacing:-.035em;color:#c3c9d4}

/* Beacon: card left, words right. Schedule: words left, card right */
@media (min-width:1101px){
  .beacon .two-col{grid-template-columns:minmax(0,560px) minmax(0,520px)}
  .beacon .two-col>.copy{order:2}
  .beacon .session-sheet{justify-self:end}
  .schedule .two-col{grid-template-columns:minmax(0,520px) minmax(0,560px)}
  .schedule .two-col>.copy{order:-1}
  .schedule .invite-card{justify-self:start}
}

/* Header symbol sits centred in the logo's place */
@media (min-width:901px){.hero-copy{width:min(560px,100%)}.hero-for{white-space:nowrap}}

/* Film: brighter start line under the promise, and a draggable timeline */
.film-line{color:#f2f3ef}
.film-time{position:absolute;left:0;right:0;bottom:0;width:100%;height:14px;margin:0;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;z-index:2;--p:0%}
.film-time::-webkit-slider-runnable-track{height:3px;background:linear-gradient(90deg,#e6eef6 var(--p),rgba(255,255,255,.18) var(--p))}
.film-time::-moz-range-track{height:3px;background:rgba(255,255,255,.18)}
.film-time::-moz-range-progress{height:3px;background:#e6eef6}
.film-time::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-4.5px;border-radius:50%;background:#fff;opacity:0;transition:opacity .2s}
.film-time::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:#fff;opacity:0}
.film-frame:hover .film-time::-webkit-slider-thumb,.film-time:focus-visible::-webkit-slider-thumb{opacity:1}
.film-frame:hover .film-time::-moz-range-thumb{opacity:1}
.film-frame:hover .film-time::-webkit-slider-runnable-track{height:5px}
.film-ctrls{bottom:22px}

/* Film controls v26: timeline only while hovering, no focus ring, own icons */
.film-time{opacity:0;transition:opacity .15s ease;outline:none}
.film-time:focus,.film-time:focus-visible{outline:none;box-shadow:none}
.film-frame:hover .film-time{opacity:1}
@media (hover:none){.film-time{opacity:.85}}
.film-ctrls{opacity:.0;transition:opacity .2s ease}
.film-frame:hover .film-ctrls,.film-ctrls:focus-within{opacity:1}
@media (hover:none){.film-ctrls{opacity:1}}
.fbtn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 11px;border-radius:99px;border:1px solid rgba(255,255,255,.16);background:rgba(10,14,20,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#e6eef6;font-size:13px;letter-spacing:-.005em}
.fbtn.icon{width:36px;padding:0;justify-content:center}
.fbtn:hover{background:rgba(30,40,54,.75);border-color:rgba(255,255,255,.28)}
.fbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.fbtn .spk{fill:currentColor;stroke:none;opacity:.9}
.fbtn .on{display:none}
.fbtn[aria-pressed=true] .on{display:inline}.fbtn[aria-pressed=true] .off{display:none}
.fbtn[aria-pressed=true] .on path{animation:snd-wave 1.4s ease-in-out infinite}
.fbtn[aria-pressed=true] .on path:last-child{animation-delay:.2s}
@keyframes snd-wave{50%{opacity:.35}}
.fbtn:focus-visible{outline:2px solid rgba(156,199,234,.6);outline-offset:2px}

/* Beacon & Schedule: title lines up with the top of the card */
@media (min-width:1101px){.beacon .two-col,.schedule .two-col{align-items:start}.beacon .copy,.schedule .copy{padding-top:clamp(8px,1.4vw,24px)}}

/* Header: logo sits a little in from the content edge */
@media (min-width:901px){.brand{margin-left:clamp(12px,3vw,48px)}}
@media (max-width:900px){.brand{margin-left:6px}}

/* Film v28: timeline along the top edge, skip bubbles */
.film-time{top:-5px;bottom:auto}
.film-ctrls{bottom:16px}
.film-skip{position:absolute;top:50%;z-index:2;padding:10px 16px;border-radius:99px;background:rgba(10,14,20,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#eef3f8;font-size:15px;font-weight:500;opacity:0;transform:translateY(-50%) scale(.9);transition:opacity .2s,transform .2s;pointer-events:none}
.film-skip.left{left:12%}.film-skip.right{right:12%}
.film-skip.on{opacity:1;transform:translateY(-50%) scale(1)}

/* How it works: three small steps under Beacon and Schedule (desktop only) */
.how{display:flex;gap:clamp(14px,2vw,28px);margin-top:clamp(28px,3vw,44px);padding-top:clamp(20px,2vw,28px);border-top:1px solid rgba(34,54,79,.12);counter-reset:how}
.how li{flex:1;display:grid;gap:10px;align-content:start;font-size:14px;line-height:1.35;color:#3d4f66;counter-increment:how}
.how i{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.95);box-shadow:0 8px 20px -12px rgba(24,40,60,.4)}
.how svg{width:22px;height:22px;fill:none;stroke:#22364f;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.how span::before{content:counter(how) "  ";color:#8a9bb0;font-variant-numeric:tabular-nums}
@media (max-width:1100px){.how{display:none}}
.sheet td:nth-child(2),.sheet td:last-child{white-space:nowrap}.sheet td:last-child{color:#9fe0c0}

/* How it works v29: no rule, no numbers, centred icon + label; on phone it replaces the paragraph */
.how{border-top:0;padding-top:0;margin-top:clamp(28px,3vw,40px);display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,24px)}
.how li{justify-items:center;text-align:center;gap:12px}
.how span::before{content:none}
.how span{font-size:14px;color:#3d4f66;max-width:12em}
@media (max-width:1100px){.how{display:grid}}
@media (max-width:900px){
  .beacon .feature-text,.schedule .feature-text{display:none}
  .how{margin-top:22px;gap:8px}
  .how i{width:48px;height:48px}
  .how span{font-size:13px}
}

/* Film v29: timeline back at the bottom, inside the frame, controls sit above it */
.film-time{top:auto;bottom:6px;left:16px;right:16px;width:calc(100% - 32px)}
.film-ctrls{bottom:26px}
.film-frame::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:linear-gradient(transparent,rgba(0,0,0,.55));opacity:0;transition:opacity .2s;z-index:1}
.film-frame:hover::after{opacity:1}
.film-ctrls,.film-time{z-index:2}
.film-time,.film-time:hover,.film-time:focus{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;height:16px}.film-ctrls{bottom:30px}

/* Launch polish: stable alignment and compact phone demos. */
.site-header{gap:20px}
.brand,.header-actions{flex-shrink:0}
.header-actions .btn{align-items:center;gap:8px}
.header-astro{width:26px;height:26px;flex:none}
.how{grid-template-columns:repeat(3,minmax(0,1fr))}
.how li{min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(38px,auto);align-items:start;justify-items:center}
.how i{align-self:center}
.how span{display:block;width:100%;max-width:none;min-width:0;text-align:center;line-height:1.35}
.sp-shift{grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);gap:8px}
.sp-arrow{justify-self:center;align-self:center;text-align:center;animation:none!important}
.rec-out{min-width:0;width:100%;overscroll-behavior:contain}
.rec-out pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;tab-size:2}
.rec-tabs{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.rec-tabs button{min-width:0;padding:10px 6px}
.record-dlg{overscroll-behavior:contain}
@media(max-width:700px){
  .site-header{gap:10px}
  .header-actions{gap:8px}
  .site-header .btn{padding:0 12px;height:36px}
  .header-astro{width:24px;height:24px}
  .site-header{backdrop-filter:none;-webkit-backdrop-filter:none}
  .beacon,.schedule,.contact{padding-top:44px;padding-bottom:44px}
  .beacon .two-col,.schedule .two-col{gap:24px}
  .how{margin-top:20px;gap:8px}
  .how li{grid-template-rows:44px 36px;gap:8px}
  .how i{width:44px;height:44px}
  .how span{font-size:12px}
  .sheet-body{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:16px}
  .qr img{width:88px;height:88px;border-radius:8px}
  .qr figcaption{font-size:10px;margin-top:8px}
  .roster{gap:6px}
  .roster li{padding:6px;gap:6px;grid-template-columns:26px minmax(0,1fr) 16px;opacity:1;transform:none}
  .roster.out li{opacity:1;transform:none}
  .roster .avatar{width:26px;height:32px}
  .roster .who{min-width:0}
  .roster .who b{font-size:12px}
  .roster .who small{font-size:10px}
  .roster code{display:none}
  .roster .tick{width:16px;height:16px;transform:none}
  .roster .tick::after{left:5px;top:3px;width:4px;height:7px}
  .session-sheet header,.session-sheet footer{padding:14px 16px}
  .invitees li{padding:5px 0;gap:8px;opacity:1;filter:none}
  .invitees .avatar{width:28px;height:34px}
  .pbox{min-width:0;padding:6px;gap:5px;font-size:10px}
  .pbox .avatar{display:grid;flex:none;width:24px;height:30px}
  .pbox small{font-size:8px;letter-spacing:.02em}
  .map-stage{max-height:360px}
  .sp-shift s,.sp-shift b,.sp-main .sp-shift s,.sp-main .sp-shift b{font-size:clamp(16px,4.5vw,22px)}
  .sp-shift{padding:16px 12px}
  .sp-shift.is-on::after,.sp-shift.is-on .sp-was,.sp-shift.is-on .sp-now,.sp-shift.is-on b,.sp-shift.is-on s{animation:none}
  .graph-card{margin-top:24px;grid-template-columns:minmax(0,1fr)}
  .graph-scroll{padding:32px 28px 48px;overflow-x:auto;overscroll-behavior-x:contain}
  .graph{display:block;width:600px;height:180px;aspect-ratio:1000/300}
  .graph-m{display:none}
  .nodes{inset:32px auto auto 28px;width:600px;height:180px;aspect-ratio:1000/300}
  .node{left:var(--x);top:var(--y);min-width:44px;min-height:44px;place-content:center;justify-items:center}
  .node span,.node small{left:50%;transform:translateX(-50%);text-align:center;bottom:auto}
  .node span{top:calc(100% - 5px);font-size:12px}
  .node small{top:calc(100% + 12px);font-size:10px}
  .node.up span{top:auto;bottom:calc(100% + 12px)}
  .node.up small{top:auto;bottom:calc(100% - 4px)}
  .node.ship span{top:calc(100% - 5px)}
  .node.ship small{top:calc(100% + 12px)}
  .legend{left:24px;bottom:14px;font-size:10px;gap:14px}
  .node-detail{padding:18px;border-left:0;border-top:1px solid rgba(255,255,255,.1);min-height:200px}
  .node-detail dl{grid-template-columns:1fr 1fr;gap:12px}
  .node-detail dl div{display:block}
  .node-detail h3{font-size:20px}
  .people{margin-top:10px}
  .rec-out pre{padding:14px;font-size:11px;line-height:1.6}
  .record-dlg{padding:20px 16px}
  .rec-tabs{margin-top:18px}
  .rec-tabs button{font-size:11px}
  .contact-grid{gap:30px}
  .faq details{padding-top:12px;padding-bottom:12px}
  .contact .display{font-size:clamp(36px,9vw,48px)}
  .stage-astro{transition:none}
  [data-reveal]{transition:opacity .2s;transform:none}
}

.faq-more-btn{background:none;border:0;padding:14px 0;color:#3d4f66;font-size:14px;text-align:left}
@media(max-width:700px){
 .graph{max-width:none}
 .companion-title{font-size:var(--fw)}
 .comp{height:510px;filter:none}
 .stage-astro svg{filter:none}
 .brand{width:104px}
 .btn-astro{line-height:1}
}

.sp-demo-note{margin:10px 0;color:#a9b8c7;font-size:12px}
@media(max-width:700px){.node-detail .people span{font-size:10px}.node-detail .people .avatar{width:18px;height:22px}.node-detail .people{gap:4px}.node-detail{min-height:0}.node-detail dl{margin-top:12px}.graph-scroll{min-height:270px}}

.graph-hint{display:none}
@media(max-width:700px){.graph-hint{display:block;margin-top:18px;color:#8fa3b8;font-size:12px}.graph-card{margin-top:12px}}
@media(max-width:700px){
 .hero h1{font-size:clamp(32px,9.5vw,44px)}
 .hero h1 .rot{transition:none}
 .id-wrap,.id-card,.id-bio,.id-stage,.id-form{min-width:0;max-width:100%}
 .id-card{grid-template-columns:minmax(0,1fr)}
 .id-name{min-width:0;width:100%}
 .sp-card{min-width:0;overflow:hidden}
 .sp-card .file-stage .wave{max-width:100%;overflow:hidden}
}
@media(max-width:700px){
 .hero{grid-template-columns:minmax(0,1fr)}
 .hero-copy{min-width:0}
 .hero-actions{flex-wrap:wrap;gap:14px}
}
@media(max-width:360px){
 .brand{width:72px}
 .brand-word{width:72px;height:auto}
 .header-actions{gap:4px}
 .site-header .btn{font-size:12px;padding:0 10px}
 .menu-toggle{width:32px}
 .header-astro{width:20px;height:20px}
}

/* Phone review: clear hierarchy, quieter demos, completed signup state. */
.site-header{background:#090c11;backdrop-filter:none;-webkit-backdrop-filter:none}
.hero-beta{margin-top:12px;font-size:12px;letter-spacing:.03em;color:#8fa3b8}
.switch{position:relative;min-width:0}
.switch>span{flex:0 0 38px;width:38px;min-width:38px}
.switch input:checked+span::after{transform:translateX(16px)}
.switch>b{min-width:0;font-weight:400;line-height:1.5}
.mini-pass{position:relative;top:auto;z-index:auto}
.access-success{padding:22px 0 6px;text-align:center;outline:none}
.access-success .success-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin:0 auto 24px;background:#c4d6ea;color:#17263b;font-size:30px}
.access-success .eyebrow{color:#9cc7ea;margin-bottom:12px}
.access-success h2{font-size:clamp(32px,7vw,44px);line-height:1.1;margin-bottom:16px}
.access-success p{max-width:420px;margin:12px auto;line-height:1.6;color:#b3c2d3}
.access-success .success-lede{font-size:18px;color:#eff4fa}
.access-success .success-note{font-size:13px;color:#8fa3b8;margin-bottom:28px}
.access.complete .access-head,.access.complete .mini-pass,.access.complete .dlg-cast,.access.complete [data-form=access],.access.complete .founder-step{display:none}
.cast button,.dlg-cast button,.roles-field button{touch-action:manipulation}
.cast img,.dlg-cast img,.header-astro img,.avatar img{filter:none}
@media(max-width:700px){
 .hero h1>span{font-size:.92em}
 .hero-for{font-size:16px;line-height:1.5;margin-top:20px}
 .hero-copy{padding-bottom:8px}
 .hero-card .credits li{min-width:0}
 .hero-card .credits li small{white-space:normal;line-height:1.3}
 .hero-card .credits{gap:8px}
 .hero-card .wave{margin-top:20px;margin-bottom:16px}
 .feature-word,.companion .companion-title,.astro-word{font-size:clamp(42px,12vw,56px);line-height:1;letter-spacing:-.055em}
 .how{margin-top:18px;gap:4px;border-top:1px solid rgba(34,54,79,.12);padding-top:12px}
 .how li{display:block;position:relative;padding:0 4px}
 .how i{display:none}
 .how span{font-size:11px;line-height:1.4}
 .week{padding:10px 12px;gap:2px}
 .week>span{padding:8px 3px}
 .event{margin:12px 14px;padding:10px 12px;gap:10px}
 .invitees{padding:0 16px 8px}
 .invitees li{padding:5px 0;gap:8px}
 .invitees li b{font-size:12px}
 .invitees li small{font-size:10px}
 .invitees .rsvp{font-size:10px;padding:4px 8px}
 .invite-card footer{padding:10px 16px}
 .globe .spin{animation:none}
 .core{box-shadow:none}
 .map-stage{max-height:none;aspect-ratio:1;}
 .graph-scroll{overflow:hidden;min-height:0;height:240px;padding:28px 20px 52px}
 .graph{width:100%;height:160px;aspect-ratio:auto}
 .graph .edge.ship{stroke-dashoffset:0;animation:none!important}
 .nodes{inset:28px 20px auto;width:auto;height:160px;aspect-ratio:auto}
 .node span,.node.up span,.node.ship span{font-size:11px;white-space:normal;width:64px;max-width:18vw;line-height:1.15}
 .node small,.node.up small,.node.ship small{display:none}
 .node.up span{bottom:calc(100% + 3px)}
 .node span,.node.ship span{top:calc(100% - 3px)}
 .node .pip{width:14px;height:14px}
 .node.ship .pip{width:18px;height:18px}
 .legend{left:18px;right:12px;bottom:14px;gap:12px;font-size:9px}
 .graph-hint{font-size:12px}
 .sp-shift{padding:16px 10px;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);gap:4px}
 .sp-shift p{min-width:0;gap:8px}
 .sp-shift small,.sp-shift span{display:block}
 .sp-shift small{font-size:8px;letter-spacing:.09em}
 .sp-shift span{font-size:10px;line-height:1.45;max-width:14em}
 .sp-shift s,.sp-shift b,.sp-main .sp-shift s,.sp-main .sp-shift b{font-size:clamp(17px,4.6vw,22px);white-space:nowrap}
 .sp-arrow{font-size:20px}
 .contact-side,.faq-side{min-width:0}
 .contact-grid{gap:40px}
 .mini-pass{margin-top:16px}
 .mini-pass .mp-text{min-width:0}
 .mini-pass .mp-text b{overflow-wrap:anywhere}
 .mini-pass .mp-sac{flex-wrap:wrap}
 .dlg-cast img{width:100%;height:100%;object-fit:contain}
 .stage-astro svg *,.comp svg.mini-astro *{animation-play-state:paused!important}
 .stage-astro svg.play *,.comp svg.mini-astro.play *{animation-play-state:running!important}
 .stage-astro svg{filter:none}
 .id-card.shine::after{animation:none}
 .switch>span{align-self:center}
 .access-success{padding-top:24px}
}

@media(max-width:700px){
 .hero-card .credits{grid-template-columns:minmax(0,1fr);gap:9px}
 .hero-card .credits li:nth-child(2),.hero-card .credits li:nth-child(3){display:flex}
 .hero-card .credits .avatar{width:26px;height:30px;flex:none}
 .hero-card .credits li b{font-size:11px}
 .hero-card .credits li small{font-size:10px;display:block;overflow:visible;text-overflow:clip}
 .hero-card .credits li code{font-size:9px;margin-top:3px}
 .roles-field button{transition:none}
 .node-detail{padding:16px}
}

@media(max-width:700px){
 .hero h1{font-size:clamp(32px,10.4vw,44px)}
 .invite-card .week{padding:8px 10px}
 .invite-card .week span{padding:6px 2px;font-size:13px;gap:3px}
 .invite-card .week small{font-size:8px}
 .invite-card .event{margin:10px 12px;padding:8px 10px}
 .invite-card .event small,.invite-card .ev-host{font-size:10px}
 .invite-card .event b{font-size:13px;line-height:1.4;margin:3px 0}
 .invite-card .invitees{padding:0 14px 8px;gap:0}
 .invite-card .invitees li{min-height:0;padding:4px 0}
 .invite-card .invitees b{font-size:12px;line-height:1.35}
 .invite-card .invitees small{font-size:10px;line-height:1.3}
 .invite-card .invitees .avatar{height:30px}
 .invite-card footer{flex-wrap:nowrap;gap:4px;padding:10px 12px}
 .invite-card .sync{font-size:9px;padding:4px 6px;gap:4px}
 .invite-card .cal-ico{width:11px;height:11px}
 .invite-card .inv-count{font-size:9px;max-width:100px;line-height:1.35;margin-left:auto;text-align:right}
}

/* Review: instructions belong inside the demo, not floating below the copy. */
@media(min-width:901px){.site-header{padding-left:clamp(36px,5vw,100px);padding-right:clamp(36px,5vw,100px)}.brand{margin-left:0}}
.demo-tabs{display:flex;justify-content:center;gap:6px;padding:14px;border-bottom:1px solid rgba(34,54,79,.1)}
.demo-tabs button{border:0;border-radius:99px;padding:8px 14px;background:none;color:#5b6d83;font-size:12px;min-height:36px}
.demo-tabs button[aria-selected=true]{background:#22364f;color:#fff}
.demo-stack{display:grid}
.demo-panel{grid-area:1/1;min-width:0}
.demo-panel.inactive{visibility:hidden;pointer-events:none}
.demo-how{display:flex;flex-direction:column;justify-content:center;padding:28px 24px;gap:22px;background:linear-gradient(150deg,#f7f9fb,#e5ecf4)}
.demo-how-title{text-align:center;font-size:20px;letter-spacing:-.025em;color:#22364f}
.demo-how .how{display:grid;border:0;margin:0;padding:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.demo-how .how li{display:grid;grid-template-rows:64px auto;gap:12px;justify-items:center;align-content:center;padding:0}
.demo-how .how i{display:grid;width:64px;height:64px;border-radius:18px}
.demo-how .how svg{width:28px;height:28px}
.demo-how .how span{font-size:13px;line-height:1.45}
.hero-card-controls{grid-column:2;display:flex;align-items:center;justify-content:center;gap:14px;margin-top:-20px;color:#8fa3b8;font-size:11px}
.hero-card-controls button{width:36px;height:36px;border:1px solid #ffffff25;background:#ffffff08;border-radius:50%;color:#dce6f0;touch-action:manipulation}
.hero-stage{touch-action:pan-y}
.success-wordmark{display:block;width:190px;height:auto;margin:0 auto 30px}
.access-success .success-note{margin-bottom:22px}
.access-loading{padding:24px 0;text-align:center}
.access-loading h2{font-size:28px;margin-top:26px}
.access-loading p{font-size:14px;color:#adc1d6;margin-top:12px}
.loading-orbit{display:block;margin:0 auto;width:72px;height:72px;border:1px solid #9cc7ea55;border-radius:50%;position:relative;animation:loading-turn 1.6s linear infinite}
.loading-orbit::after{content:"";position:absolute;inset:20px;background:#c4d6ea;border-radius:50%}
.loading-orbit i{position:absolute;top:-5px;left:31px;width:10px;height:10px;border-radius:50%;background:#9cc7ea}
@keyframes loading-turn{to{transform:rotate(360deg)}}
.access.pending .access-head,.access.pending .mini-pass,.access.pending .dlg-cast,.access.pending [data-form=access],.access.pending .founder-step{display:none}
[data-spam-check]{display:flex;justify-content:center;margin:18px auto;min-width:0;width:100%}
.footer-art{background-size:auto 100%;background-position:right center;mask-image:linear-gradient(90deg,transparent 30%,#000 75%);-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 75%)}
@media(max-width:700px){
 .hero-for{font-size:clamp(10px,2.7vw,12px);white-space:nowrap;line-height:1.4;margin-top:18px;letter-spacing:-.01em}
 .hero-stage{padding:16px 6px 10px}
 .hero-stage .deck{width:100%;max-width:340px;margin:auto}
 .hero-card{padding:17px 18px 14px}
 .hero-card h2{font-size:27px}
 .hero-card .card-artist{font-size:13px;margin-top:5px}
 .hero-card .wave{height:48px;margin:14px 0 10px}
 .hero-card .card-meta{font-size:9px;padding-bottom:10px;gap:6px}
 .hero-card .card-top{font-size:10px}
 .hero-card .credits{gap:6px;margin-top:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
 .hero-card .credits li{display:grid!important;grid-template-columns:24px minmax(0,1fr);gap:4px}
 .hero-card .credits .avatar{width:24px;height:26px}
 .hero-card .credits li b{font-size:9px;line-height:1.3;white-space:normal}
 .hero-card .credits li small{font-size:8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .hero-card .credits li code{display:none}
 .hero-card-controls{grid-column:1;margin-top:0}
 .hero{row-gap:16px}
 .demo-how .how{grid-template-columns:1fr;gap:18px}
 .demo-how .how li{grid-template-columns:56px minmax(0,1fr);grid-template-rows:auto;align-items:center;justify-items:start;text-align:left;gap:16px}
 .demo-how .how i{width:56px;height:56px;flex:none}
 .demo-how .how span{text-align:left;font-size:14px}
 .demo-how{padding:28px 22px;gap:24px}
 .companion .companion-title{font-size:clamp(64px,19vw,82px);line-height:.95}
 .sp-shift s,.sp-shift b{font-size:clamp(19px,5.3vw,25px)}
 .sp-shift span{font-size:9px}
 .id-info{width:100%;min-width:0}
 .id-name-wrap{display:block;text-align:center;width:100%;margin:10px auto}
 .id-name{display:block;width:100%!important;text-align:center;font-size:34px;margin:0 auto;padding:0}
 .id-caret{display:none}
 .id-name-mirror{display:none}
 .id-roles{justify-content:center}
 .cast button:hover,.dlg-cast button:hover{transform:none}
 .footer-art{background-position:right center;mask-image:linear-gradient(90deg,transparent,#000 40%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);opacity:.3}
 .access-success .success-wordmark,.access-loading .success-wordmark{width:170px}
}
@media(prefers-reduced-motion:reduce){.loading-orbit{animation:none}}
@media(min-width:701px){.access{width:min(620px,calc(100vw - 32px))}.dlg-cast{gap:5px}.dlg-cast button{width:44px;max-width:none;height:44px;padding:2px}.mp-astro{width:92px;height:96px}}
@media(max-width:700px){.dlg-cast button{width:36px;max-width:none;height:36px;padding:1px}}

/* Meet the Minis: compact film above the existing character picker. */
.minis-film{max-width:640px;margin:28px auto 38px}.minis-film video{display:block;width:100%;aspect-ratio:16/9;max-height:360px;background:#080c11;border:1px solid #c5d9ed24;border-radius:20px;object-fit:contain}
.success-profile{display:flex;align-items:center;gap:20px;text-align:left;border-radius:18px;padding:22px;background:#d8e0eb;color:#17263b;margin:24px 0}.success-profile img{width:80px;height:90px;object-fit:contain}.success-profile b{display:block;font-size:22px}.success-profile small{display:block;margin:8px 0}.success-profile code{font-size:19px}.success-profile .preview-label{font-size:10px;letter-spacing:1.5px;text-transform:uppercase}

@media(max-width:700px){.minis-film{width:min(240px,56vw);margin:24px auto 30px}.minis-film video{aspect-ratio:9/16;max-height:44svh;border-radius:16px}.success-profile{gap:12px;padding:16px}.success-profile img{width:66px}.success-profile b{font-size:18px}}

/* Minis: one composition, film left and personal card right. */
.minis-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start;margin-top:32px}
.minis-layout .minis-film{width:100%;max-width:none;height:320px;margin:0}
.minis-layout .minis-film video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;background:#e6ebf2;border-radius:24px;border:0}
.minis-layout .id-wrap{margin:0;gap:18px}
.minis-layout .id-card{min-height:320px;padding:24px 32px;grid-template-columns:140px minmax(0,1fr);gap:18px;border-radius:24px;box-shadow:inset 0 1px 0 #ffffffcc,0 18px 40px -25px #0008}
.minis-layout .id-stage{height:180px}.minis-layout .id-info{min-width:0}.minis-layout .id-name{font-size:40px;width:100%!important;max-width:100%;margin-top:10px}.minis-layout .id-caret{display:none}.minis-layout .id-name-mirror{display:none}.minis-layout .id-name-wrap{display:block;width:100%}
.minis-layout .id-nav{width:26px;font-size:24px}.minis-layout .id-nav.prev{left:2px}.minis-layout .id-nav.next{right:2px}
.minis-layout .id-eyebrow{font-size:9px;letter-spacing:.13em}.minis-layout .id-sac{gap:10px;margin-top:12px}.minis-layout .id-sac span{font-size:11px}.minis-layout .id-sac code{font-size:22px}.minis-layout .id-hint{font-size:11px}
.minis-layout .cast{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:5px;max-width:100%;margin:0}.minis-layout .cast button{width:100%;max-width:none;height:44px;padding:2px;border-radius:12px}.minis-layout .id-form{margin-top:0}
.footer{background:#0a1119;color:#dce6f0;border-top:1px solid #d0e0f01a}.footer-inner{grid-template-columns:minmax(0,1fr) auto;gap:36px 64px;padding-top:60px;padding-bottom:28px}.footer-cols{grid-column:2;gap:48px}.footer-cols p{color:#879bb0}.footer-cols a,.footer-cols .linklike{color:#b9c9d8}.footer-mark{width:240px}.footer-access{color:#dce6f0}.legal{grid-column:1/-1}
@media(max-width:1100px){.minis-layout{grid-template-columns:minmax(0,1fr);gap:28px}.minis-layout .minis-film{max-width:640px;height:auto;margin:0 auto}.minis-layout .minis-film video{height:auto;aspect-ratio:16/9}.minis-layout .id-card{grid-template-columns:180px minmax(0,1fr);padding:24px 42px}.minis-layout .id-stage{height:200px}.minis-layout .id-info{text-align:left}.minis-layout .id-char,.minis-layout .id-roles,.minis-layout .id-sac{justify-content:flex-start}.minis-layout .cast{max-width:640px;margin:auto}}
@media(max-width:800px){.footer-inner{grid-template-columns:1fr;gap:32px;padding-top:44px}.footer-cols{grid-column:1;gap:22px}.footer-mark{width:190px}}
@media(max-width:700px){.minis-layout{gap:24px;margin-top:24px}.minis-layout .minis-film{width:min(240px,56vw)}.minis-layout .minis-film video{aspect-ratio:9/16;max-height:44svh}.minis-layout .id-card{grid-template-columns:1fr;gap:12px;min-height:0;padding:20px 32px}.minis-layout .id-stage{height:180px}.minis-layout .id-info{text-align:center}.minis-layout .id-name{font-size:34px;text-align:center}.minis-layout .id-char,.minis-layout .id-roles,.minis-layout .id-sac{justify-content:center}.minis-layout .cast{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.minis-layout .cast button{height:48px}.footer-cols{gap:16px}.footer-mark{width:170px}}
.minis-layout .minis-film video{background:#080c11}

/* Film above a generous builder; the landscape frame stays intact on phones. */
.minis-layout{display:flex;flex-direction:column;gap:32px}
.minis-layout .minis-film{position:relative;width:100%;max-width:800px;height:auto;aspect-ratio:16/9;margin:0 auto;overflow:hidden;border:0;border-radius:18px}
.minis-layout .minis-film video{width:100%;height:100%;aspect-ratio:16/9;max-height:none;object-fit:contain;border:0;border-radius:0}
.minis-video-controls{position:absolute;bottom:12px;right:12px;display:flex;gap:8px}

.minis-video-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.minis-layout .id-wrap{width:100%;gap:22px}
.minis-layout .id-card{width:100%;min-height:380px;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;padding:32px 64px}
.minis-layout .id-stage{height:290px}
.minis-layout .id-name{font-size:clamp(38px,4.4vw,62px)}
.minis-layout .id-eyebrow{font-size:11px;letter-spacing:.16em}
.minis-layout .id-sac{gap:16px;margin-top:20px}.minis-layout .id-sac span,.minis-layout .id-hint{font-size:13px}.minis-layout .id-sac code{font-size:28px}
.minis-layout .cast{max-width:800px;margin:0 auto;gap:8px}.minis-layout .cast button{height:62px;padding:5px}
@media(max-width:700px){
.minis-layout{gap:24px}.minis-layout .minis-film{width:100%;max-width:100%;aspect-ratio:16/9;border-radius:14px}
.minis-layout .minis-film video{aspect-ratio:16/9;max-height:none}
.minis-video-controls{bottom:8px;right:8px;gap:6px}
.minis-layout .id-card{grid-template-columns:minmax(0,1fr);padding:20px 28px 24px;gap:8px;min-height:0}
.minis-layout .id-stage{height:220px}.minis-layout .id-name{font-size:clamp(32px,9vw,40px);margin-top:12px}
.minis-layout .id-eyebrow{font-size:10px}.minis-layout .id-sac{gap:12px}.minis-layout .id-sac code{font-size:25px}
.minis-layout .cast{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.minis-layout .cast button{height:52px;padding:3px}
}
/* Keep controls clear of the film's own captions. */
.minis-layout .minis-film{aspect-ratio:auto;overflow:visible;border-radius:0}
.minis-layout .minis-film video{height:auto;border-radius:16px}
.minis-video-controls{position:static;justify-content:flex-end;margin-top:8px}

/* Match the introduction film's quiet sound control and give the film full width. */
.minis-layout .minis-film{max-width:none;width:100%;margin:0}
.minis-video-controls{position:absolute;right:16px;bottom:16px;margin:0;opacity:0;transition:opacity .2s ease}
.minis-film:hover .minis-video-controls,.minis-film:focus-within .minis-video-controls{opacity:1}
@media(hover:none){.minis-video-controls{opacity:1}}
@media(max-width:700px){.minis-video-controls{right:10px;bottom:10px}}

/* Landscape inline on every screen; expanded film uses the available viewport. */
.film-frame,.film-frame.tall{aspect-ratio:16/9;max-height:none}
.film-frame video{object-fit:contain}
.film-ctrls{bottom:16px}
.film-expanded,.film-frame.film-expanded,.minis-layout .minis-film.film-expanded{position:fixed;inset:0;z-index:10000;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;border-radius:0;background:#05070a;aspect-ratio:auto}
.film-expanded video,.minis-layout .minis-film.film-expanded video{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:0}
.film-expanded .film-ctrls,.film-expanded .minis-video-controls{opacity:1;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
@media(max-width:700px){.film-frame{width:100%;max-width:none}.film-ctrls{right:10px;bottom:10px}}
/* Phone builder: reserve a separate animation area above the editable profile. */
@media(max-width:700px){
 .minis-layout .id-card{row-gap:20px;align-items:start}
 .minis-layout .id-stage{height:240px;min-height:240px;overflow:hidden;isolation:isolate}
 .minis-layout .id-stage .stage-astro{height:220px;max-width:100%}
 .minis-layout .id-info{position:relative;z-index:2;align-self:start}
 .minis-layout .id-name-wrap{min-height:48px;margin:12px 0;isolation:isolate}
 .minis-layout .id-name{min-height:48px;margin:0;line-height:1.2}
 .minis-layout .id-nav{top:114px;transform:none;z-index:3}
}

/* Security finishes in the form, before the submit action. */
.human-check{margin:18px 0 12px;padding:12px 14px;border:1px solid rgba(170,196,221,.18);border-radius:12px;background:rgba(170,196,221,.035)}
.human-status{font-size:12px;line-height:1.6;color:#adc1d6;margin:0!important}
.human-check .text-btn{font-size:12px;margin-top:10px;text-decoration:underline;text-underline-offset:4px}
.form-light .human-check{border-color:rgba(24,40,60,.15);background:rgba(24,40,60,.035)}
.form-light .human-status{color:#40546c}.human-status.err{color:#e5aa9c}.form-light .human-status.err{color:#8c352c}
.form button[type=submit]:disabled{opacity:.5;cursor:wait}.human-check [data-human-widget]:not(:empty){margin-bottom:8px}

/* A steady Astro mark identifies early access. */
.header-astro,.btn-astro .header-astro{width:22px;height:22px;margin:0;transition:none}.header-astro:hover{transform:none}.header-astro svg{display:block;width:100%;height:100%}
.site-header .btn-astro{border-radius:999px;gap:9px;padding:10px 16px}
/* Local A/B: only the Meet the Minis presentation changes. */
.mini-comparison{min-width:0;align-self:start}.mini-compare-tabs{display:flex;gap:6px;margin-bottom:14px;padding:4px;width:max-content;max-width:100%;border:1px solid #b7cde52b;border-radius:999px;background:#0c1623}
.mini-compare-tabs button{font-size:12px;padding:9px 16px;border-radius:999px;color:#94a9c2;background:none;border:0;cursor:pointer}.mini-compare-tabs button[aria-selected=true]{color:#17283c;background:#c5d8ed}.mini-compare-tabs button:focus-visible{outline:2px solid #d0e0f3;outline-offset:3px}
.mini-comparison [hidden]{display:none!important}.mini-comparison .minis-film{margin:0;width:100%}.mini-live-frame{height:470px;position:relative;border:1px solid #b7cde522;border-radius:18px;overflow:hidden;background:#101a29}.mini-live-frame iframe{border:0;width:100%;height:100%;display:block}.mini-live-status{position:absolute;inset:0;display:grid;place-items:center;padding:28px;text-align:center;color:#b7cde5;font-size:13px;pointer-events:none}.mini-live-caption,.mini-founder-note{font-size:11px;color:#8ba3bf;line-height:1.6;margin-top:12px}.mini-founder-note a{color:#c3d8ee;text-underline-offset:3px}
@media(max-width:900px){.mini-live-frame{height:440px}.mini-compare-tabs button{padding:8px 13px;font-size:11px}}@media(max-width:700px){.mini-live-frame{height:480px}.mini-compare-tabs{margin-bottom:12px}.mini-live-caption{text-align:center}}
.mini-comparison{width:100%;max-width:800px;margin:0 auto;align-self:center}

/* Local Minis refinement, 14 Oct: the interactive cast takes the full stage width; the film keeps its size. */
.mini-comparison[data-mode=interactive]{max-width:none}
.mini-comparison[data-mode=interactive] .mini-live-frame{height:clamp(460px,40vw,580px);border-color:#b7cde51a;background:#0f1927;box-shadow:0 50px 110px -60px rgba(0,0,0,.9)}
.mini-comparison[data-mode=interactive] .mini-live-caption{font-size:13px;color:#9db2c9;margin-top:14px;text-align:center}
.mini-founder-note:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:640px;margin:14px auto 0;padding:12px 16px;border-radius:14px;border:1px dashed #b7cde540;font-size:13px;color:#c3d3e4;background:#0c1623}
.mini-founder-note b{font-weight:500;color:#eef4fa}
.mini-founder-note a{flex:none;white-space:nowrap}
@media(max-width:700px){.mini-comparison[data-mode=interactive] .mini-live-frame{height:500px}.mini-founder-note:not([hidden]){flex-direction:column;align-items:flex-start;gap:8px}}

/* Local review 14 Oct: Minis builder: cast above the card; the typing caret returns on larger screens */
.minis-layout .id-wrap>.cast{margin:0 auto 4px}
@media(min-width:701px){.minis-layout .id-name-wrap{display:flex}.minis-layout .id-caret{display:block;font-size:clamp(38px,4.4vw,62px)}.minis-layout .id-name-mirror{display:block}}
/* Contact: the bot check runs silently; it only appears if it needs a click or fails */
.human-check.quiet:not(.show){margin:0;padding:0;border:0;background:none}
.human-check.quiet:not(.show) .human-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Local review 14 Oct: calendar days are tappable; past days dim, Sunday stays free */
.week button{display:grid;gap:4px;padding:6px 0;border:0;border-radius:10px;background:none;color:inherit;font:inherit;font-size:15px;cursor:pointer;transition:background .2s,color .2s,opacity .2s;position:relative}
.week button:hover{background:rgba(34,54,79,.08)}
.week button.past{opacity:.42}
.week button.today:not(.on){box-shadow:inset 0 0 0 1px rgba(34,54,79,.35)}
.week button.on{background:#22364f;color:#fff;opacity:1}
.week button.on small{color:#b9c8d9}
.week button.dot::after{content:"";position:absolute;left:50%;bottom:3px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#e2b84a}
.week button.on.dot::after{background:#e9cf8a}
.week button:focus-visible{outline:2px solid #22364f;outline-offset:2px}
.invite-card.past-day .event,.invite-card.past-day .invitees{opacity:.6}
.invite-card.free-day .event b{color:var(--navy-3);font-weight:450}
@media(max-width:700px){.week button{padding:8px 3px}}
@media(max-width:700px){.invite-card .week button{padding:6px 2px;font-size:13px;gap:3px}}
/* Minis: Join early access sits inside the card */
.id-card .id-form{display:flex;justify-content:flex-start;margin-top:18px}
.id-card .id-form .btn{height:46px;padding:0 24px;background:#22364f;color:#f2f6fa;box-shadow:0 12px 26px -14px rgba(24,40,60,.7);animation:none}
.id-card .id-form .btn:hover{background:#2c4561}
@media(max-width:900px){.id-card .id-form{justify-content:center}}
/* Minis film: sound control always visible, including on phones */
.minis-video-controls{opacity:1}

/* Website age bands: no birth dates or ID documents. */
.age-details{border:0;padding:0;margin:0;min-width:0}.age-help{padding:14px 0}.age-help p{font-size:14px;line-height:1.6}.age-band select{width:100%;min-height:44px}.cookie .ck-age{display:flex;align-items:flex-start;gap:10px;flex:1 0 100%;font-size:14px;line-height:1.5}.cookie .ck-age input{width:20px;height:20px;flex:none;margin:1px 0;accent-color:#dce7ed}.cookie .ck-age span{min-width:0}.cookie .ck-age:focus-within{outline:2px solid #dce7ed;outline-offset:4px}

.form .age-details{display:grid;gap:16px}.cookie{flex-wrap:wrap}.cookie .ck-age{max-width:100%;white-space:normal}.cookie{border-radius:22px}@media(min-width:821px){.cookie{border-radius:0}.cookie .ck-age{order:2}.cookie [data-cookie-status]{order:3}}
.cookie .ck-age{min-height:44px;align-items:center}@media(max-width:820px){.cookie .ck-age{flex:0 0 auto}}@media(min-width:821px){.cookie{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 28px}.cookie>p:first-child{grid-column:1;grid-row:1;margin:0;white-space:normal}.cookie .ck-age{grid-column:1;grid-row:2;margin:0}.cookie .ck-btns{grid-column:2;grid-row:1/span 2}.cookie [data-cookie-status]{grid-column:1/-1;grid-row:3}}
.form [hidden],.cookie [hidden]{display:none!important}
.access [data-age-explainer]{color:#b7c9dd;font-size:13px;line-height:1.55}.form-light [data-age-explainer]{color:#40546c}
