.demo-section { padding-block:85px 100px; color:var(--ink); border-top:1px solid var(--rule); }
.demo-section > .shell { max-width:1360px; }
.demo-heading { align-items:end; margin-bottom:38px; gap:40px; }
.demo-heading .eyebrow { margin:0 0 20px; font-size:14px; }
.home-page .demo-heading h2 { font:400 clamp(44px,4.9vw,72px)/1.02 var(--serif); letter-spacing:-.035em; }
.demo-heading > p { font-size:17px; color:var(--muted); max-width:28em; line-height:1.65; }
.demo-theatre { background:#13211a; backdrop-filter:none; border-radius:9px; }
.demo-layout { height:clamp(400px,38vw,520px); }
.gaze-film video { object-position:center; }
[data-mode='room'] .gaze-film video { object-fit:contain; background:#0b1711; }
.demo-layout > .gaze-film::after { background:linear-gradient(0deg,#08130dbf,transparent 38%); }
.demo-top { padding:15px 22px; }
#demo-disclosure { font:13px/1.5 var(--sans); color:#acc4b8; }
.mode-tabs button { font-size:16px; padding:12px 20px; }
.placement-controls button { font-size:14px; min-height:40px; }
.placement-controls > span { font-size:13px; }
.reading-station { top:68%; left:26%; width:35%; min-height:150px; padding:17px 22px; background:linear-gradient(120deg,#0c1a136b,#0c1a1326); backdrop-filter:blur(1.2px); box-shadow:0 14px 35px #0003; border-color:#bfd6ca5c; border-radius:6px; }
.reading-station[data-station='right'] { left:74%; }
.reading-station p { font-size:clamp(23px,2.2vw,33px); line-height:1.4; margin:12px 0 17px; text-shadow:0 1px 4px #0008; }
.reading-station.is-live { border-color:#b7d5c691; box-shadow:0 12px 35px #0003; }
.reading-station.is-preview { transform:translate(-50%,-50%) scale(.96); opacity:.45; }
.station-rule { left:22px; right:22px; bottom:14px; }
[data-mode='solo'] .reading-station { left:23%; top:68%; width:37%; background:linear-gradient(120deg,#091c124f,#091c1210); backdrop-filter:blur(.5px); }
[data-mode='room'] .reading-station { width:28%; min-height:160px; top:47%; }
[data-mode='room'] .reading-station p { font-size:clamp(21px,2vw,29px); }
.demo-controls { padding:20px 22px; }
.demo-controls .button { font-size:16px; padding:13px 20px; min-height:49px; }
.reset-button { font-size:15px; }
.demo-key-hint,kbd { font-size:14px; }
.demo-guide { bottom:170px; }
.mode-description { padding:0 190px 24px 22px; min-height:78px; }
.mode-description h3 { font-size:17px; margin-bottom:6px; }
.mode-description p { font-size:15px; }
.demo-caption { color:var(--muted); font-size:14px; line-height:1.65; margin-top:20px; }
.gaze-captions { bottom:17px; }
.gaze-state,.map-note { font-size:13px; }
.scene-select button { font-size:17px; padding-block:12px; color:var(--muted); }
.scene-select { gap:3px; }
.scene figcaption strong { font-size:26px; }
.scene figcaption > span { font-size:18px; line-height:1.65; }
.scene-copy h2 { font-size:clamp(39px,3.6vw,58px); }
.scene-image { border-radius:5px; }
.scene-sequence[data-pinned='true'] .scene-pin { top:95px; height:calc(100svh - 115px); }
.scene-sequence[data-pinned='true'] .scene-image img { max-height:52svh; }
.price-intro > p { font-size:18px; }
.fit-check dl > div { font-size:16px; grid-template-columns:92px 1fr; }
.fit-check .eyebrow,.fit-check .text-link { font-size:16px; }
.price-ticket > p,.price-ticket li { font-size:16px; }
.ticket-heading > span:last-child { font-size:14px; }
.price-currency { font-size:16px; }
.purchase-notes p { font-size:16px; }
.purchase-notes > .text-link { font-size:15px; }
.faqs summary { font-size:19px; padding-block:27px; }
.faqs details > p { font-size:17px; line-height:1.75; }
.home-page .desktop-nav a { font-size:14px; }
.home-page .button-small { font-size:14px; }
.home-page .footer-top p,.home-page .footer-top a { font-size:15px; }
.home-page .footer-bottom,.home-page .footer-fine { font-size:13px; }
.home-page .site-header:has(.mobile-menu:not([hidden])) { background:#101713; }
@media(max-width:1100px) {
 .reading-station { padding:15px 19px; min-height:150px; } .reading-station p { font-size:24px; } [data-mode='room'] .reading-station p { font-size:22px; }
}
@media(max-width:760px) {
 .home-page .button-small { font-size:12px; }
 .demo-section { padding-block:60px 65px; } .demo-section > .shell { width:calc(100% - 28px); } .demo-heading { margin:0 8px 26px; } .demo-heading .eyebrow { margin-bottom:16px; } .home-page .demo-heading h2 { font-size:43px; } .demo-heading > p { font-size:16px; margin:20px 0 0; } .demo-heading > p br { display:none; }
 .demo-top { flex-direction:row; flex-wrap:wrap; gap:7px 18px; padding:13px 14px; } #demo-disclosure { font-size:12px; } .demo-status { font-size:13px; } .mode-tabs button { font-size:14px; padding:12px 7px; } .placement-controls { justify-content:flex-start; } .placement-controls > span { display:block; font-size:12px; } .placement-controls button { font-size:13px; padding:8px 12px; }
 .demo-layout { height:390px; } .gaze-film video { object-fit:contain; object-position:50% 14%; background:#0b1711; } [data-mode='solo'] .gaze-film video { object-fit:cover; object-position:56%; }
 .reading-station { width:45%; top:68%; left:25%; min-height:154px; padding:13px; } .reading-station[data-station='right'] { left:75%; } .reading-station p { font-size:20px; margin:10px 0 15px; } .station-rule { left:13px; right:13px; bottom:12px; } [data-mode='solo'] .reading-station { width:74%; left:43%; top:76%; }
 [data-mode='room'] .reading-station { top:62%; min-height:170px; width:40%; } [data-mode='room'] .reading-station[data-station='left'] { left:22%; } [data-mode='room'] .reading-station[data-station='right'] { left:78%; } [data-mode='room'] .reading-station p { font-size:18px; } [data-mode='room'][data-placement='moving'] .reading-station[data-station='centre'] { width:53%; left:clamp(28%,var(--travel-x,50%),72%); top:clamp(104px,var(--travel-y,50%),calc(100% - 140px)); }
 .gaze-captions { bottom:13px; left:14px; right:14px; } .gaze-state,.map-note { font-size:11px; } .map-note { max-width:53%; } .off-notice { font-size:11px; left:14px; bottom:43px; }
 .demo-controls { padding:15px 12px; gap:9px; } .demo-controls .button { font-size:14px; min-height:49px; padding:13px 14px; } .home-page .demo-controls .speak-button { min-width:0; flex:1 1 100%; } .demo-controls .button-outline { flex:1; } .reset-button { font-size:14px; } .demo-key-hint { display:none; }
 .mode-description { padding:0 14px 18px; min-height:100px; } .mode-description h3 { font-size:16px; } .mode-description p { font-size:14px; } .demo-guide { bottom:252px; } .pickup-cue .eyebrow { font-size:12px; } #pickup-words { font-size:18px; } .demo-caption { font-size:13px; margin-inline:8px; } .demo-caption > span { display:block; margin:5px 0 0; } .scene-copy h2 { font-size:42px; max-width:7em; } .scene-select button { font-size:15px; padding:9px 0; } .scene-copy { align-items:start; } .scene figcaption strong { font-size:24px; } .scene figcaption > span { font-size:17px; } .scene-image img { aspect-ratio:1.35; } .scene-select { gap:2px; }
 .price-intro > p { font-size:17px; } .fit-check dl > div { font-size:15px; gap:15px; } .price-ticket li,.price-ticket > p { font-size:15px; } .ticket-heading > span:last-child { font-size:12px; } .purchase-notes p { font-size:16px; } .faqs summary { font-size:18px; } .faqs details > p { font-size:16px; }
}
@media(max-width:390px) { .scene-copy { flex-direction:column; gap:22px; } .scene-select { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; width:100%; } }

/* The reading mark: one place held as the view around it changes. */
.home-page { background:var(--page); color:var(--ink); }
.home-page h2 { font:400 clamp(48px,5.6vw,86px)/1.02 var(--sans); letter-spacing:-.058em; }
.home-page .site-header { color:var(--ink); background:color-mix(in srgb,var(--page) 94%,transparent); backdrop-filter:blur(20px); }
.home-page .site-header.is-scrolled,.home-page .site-header:has(.mobile-menu:not([hidden])) { background:color-mix(in srgb,var(--page) 96%,transparent); }
.home-page .button { color:var(--button-ink); background:var(--signal); font-size:16px; min-height:54px; border-radius:5px; padding:15px 23px; }
.home-page .button:hover { color:var(--button-ink); background:var(--button-hover); }
.home-page .site-header .button { color:var(--button-ink); background:var(--signal); min-height:42px; font-size:14px; padding:10px 17px; }
.home-page .site-header .icon-button:hover { color:var(--signal); background:var(--panel); border-color:var(--rule); }
.home-page .desktop-nav a { font-size:15px; }
.home-page .text-link { font-size:16px; }
.reading-mark { display:block; background:var(--signal); border-radius:2px; flex:none; }
.hero { padding:145px 0 0; position:relative; overflow:clip; }
.hero-composition { display:block; }
.hero-title-row { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.hero-title { display:flex; align-items:center; gap:clamp(20px,3vw,48px); margin:0; font:400 clamp(108px,15.6vw,236px)/.87 var(--sans); letter-spacing:-.083em; white-space:nowrap; }
.hero-title .reading-mark { height:.68em; width:.085em; margin-top:.11em; }
.hero-category { margin:0 0 8px; font-size:17px; line-height:1.5; color:var(--muted); }
.hero-editorial { display:grid; grid-template-columns:1.15fr 1fr; gap:13%; margin:50px 0 44px; align-items:start; }
.hero-intro { margin:0; font-size:clamp(22px,2.1vw,32px); line-height:1.35; letter-spacing:-.028em; max-width:21em; }
.hero-conversion > p:first-child { font-size:18px; line-height:1.55; margin:0 0 22px; color:var(--muted); max-width:31em; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:15px 28px; }
.hero-reassurance { font-size:14px; margin:14px 0 0; color:var(--muted); }
.hero-portrait { position:relative; height:clamp(350px,40vw,610px); margin:0 24px; perspective:1400px; isolation:isolate; border-radius:7px; }
.portrait-mat { position:absolute; inset:0; overflow:hidden; border-radius:7px; transform-origin:50% 100%; }
.portrait-mat img { width:100%; height:100%; object-fit:cover; object-position:center 43%; }
.hero-photo-shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#09361aa6,transparent 35%); border-radius:7px; }
.portrait-caption { position:absolute; left:4.2%; bottom:30px; color:#fff; font-size:16px; text-shadow:0 1px 10px rgba(0,0,0,.65); }
.hero-bottom { padding-block:22px 30px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.hero-bottom p { margin:0; color:var(--muted); font-size:15px; }
.demo-section { background:var(--home-band); border:0; }
.home-page .demo-heading h2 { font:400 clamp(44px,5.2vw,76px)/1.04 var(--sans); letter-spacing:-.055em; }
.demo-heading > p { font-size:19px; color:var(--muted); }
.demo-theatre { background:#153c26; box-shadow:0 40px 80px -40px #145e3566; --signal:#bfffd3; }
.station-dot { width:4px; height:12px; border-radius:1px; background:#baffd0; }
.station-word-current { color:white; text-decoration-color:#b5ffcc; text-decoration-thickness:2px; }
.home-page .demo-controls .speak-button { background:#d4ffe2; color:#175d31; }
.home-page .demo-controls .speak-button:hover { background:white; color:#175d31; }
.home-page .demo-controls .button-outline { background:transparent; color:#e7ffef; border-color:#abe4c46b; }
.home-page .demo-controls .button-outline:hover { background:#21603c; }
.mode-description h3 { font-size:18px; }.mode-description p { font-size:16px; }
.demo-guide { position:static; transform:none; width:auto; max-width:none; margin:0 22px; }
.pickup-cue { margin-bottom:22px; box-shadow:none; padding:17px 20px; background:#d8ffe5; color:#175d31; }
.off-notice { top:16px; bottom:auto; }
.demo-caption { color:var(--muted); font-size:15px; }.cinema-payoff { position:static; color:var(--ink); justify-content:flex-start; margin:20px 0 0; }.cinema-payoff p { font:20px var(--sans); }
.scene-copy h2 { font:400 clamp(39px,3.8vw,60px)/1.08 var(--sans); letter-spacing:-.05em; }.scene-select button { font-size:18px; }.scene-select button::before { border-radius:1px; width:3px; height:18px; }.scene figcaption strong { font-size:28px; }.scene-image { box-shadow:0 25px 60px -35px #14523477; }
.price-layout { grid-template-areas:'intro offer' 'fit offer'; gap:30px 16%; }.price-layout > div { min-width:0; }.price-intro { grid-area:intro; }.price-ticket { grid-area:offer; }.fit-check { grid-area:fit; margin:0; }.price-intro > p { font-size:21px; line-height:1.55; }.fit-check dl > div { font-size:17px; grid-template-columns:94px minmax(0,1fr); }.fit-check .eyebrow,.fit-check .text-link { font-size:17px; }
.price-ticket { margin:0; padding:15px 0 0; border-radius:0; box-shadow:none; background:transparent; color:var(--ink); }.ticket-heading .wordmark { color:var(--ink); }.ticket-heading > span:last-child { font-size:15px; color:var(--muted); }
.price { justify-content:flex-start; gap:18px; margin-top:20px; }.price strong { font:400 clamp(160px,18vw,270px)/1 var(--sans); letter-spacing:-.09em; }.price-currency { font-size:18px; }.price-once { font:22px var(--sans); }
.price-ticket > p,.price-ticket li { font-size:18px; color:var(--muted); }.price-ticket li { margin-bottom:18px; }.price-ticket ul { border-color:var(--rule); }.price-ticket li::before { color:var(--signal); }
.home-page .price-ticket .button { background:var(--signal); color:var(--button-ink); font-size:18px; }.home-page .price-ticket .button:hover { background:var(--button-hover); }
.purchase-notes h3 { font:400 29px/1.2 var(--sans); letter-spacing:-.03em; }.purchase-notes p { font-size:17px; }.purchase-notes > .text-link { font-size:16px; }.faqs summary { font-size:20px; }.faqs details > p { font-size:18px; }
.home-page .footer-top p,.home-page .footer-top a { font-size:16px; }.home-page .footer-bottom,.home-page .footer-fine { font-size:14px; }.footer-wordmark { color:var(--signal); }
@media(max-width:1100px) {
 .hero { padding-top:130px; }.hero-title { font-size:15.4vw; }.hero-category { font-size:15px; }.hero-editorial { gap:8%; }.hero-actions { gap:4px 15px; }.hero-conversion > p:first-child { font-size:17px; }
}
@media(max-width:760px) {
 .hero { padding-top:115px; }.hero-title-row { display:block; }.hero-title { font-size:23vw; gap:5vw; letter-spacing:-.075em; }.hero-category { font-size:15px; margin:24px 0 0; }.hero-category br { display:none; }
 .hero-editorial { grid-template-columns:1fr; gap:23px; margin:23px 0 30px; }.hero-intro { font-size:24px; max-width:none; }.hero-intro br { display:none; }.hero-conversion > p:first-child { font-size:17px; margin-bottom:21px; }.hero-actions { gap:7px 18px; }.hero-actions .button { font-size:15px; padding:14px 18px; }.hero-actions .text-link { font-size:15px; }.hero-reassurance { font-size:13px; margin-top:10px; }
 .hero-portrait { height:380px; margin-inline:12px; }.portrait-mat img { object-position:34% center; }.portrait-caption { display:none; }.hero-bottom { padding-block:18px 22px; display:block; }.hero-bottom p { font-size:15px; }.hero-bottom .text-link { font-size:15px; margin-top:5px; }
 .home-page .demo-heading h2 { font-size:43px; }.demo-heading > p { font-size:17px; }.mode-description h3 { font-size:17px; }.mode-description p { font-size:15px; }.demo-controls .button { font-size:15px; }.gaze-state,.map-note { font-size:12px; }.gaze-captions { flex-direction:row; align-items:center; }.off-notice { font-size:12px; top:14px; bottom:auto; }.demo-caption { font-size:14px; }.cinema-payoff { align-items:flex-start; }
 .demo-layout { height:410px; }.reading-station { top:60%; }[data-mode='solo'] .reading-station { top:70%; }[data-mode='room'] .reading-station { top:59%; }.demo-guide { margin-inline:14px; }.pickup-cue { padding:15px; }
 .scene-copy h2 { font-size:42px; }.scene-select button { font-size:16px; }.scene figcaption strong { font-size:25px; }.price-intro > p { font-size:19px; }.fit-check dl > div { font-size:16px; }.price-ticket li,.price-ticket > p { font-size:17px; }.price-ticket { margin:0; padding:10px 0 0; box-shadow:none; }.price strong { font-size:54vw; }.ticket-heading > span:last-child { font-size:14px; }.price-currency { margin-top:20px; }.purchase-notes p { font-size:17px; }.faqs summary { font-size:19px; }.faqs details > p { font-size:17px; }
 .home-page .site-header .button { font-size:13px; padding:10px 14px; }.header-controls .button svg { display:none; }
}
@media(max-width:390px) { .hero-actions { align-items:flex-start; flex-direction:column; gap:0; }.hero-portrait { height:330px; }.scene-copy { flex-direction:column; gap:22px; }.scene-select { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; width:100%; } }
@media(max-width:760px) {
 .price-layout { grid-template-areas:'intro' 'offer' 'fit'; gap:35px; }.price { gap:8px; }.price strong { font-size:50vw; }.price-once { font-size:18px; margin-left:0; }.price-currency { font-size:16px; }.fit-check { margin-top:10px; }
}
@supports(animation-timeline:view()) {
 @media(min-width:961px) and (min-height:760px) and (prefers-reduced-motion:no-preference) {
  .hero-cover-scroll { height:150svh; view-timeline-name:--cover; view-timeline-axis:block; }
  .hero-portrait { position:sticky; top:95px; height:calc(100svh - 115px); }
  .hero-photo-shade { background:linear-gradient(0deg,#09361a80,transparent 35%); }
  html:not([data-motion='paused']) .portrait-mat { animation:cover-recedes linear both; animation-timeline:--cover; animation-range:contain 0% contain 100%; }
  @keyframes cover-recedes { from { transform:scale(.94) rotateX(5deg); } to { transform:scale(1.025) rotateX(0deg); } }
 }
}

/* The preview exposes its feedback as part of the instrument. */
.demo-statistics { position:static; margin:0; border-top:1px solid #66836d55; }
.demo-metrics { position:static; width:auto; padding:22px; border:0; border-radius:0 0 9px 9px; background:#0f1d15; color:#e5eddf; box-shadow:none; }
.demo-metrics .eyebrow { font:15px/1.4 var(--sans); color:#c3d6c7; margin:0 0 19px; }
.demo-metrics dl { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; margin:0; }
.demo-metrics dl > div { display:block; padding:0; border:0; }
.demo-metrics dt { color:#a9bfb0; font-size:14px; line-height:1.4; margin-bottom:9px; }
.demo-metrics dd { color:#e6f2e4; font:400 26px/1.3 var(--sans); letter-spacing:-.03em; margin:0; }
.demo-metrics .run-progress { height:2px; margin-top:24px; }
.mode-description { padding-right:22px; }
.home-page .theme-toggle { width:auto; min-width:44px; padding:0 10px; gap:9px; font-size:14px; }
.home-page .site-header:has(.mobile-menu:not([hidden])) { background:var(--page); }
.home-page .site-header { color:var(--ink); }
.home-page .site-header .wordmark { color:var(--ink); }
.home-page .price-ticket .button:hover { color:var(--button-ink); }
.hero-photo-shade { background:linear-gradient(0deg,#091b1255,transparent 35%); }
.portrait-mat { transform-origin:center; }
@media(max-width:760px) {
 .home-page .theme-label { display:none; }.home-page .theme-toggle { width:38px; min-width:38px; padding:0; }
 .demo-metrics { padding:20px 15px; }.demo-metrics dl { grid-template-columns:repeat(3,minmax(0,1fr)); gap:21px 12px; }.demo-metrics dd { font-size:22px; }.demo-metrics dt { font-size:13px; }
 .demo-statistics { margin:0; }.mode-description { padding-right:14px; }
}
