/* Scroll-linked scenes: native page scrolling, no wheel/touch interception. */
.visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0; }
.cinema-opening { position:relative; }
.opening-pin { position:relative;min-height:760px;overflow:hidden;background:var(--bg);isolation:isolate; }
.cinema-people { position:absolute;inset:0;z-index:-1; }
.cinema-people img { width:100%;height:100%;object-fit:cover;object-position:center; }
.cinema-people::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,#141019c9,#14101920 75%); }
.cinema-hero-copy { position:relative;padding-block:100px 130px;color:#fff7ec; }
.cinema-hero-copy .eyebrow { color:#e6cfa7; }
.cinema-hero-copy h1 { font-size:clamp(80px,10.5vw,164px);line-height:.95;margin:22px 0 28px; }
.cinema-hero-copy h1 em { color:#e0c7fb; }
.cinema-hero-copy>p:not(.eyebrow) { font-size:18px; }
.cinema-hero-copy .release-note { color:#f1e6de;font-size:11px; }
.cinema-hero-end { display:none;position:absolute;inset:0;align-content:center;text-align:center;color:#fff7ec;pointer-events:none; }
.cinema-hero-end span,.cinema-hero-end em { display:block;font:400 clamp(42px,7vw,104px)/1.08 Georgia,serif;letter-spacing:-.05em; }
.cinema-hero-end em { font-style:italic;color:#e8d6f9; }
.cinema-scroll-hint { position:absolute;bottom:35px;left:5vw;display:flex;align-items:center;gap:12px;color:#fff7ec;font-size:11px;letter-spacing:.05em; }
.scroll-stroke { display:block;width:1px;height:30px;background:linear-gradient(transparent,#e9d0ae); }
.cinema-art-note { position:absolute;right:5vw;bottom:35px;color:#f6ecdf;font-size:10px; }
.cinema-on .cinema-opening { height:210svh; }
.cinema-on .opening-pin { position:sticky;top:var(--pin-top,84px);height:calc(100svh - var(--pin-top,84px));min-height:0; }
.cinema-on .cinema-people { transform:scale(var(--hero-zoom,1.12)); }
.cinema-on .cinema-hero-copy { padding-block:clamp(35px,8vh,100px);opacity:var(--hero-copy,1);transform:translate3d(calc(var(--hero-out,0) * -55px),0,0); }
.cinema-on .cinema-hero-end { display:grid;opacity:var(--hero-end,0);transform:scale(calc(.92 + var(--hero-end,0) * .08)); }
.cinema-on .cinema-people::after { background:linear-gradient(90deg,#141019c9,#14101940 75%); }
.cinema-on .voice-line i { transform:scaleY(var(--voice-level,1)); }
.workspace-scene { padding-top:0; }
.cinema-pin { padding:34px clamp(24px,5vw,80px);max-width:1600px;margin:auto; }
.cinema-topline { display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:14px; }
.cinema-topline p { margin:0; }
.cinema-topline a { font-size:11px;color:var(--muted); }
.cinema-layout { display:grid;grid-template-columns:.85fr 1.15fr;gap:3vw;align-items:center; }
.cinema-narrative { min-width:0; }
.cinema-beat { padding-block:30px; }
.cinema-beat h3 { font:400 clamp(36px,4.8vw,76px)/1.06 Georgia,serif;letter-spacing:-.055em;margin:24px 0; }
.cinema-beat h3 em { color:var(--accent); }
.cinema-beat p { font-size:16px;line-height:1.65;max-width:370px;color:var(--muted); }
.cinema-direction { font-size:11px;letter-spacing:.02em;color:var(--muted);margin:20px 0 0; }
.cinema-track { display:flex;gap:8px;margin-top:28px; }
.cinema-track span { height:2px;width:42px;background:var(--line); }
.cinema-track span.is-active { background:var(--accent); }
.cinema-showcase { min-width:0;align-self:center; }
.cinema-showcase .device-selector { width:100%;max-width:460px;margin:16px auto 10px;padding:4px;border:1px solid var(--line);border-radius:30px;background:var(--panel);gap:3px; }
.cinema-showcase .device-selector button { background:transparent;border:0;min-height:45px;border-radius:25px;font-size:12px;padding:7px 6px;box-shadow:none; }
.cinema-showcase .device-selector button span { font-size:9px;margin-top:1px; }
.cinema-showcase .device-selector button[aria-pressed="true"] { background:var(--soft);color:var(--accent); }
.cinema-showcase .device-label { font-size:10px;margin:0 0 5px; }
.cinema-device-space { height:620px;position:relative;display:grid;place-items:center;isolation:isolate; }
.cinema-orbit { position:absolute;inset:12% 5%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 15%,transparent),transparent 68%);transform:scale(var(--orbit-scale,1));z-index:-1; }
.phone-rig { position:relative;height:100%;aspect-ratio:2/3;max-width:100%;transform:perspective(1400px) translateX(var(--rig-x,0px)) rotateY(var(--rig-y,0deg)) rotateZ(var(--rig-z,0deg)) scale(var(--rig-scale,1));transform-origin:50% 48%; }
.hand-art { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none; }
.cinema-phone.device-shell[data-phone-shell="iphone"] { position:absolute;left:25.3906%;top:9.4401%;width:45.3125%;height:63.9974%;max-width:none;padding:0;border:0;border-radius:13% / 6%;box-shadow:none;background:#eee8dc; }
.cinema-phone[data-phone-shell="iphone"]::before,.cinema-phone[data-phone-shell="iphone"]::after,.cinema-phone[data-phone-shell="iphone"] .device-camera { display:none; }
.cinema-phone .cinema-screen { height:100%;border-radius:inherit;background:var(--bg); }
.cinema-phone .cinema-screen img { width:100%;height:100%;object-fit:contain; }
.cinema-screen img:not(:first-child) { display:none; }
.cinema-ready .cinema-screen img { display:block;position:absolute;inset:0;opacity:0; }
.cinema-ready .cinema-screen img:first-child { opacity:1; }
.cinema-glass { position:absolute;inset:-30% -150%;z-index:3;pointer-events:none;background:linear-gradient(110deg,transparent 37%,#ffffff0d 43%,#ffffff55 47%,#ffffff08 51%,transparent 56%);transform:translateX(var(--glass-x,-15%)); }
.cinema-tap { display:none;position:absolute;width:34px;height:34px;bottom:16%;left:65%;border-radius:50%;background:#b99afa55;border:1px solid #fff8;z-index:4;opacity:var(--tap-opacity,0);transform:scale(var(--tap-scale,1));pointer-events:none; }
.cinema-on .cinema-tap { display:block; }
.phone-rig:not([data-rig="iphone"]) { width:100%;aspect-ratio:auto; }
.phone-rig:not([data-rig="iphone"]) .hand-art { display:none; }
.cinema-phone.device-shell:not([data-phone-shell="iphone"]) { position:absolute;left:4%;top:50%;width:92%;max-width:none;transform:translateY(-50%);padding:10px 7px 7px; }
.cinema-phone[data-phone-shell="duo"] .cinema-screen { aspect-ratio:2853/2007; }
.cinema-phone[data-phone-shell="galaxy"] .cinema-screen { aspect-ratio:2152/2076; }
.cinema-showcase figcaption,.cinema-showcase .device-context { text-align:center;font-size:10px;line-height:1.5;margin:0 auto 5px;max-width:460px;color:var(--muted); }
.cinema-on .cinema-sequence { height:440svh;position:relative; }
.cinema-on .cinema-pin { position:sticky;top:var(--pin-top,84px);height:calc(100svh - var(--pin-top,84px));padding-top:20px;padding-bottom:15px;overflow:clip; }
.cinema-on .cinema-layout { height:calc(100% - 43px); }
.cinema-on .cinema-narrative { position:relative;display:grid;align-content:center; }
.cinema-on .cinema-beat { grid-column:1;grid-row:1;padding:0;opacity:0;transform:translateX(20px);pointer-events:none; }
.cinema-on .cinema-beat:first-of-type { opacity:1; }
.cinema-on .cinema-device-space { height:calc(100svh - var(--pin-top,84px) - 182px);min-height:180px;max-height:720px; }
.cinema-ready .app-moments { padding-top:65px; }
@media (min-width:801px) and (max-height:760px) {
  .cinema-beat h3 { font-size:clamp(36px,4.6vw,62px); }
}
@media (max-width:800px) {
  .cinema-hero-copy h1 { font-size:clamp(66px,12vw,102px); }
  .cinema-people img { object-position:50%; }
  .cinema-people::after { background:#17101b60; }
  .cinema-layout { grid-template-columns:1fr;gap:0; }
  .cinema-pin { padding:22px 24px; }
  .cinema-on .cinema-pin { padding:14px 20px 10px; }
  .cinema-on .cinema-layout { grid-template-rows:auto 1fr;align-content:start;height:calc(100% - 38px); }
  .cinema-on .cinema-narrative { align-content:start;margin-top:20px; }
  .cinema-beat h3 { font-size:clamp(30px,5.5vw,44px);margin:10px 0; }
  .cinema-beat p { font-size:12px;line-height:1.5;max-width:480px;margin:0; }
  .cinema-beat h3 br { display:none; }
  .cinema-beat h3 em::before { content:" "; }
  .cinema-track { margin-top:14px; }
  .cinema-direction { display:none; }
  .cinema-showcase { align-self:stretch;display:flex;flex-direction:column;min-height:0; }
  .cinema-on .cinema-device-space { flex:1;height:auto;min-height:0; }
  .phone-rig { height:100%;min-height:0; }
  .cinema-showcase .device-selector { margin:15px auto 7px; }
  .cinema-showcase .device-label { font-size:9px; }
  .cinema-showcase .device-context { font-size:9px;max-width:330px; }
  .cinema-showcase figcaption { font-size:9px; }
  .phone-rig:not([data-rig="iphone"]) { max-width:450px; }
  .cinema-phone.device-shell:not([data-phone-shell="iphone"]) { width:auto;height:90%;max-width:96%;aspect-ratio:1.422;left:50%;transform:translate(-50%,-50%); }
  .cinema-phone[data-phone-shell="galaxy"] { aspect-ratio:1.037 !important; }
  .cinema-phone.device-shell:not([data-phone-shell="iphone"]) .cinema-screen { height:100%; }
  .cinema-art-note { display:none; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .cinema-glass,.cinema-tap,.cinema-scroll-hint,.cinema-direction,.cinema-track,.cinema-topline>a { display:none; }
  .phone-rig { transform:none; }
}
/* Fill the scene with the display; the wrist naturally leaves the frame. */
.cinema-device-space { overflow:hidden; }
.phone-rig[data-rig="iphone"] { position:absolute;top:-9%;height:140%;max-width:none; }
.phone-rig:not([data-rig="iphone"]) { top:0;height:100%; }
.cinema-tools { display:flex;gap:18px;align-items:center; }
.cinema-tools button { font-size:11px;color:var(--muted);border:0;border-bottom:1px solid var(--line);background:none;padding:8px 0;min-height:36px; }
.cinema-tools button[hidden] { display:none; }
@media (prefers-reduced-motion:reduce) { .cinema-tools { display:none; } }
.cinema-on .cinema-showcase { height:100%;min-height:0;display:flex;flex-direction:column; }
.cinema-on .cinema-device-space { flex:1;height:auto;min-height:0; }
.cinema-ready:not(.cinema-on) :is(.cinema-track,.cinema-direction) { display:none; }
.cinema-device-space { container-type:size; }
.cinema-phone.device-shell:not([data-phone-shell="iphone"]) { height:auto;left:50%;transform:translate(-50%,-50%); }
.cinema-phone.device-shell[data-phone-shell="duo"] { width:min(92%,calc(86cqh * 1.422)); }
.cinema-phone.device-shell[data-phone-shell="galaxy"] { width:min(92%,calc(86cqh * 1.037)); }
.cinema-phone.device-shell:not([data-phone-shell="iphone"]) .cinema-screen { height:auto; }
