@font-face {font-family:"SFX";src:url("../fonts/SF-Pro-latin.woff") format("woff");font-weight:1 1000;font-stretch:30% 150%;font-display:swap;}
@font-face {font-family:"Monoblock";src:url("../fonts/Monoblock.otf") format("opentype");font-display:swap;}
:root { color-scheme:dark;--ink:#080808;--paper:#e8e7e2;--muted:#b4b3ae;--line:#555550;--mono:'Monoblock','Courier New',monospace;--display:'SFX',-apple-system,BlinkMacSystemFont,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth;scrollbar-color:#696963 #101010; }
body { position:relative;margin:0;background:var(--ink);color:var(--paper);font:15px/1.65 var(--mono);overflow-x:clip; }
body::before { content:'';position:absolute;inset:0;z-index:10;pointer-events:none;background:url('../media/waitlist-teaser/print-stock.webp') repeat;background-size:100% auto;opacity:.23;filter:grayscale(1);mix-blend-mode:screen; }
::selection { background:#e8e7e2;color:#080808; }
img { display:block;max-width:100%;height:auto; }
button,input { font:inherit; }
button,a,input,summary { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a { color:inherit;text-decoration:none; }
button { color:inherit; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid currentColor;outline-offset:7px; }
h1,h2,p,figure { margin:0; }
h1,h2 { font-family:var(--display);font-weight:650;font-stretch:125%;line-height:1.02;letter-spacing:-.04em;text-wrap:balance; }
.frame,.quick-listen-wrap { width:min(1200px,calc(100% - 112px));margin-inline:auto; }
.skip-link { position:fixed;top:-80px;left:24px;z-index:100;background:var(--paper);color:var(--ink);padding:12px 20px; }
.skip-link:not(:focus) { clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0; }
.skip-link:focus { top:12px; }
.teaser-hero { min-height:820px;height:min(960px,100svh);position:relative;isolation:isolate;overflow:hidden; }
.teaser-masthead { position:relative;z-index:4;height:108px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center; }
.teaser-wordmark { font:700 17px/1 var(--display);letter-spacing:.04em;justify-self:start; }
.palace-mark { width:40px;height:44px;object-fit:contain;justify-self:end; }
.teaser-release { display:flex;align-items:center;gap:22px; }
.waitlist-launch-label { font-size:11px;letter-spacing:.035em; }
.waitlist-countdown { display:flex;gap:12px;border-left:1px solid #5f5f59;padding-left:22px; }
.waitlist-countdown span { display:grid;gap:3px;text-align:center; }
.waitlist-countdown b { font-size:16px;line-height:1.1;font-weight:400;font-variant-numeric:tabular-nums; }
.waitlist-countdown small { color:var(--muted);font-size:11px;line-height:1.2; }
.waitlist-launch-complete { font-size:11px; }
.teaser-hero-art { position:absolute;z-index:-2;width:1250px;max-width:none;right:calc(50% - 860px);top:175px;mix-blend-mode:screen; }
.hero-content { position:relative;z-index:2;padding-top:57px; }
.poster-type { color:#eeede8;text-shadow:0 0 18px #ffffff18; }
.hero-content h1 { font-size:clamp(64px,6.9vw,104px);max-width:900px;letter-spacing:-.04em; }
.hero-content h1 span { display:block; }
.teaser-hero-art,.teaser-console-art { mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 48%,transparent 86%),linear-gradient(to right,transparent 0%,#000 20%,#000 80%,transparent 100%);mask-composite:intersect; }
.invitation-route { position:relative;margin-top:29px; }
.invitation-line { position:absolute;left:-33px;top:-21px;width:26px;height:154px;fill:none;stroke:#aaa89d;stroke-width:1;opacity:.55;pointer-events:none; }
.invitation-line path { vector-effect:non-scaling-stroke; }
.hero-description { margin-top:0;font-size:14px;line-height:1.65;color:#c6c5bf; }
.hero-invitation { margin-top:28px; }
.signup-button { display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:14px 21px;background:var(--paper);color:#111;border:1px solid var(--paper);border-radius:0;font:700 14px/1.3 var(--display);letter-spacing:.015em;transition:background .2s,color .2s; }
.signup-button svg,.text-link svg,.follow-signal svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;flex:none; }
.signup-button:hover { background:transparent;color:var(--paper); }
.hero-invitation p { margin-top:15px;font-size:11px;line-height:1.7;color:#bdbcb6; }
.signal-line { position:absolute;pointer-events:none;fill:none;stroke:#c0bfb7;stroke-width:1; }
.signal-line path { vector-effect:non-scaling-stroke; }
.signal-base { opacity:.55; }
.hero-signal { bottom:30px;left:0;width:100%;height:160px; }
.signal-travel { stroke:#f4f3eb;stroke-dasharray:70 1600;stroke-dashoffset:1600;animation:follow-wave 13s linear infinite; }
@keyframes follow-wave { to { stroke-dashoffset:-1600; } }
.follow-signal { position:absolute;z-index:3;bottom:28px;left:max(56px,calc((100% - 1200px)/2));display:flex;align-items:center;gap:20px;min-height:44px;font-size:11px;text-transform:uppercase;letter-spacing:.08em; }
.follow-signal svg { width:15px;height:15px; }
.teaser-glimpse { position:relative;isolation:isolate;overflow:hidden;min-height:600px; }
.teaser-console-art { position:absolute;z-index:-1;width:1030px;max-width:none;left:calc(50% - 840px);top:12px;mix-blend-mode:screen; }
.glimpse-content { min-height:600px;display:flex;align-items:center;justify-content:flex-end; }
.glimpse-copy { width:40%;padding-bottom:12px; }
.glimpse-copy h2 { font-size:clamp(42px,4.2vw,66px);width:fit-content;max-width:100%; }
.glimpse-copy p { margin-top:27px;color:#c6c5bf;font-size:14px; }
.text-link { display:inline-flex;gap:20px;align-items:center;font-size:12px;min-height:44px;margin-top:21px;border-bottom:1px solid #787871; }
.text-link:hover { color:#fff; }
.glimpse-signal { top:0;left:0;width:100%;height:150px; }
#first-glimpse,#listen,#faq { scroll-margin-top:24px; }
.quick-listen { padding:64px 0 52px;background:#deddd7;color:#181816;color-scheme:light;position:relative; }
.quick-listen-wrap { display:grid;grid-template-columns:1fr 1.85fr;gap:70px; }
.audio-introduction h2,.teaser-faq h2 { font-size:clamp(34px,3.4vw,48px); }
.quick-listen-intro { font-size:12px;line-height:1.6;margin-top:22px;max-width:30ch; }
.sound-previews { border-top:1px solid #18181644; }
.sound-preview { display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;width:100%;padding:22px 9px;border:0;border-bottom:1px solid #18181644;background:transparent;color:#181816;text-align:left;transition:background .18s; }
.sound-preview:hover,.sound-preview[aria-pressed=true] { background:#cecdc5; }
.sound-preview-top { display:flex;align-items:center;gap:14px; }
.sound-play { display:grid;place-items:center;width:36px;height:36px;border:1px solid #565650;border-radius:50%;flex:none; }
.sound-play svg { width:16px;height:16px;fill:currentColor; }
.sound-stop-path { display:none; }
.sound-preview[aria-pressed=true] .sound-stop-path { display:block; }
.sound-preview[aria-pressed=true] .sound-play-path { display:none; }
.sound-preview-top strong { display:block;font:700 18px/1.1 var(--display); }
.sound-source { display:block;font-size:11px;line-height:1.4;margin-top:5px; }
.sound-duration { margin-left:auto;font-size:11px;font-variant-numeric:tabular-nums; }
.sound-wave { width:100%;height:30px;fill:#a5a49c; }
.sound-wave-played { fill:#171715; }
.sound-playhead { stroke:#080808;stroke-width:2;vector-effect:non-scaling-stroke;opacity:0; }
.sound-preview[aria-pressed=true] .sound-playhead { opacity:1; }
.quick-listen-note { margin-top:20px;font-size:11px;line-height:1.5;color:#4b4b46; }
.quick-listen-status:not(:empty) { margin-top:12px;font-size:12px; }
.quick-listen-status:empty { display:none; }
.teaser-faq { padding-block:78px 66px;display:grid;grid-template-columns:1fr 1.85fr;gap:70px; }
.faq-list { border-top:1px solid #555550; }
.faq-list details { border-bottom:1px solid #44443f; }
.faq-list summary { padding:19px 38px 19px 0;position:relative;list-style:none;cursor:pointer;font:16px/1.5 var(--display); }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::before,.faq-list summary::after { content:'';position:absolute;background:#c1c0b9;top:50%;right:6px;width:12px;height:1px; }
.faq-list summary::before { width:1px;height:12px;right:11.5px;transform:translateY(-5.5px); }
.faq-list details[open] summary::before { display:none; }
.faq-list p { padding:0 36px 23px 0;color:#bdbcb6;font-size:12px;line-height:1.8;max-width:72ch; }
.final-invitation { border-top:1px solid #555550;display:flex;justify-content:space-between;align-items:center;gap:36px;padding-block:42px 62px; }
.final-invitation h2 { font-size:clamp(26px,2.8vw,40px); }
.final-invitation .signup-button { background:transparent;color:var(--paper); }
.final-invitation .signup-button:hover { background:var(--paper);color:var(--ink); }
html.waitlist-open,html.waitlist-open body { overflow:hidden!important;overscroll-behavior:none; }
.waitlist-dialog { width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:52px 34px 34px;border:1px solid #8d8d85;background:#deddd7;color:#181816;border-radius:0; }
.waitlist-dialog::backdrop { background:#000c; }
.waitlist-close { position:absolute;top:8px;right:8px;width:44px;height:44px;background:none;border:0;display:grid;place-items:center; }
.waitlist-close svg { width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5; }
.waitlist-dialog h2 { font-size:36px;line-height:1;margin-bottom:20px; }
#waitlist-description,.waitlist-success>p { font-size:13px;line-height:1.7;margin-bottom:24px; }
.waitlist-dialog label { display:block;font-size:12px;margin-bottom:8px; }
.waitlist-dialog input { width:100%;min-height:52px;padding:12px;border:1px solid #787872;background:#efeee9;color:#181816;font:16px/1.5 var(--mono);border-radius:0;caret-color:#181816; }
.waitlist-dialog input:focus-visible { outline:2px solid #181816;outline-offset:3px; }
.waitlist-button { display:flex;justify-content:center;align-items:center;gap:24px;width:100%;min-height:52px;margin-top:16px;background:#181816;color:#e8e7e2;border:1px solid #181816;border-radius:0;font:700 14px/1.3 var(--display); }
.waitlist-button:hover { background:#33332f; }
.waitlist-button:disabled { opacity:.6;cursor:wait; }
.waitlist-consent { font-size:11px;line-height:1.6;color:#51514a;margin-top:15px; }
.waitlist-status { font-size:12px;line-height:1.5;margin-top:12px;color:#843b24; }
.waitlist-status:empty { display:none; }
[hidden] { display:none!important; }
@media(min-width:1600px) {
 .hero-content h1 { font-size:104px; }
 .teaser-hero-art { top:135px;width:1420px;right:calc(50% - 1010px); }
}
@media(max-width:1100px) and (min-width:761px) {
 .frame,.quick-listen-wrap { width:calc(100% - 72px); }
 .hero-content h1 { font-size:76px; }
 .teaser-hero-art { width:1040px;right:-300px;top:220px; }
 .hero-invitation p,.hero-description { text-shadow:0 2px 12px #000; }
 .glimpse-copy { width:44%; }
 .teaser-console-art { left:-250px;width:930px; }
 .quick-listen-wrap,.teaser-faq { gap:35px;grid-template-columns:1fr 1.7fr; }
 .sound-preview { grid-template-columns:1fr;gap:12px; }
 .sound-wave { height:20px; }
}
@media(max-width:760px) {
 .frame,.quick-listen-wrap { width:calc(100% - 40px); }
 body::before { opacity:.24; }
 .teaser-hero { min-height:820px;height:auto; }
 .teaser-masthead { height:134px;grid-template-columns:1fr 1fr;align-content:start;padding-top:23px;row-gap:24px; }
 .teaser-wordmark { font-size:14px; }
 .palace-mark { grid-column:2;grid-row:1;width:30px;height:32px; }
 .teaser-release { grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px; }
 .waitlist-launch-label { font-size:11px; }
 .waitlist-countdown { gap:9px;padding-left:14px; }
 .waitlist-countdown b { font-size:14px; }
 .waitlist-countdown small { font-size:11px; }
 .hero-content { padding-top:20px; }
 .hero-content h1 { font-size:clamp(34px,9.3vw,62px);letter-spacing:-.035em;line-height:1.02;max-width:640px; }
 .invitation-route { margin-top:19px; }
 .invitation-line { left:-14px;top:-13px;width:10px;height:344px;opacity:.4; }
 .hero-description { font-size:12px;margin-top:0; }
 .teaser-hero-art { width:760px;right:-220px;top:270px; }
 .hero-invitation { margin-top:255px;position:relative;z-index:2; }
 .signup-button { min-height:52px;font-size:13px;gap:28px; }
 .hero-invitation p { font-size:11px;margin-top:12px; }
 .hero-signal { bottom:53px;height:90px;opacity:.7; }
 .follow-signal { bottom:16px;left:20px;min-height:40px;font-size:11px; }
 .teaser-glimpse { min-height:550px; }
 .teaser-console-art { width:670px;left:-175px;top:0; }
 .glimpse-content { min-height:550px;align-items:flex-end;justify-content:flex-end;padding-bottom:44px; }
 .glimpse-copy { width:80%;padding:0;text-align:right; }
 .glimpse-copy h2 { font-size:clamp(34px,8.8vw,54px);margin-left:auto; }
 .glimpse-copy p { font-size:12px;margin-top:18px; }
 .text-link { font-size:11px;margin-top:13px; }
 .glimpse-signal { height:80px; }
 .quick-listen { padding:38px 0; }
 .quick-listen-wrap,.teaser-faq { display:block; }
 .audio-introduction { text-align:center;margin-bottom:24px; }
 .audio-introduction h2,.teaser-faq h2 { font-size:34px; }
 .audio-introduction h2 br,.teaser-faq h2 br { display:none; }
 .quick-listen-intro { font-size:11px;margin:15px auto 0;max-width:38ch; }
 .quick-listen-intro br { display:none; }
 .sound-preview { grid-template-columns:1fr;padding:17px 5px 14px;gap:12px; }
 .sound-preview-top strong { font-size:16px; }
 .sound-source { font-size:11px; }
 .sound-wave { height:24px; }
 .quick-listen-note { font-size:11px;text-align:center; }
 .teaser-faq { padding-block:42px; }
 .teaser-faq h2 { text-align:center;margin-bottom:25px; }
 .faq-list summary { font-size:14px;padding-block:18px; }
 .faq-list p { font-size:12px;padding-right:20px; }
 .final-invitation { padding-block:30px 40px;flex-direction:column;gap:22px;text-align:center; }
 .final-invitation h2 { font-size:32px; }
 .waitlist-dialog { padding:50px 24px 28px; }
 .waitlist-dialog h2 { font-size:30px; }
}
@media(max-width:360px) {
 .waitlist-launch-label { font-size:11px;letter-spacing:0; }
 .waitlist-countdown { gap:6px;padding-left:10px; }
 .hero-content h1 { font-size:32px; }
 .hero-invitation { margin-top:260px; }
 .audio-introduction h2,.teaser-faq h2 { font-size:29px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 .signal-travel { animation:none;display:none; }
 button { transition:none!important; }
}

/* One continuous visual route, measured after fonts load; never scroll-driven. */
.page-route { position:absolute;inset:0 auto auto 0;z-index:1;width:100%;overflow:visible;pointer-events:none;fill:none;stroke:#aaa699;stroke-width:1; }
.page-route path { vector-effect:non-scaling-stroke; }
.teaser-masthead,.hero-content,.follow-signal,.glimpse-copy,.audio-introduction,.audio-tracks { position:relative;z-index:2; }
.follow-signal { position:absolute; }

/* Original campaign print-stock supplies the subtle ink-wear filter in the document. */
.hero-content h1 { text-shadow:none; }
@media(forced-colors:active) {
 h1,h2,.hero-invitation .signup-button { filter:none!important; }
}

/* A soft travelling highlight follows the measured route at a constant speed. */
.page-route > path:not(.route-current) { opacity:.55; }
.page-route .route-current { stroke:#fffef8;stroke-width:1.5;stroke-linecap:round; }
@media(prefers-reduced-motion:reduce) { .page-route .route-current { display:none; } }

.hero-content h1 span:last-child { width:fit-content; }

/* Keep the phone layout compact; the visual route begins at the signup button. */
@media(max-width:760px) {
  .page-route #title-to-signup,
  .page-route .route-current[data-route="title-to-signup"] { display:none; }
  .teaser-hero { min-height:0;height:auto;padding-bottom:56px; }
  .follow-signal,.waitlist-launch-label { display:none; }
  .teaser-release { justify-content:flex-end; }
  .waitlist-countdown { border-left:0; }
  .palace-mark { margin-right:8px; }
  .text-link svg { transform:rotate(90deg); }
}
