/* V5: deliberate entrance, isolated thought scene, snappy poll. Desktop only. */
.scroll-story{display:none}
@media(min-width:801px){
  .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);gap:8px;
    min-height:calc(100svh - 132px);padding:10px 0 22px;align-items:center}
  .hero .copy{padding:0 0 34px;max-width:none}
  .cinematic{align-self:stretch;justify-content:center;transform:none;gap:0}
  .hero-film{height:min(820px,calc(100svh - 195px));width:auto;aspect-ratio:588/1019;min-width:0;max-width:100%;margin:0}
  .desktop-phone{display:block;position:relative;height:100%;width:100%}
  .desktop-phone img{position:absolute;top:0;left:50%;transform:translateX(-50%);height:100%;width:auto;max-width:none;object-fit:contain}
  .desktop-phone img{filter:drop-shadow(16px 20px 18px rgba(56,64,77,.19))}
  .film-caption{margin-top:16px}.illustration-note{margin-top:2px}
  .film-caption button{display:flex}
  .scroll-story{display:block;position:relative;height:auto;--question:1;--poll:1;--selected:1;--card:1;--progress:1;--touch:0;--touch-scale:1;--phone-y:0px;--copy-y:0px}
  .scroll-story[data-animated=true]{height:260svh}
  .story-sticky{position:sticky;top:0;height:100svh;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:30px;align-items:center;overflow:clip}
  .story-copy{padding:40px 0;transform:translateY(var(--copy-y));max-width:480px}
  .story-copy h2{font:400 clamp(52px,6.2vw,90px)/1.03 var(--serif);letter-spacing:-.03em;margin:0}
  .story-copy h2 em{color:var(--blue);font-weight:400}
  .story-copy .eyebrow{font-size:11px;letter-spacing:.16em}
  .story-intro{font-size:clamp(17px,1.4vw,20px);line-height:1.7;color:var(--muted);margin-top:28px}
  .story-steps{display:flex;align-items:center;gap:12px;margin-top:40px;font-size:12px;color:var(--muted)}
  .story-steps span[data-active=true]{color:#0058bd;font-weight:600}
  .story-steps i{height:1px;width:18px;background:#aab2be}
  .story-progress{height:2px;background:#cdd2db;width:260px;margin-top:16px;overflow:hidden}
  .story-progress span{display:block;background:var(--blue);height:100%;transform:scaleX(var(--progress));transform-origin:left}
  .story-navigation{display:flex;align-items:center;gap:24px;margin-top:26px;font-size:11px;color:var(--muted)}
  .scroll-hint span{margin-left:10px}.story-skip{color:var(--muted);padding:12px 0;text-underline-offset:4px}
  .story-transcript{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
  .story-device-area{display:grid;place-items:center;height:100%;min-width:0;transform:translateX(var(--story-optical-x,0px))}
  .story-phone{height:min(870px,calc(100svh - 52px));aspect-ratio:1/2;position:relative;transform:translateY(var(--phone-y));will-change:transform;isolation:isolate;filter:drop-shadow(12px 20px 18px #39405126)}
  .story-hardware{position:absolute;inset:0;display:block;pointer-events:none;z-index:2}
  .story-hardware img{display:block;width:100%;height:100%}
  .story-screen{position:absolute;left:var(--screen-left);top:var(--screen-top);width:var(--screen-width);height:var(--screen-height);background:#000;border-radius:14.715% / 6.773%;overflow:hidden;container-type:inline-size;z-index:1;color:#f8f8f8;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;font-size:4.2cqw;line-height:1.25}
  .messages-status{height:11.7cqw;padding:4.2cqw 7.5cqw 0;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:4.5cqw}
  .messages-status>div{display:flex;align-items:center;gap:1.5cqw}.messages-status svg{width:13cqw;height:5cqw}
  .messages-battery{display:block;width:7cqw;height:3.6cqw;background:#f7f7f7;border-radius:1cqw;box-shadow:inset -1.3cqw 0 #73777a}
  .messages-contact{height:30cqw;position:relative;display:flex;align-items:center;justify-content:center}
  .contact-center{display:flex;align-items:center;flex-direction:column;gap:1.8cqw}
  .contact-center img{height:14cqw;width:14cqw;border-radius:50%;object-fit:cover}
  .contact-center>span{padding:1.6cqw 3cqw;border-radius:20cqw;background:linear-gradient(145deg,#4448,#7773);box-shadow:inset 0 .3cqw .7cqw #aaa5;font-weight:600;font-size:4.8cqw}
  .contact-center b{font-weight:400;color:#a8a8a8}.messages-back{position:absolute;left:4cqw;top:8cqw;background:linear-gradient(145deg,#353535,#171717);border-radius:12cqw;box-shadow:inset 0 .3cqw .5cqw #ffffff35;height:11cqw;padding:0 2.5cqw;display:flex;align-items:center;gap:1.5cqw}
  .messages-back>svg{width:3.3cqw;height:5.4cqw;display:block;flex:none}
  .messages-back small{font-size:3.8cqw;font-weight:500;line-height:1;border-radius:50%;background:#fafafa;color:#282828;width:5.2cqw;height:5.2cqw;display:grid;place-items:center;flex:none}
  .messages-camera{position:absolute;right:6cqw;top:8cqw;width:8cqw;height:7cqw}
  .story-thread{padding:0 4.5cqw;position:relative}
  .messages-timestamp{font-size:3.3cqw;color:#aaa;text-align:center;margin:1.5cqw 0 6cqw;opacity:var(--question)}
  .story-question{padding:3.5cqw 4.5cqw;background:#262628;border-radius:7cqw;max-width:93%;width:fit-content;font-size:4.7cqw;opacity:var(--question);transform:translateY(calc((1 - var(--question))*20px)) scale(calc(.97 + var(--question)*.03));transform-origin:bottom left}
  .story-poll{position:relative;margin-top:3.8cqw;opacity:var(--poll);transform:translateY(calc((1 - var(--poll))*24px))}
  .story-choice{position:relative;width:73%;min-height:12.4cqw;margin-top:2cqw;padding:3.2cqw 4.5cqw;border-radius:8cqw;background:#583803;color:#ffb340;font-weight:600;font-size:4.2cqw;display:flex;align-items:center;justify-content:space-between;gap:2cqw}
  .story-choice>i{display:block;width:5.8cqw;height:5.8cqw;border:.65cqw solid #ffb340;border-radius:50%;flex-shrink:0}
  .story-choice-primary{width:calc(73% + var(--selected)*23%);min-height:17cqw;color:color-mix(in srgb,#ffb340 calc((1 - var(--selected))*100%),#fff);background:color-mix(in srgb,#ffb340 calc(var(--selected)*100%),#583803)}
  .story-choice-primary .choice-radio{opacity:calc(1 - var(--selected))}
  .choice-avatar{position:absolute;right:3.5cqw;top:50%;margin-top:-3.3cqw;width:6.6cqw;height:6.6cqw;background:#829ac8;border-radius:50%;font-size:2.8cqw;display:grid;place-items:center;color:#fff;opacity:var(--selected);transform:scale(calc(.7 + var(--selected)*.3))}
  .poll-add{font-size:4.3cqw;color:#ffb340;padding:3.5cqw 4.5cqw 0;font-weight:600}
  .story-touch{position:absolute;left:59%;top:4cqw;width:11cqw;height:11cqw;border-radius:50%;background:#ffffff26;border:1px solid #ffffff90;opacity:var(--touch);transform:scale(var(--touch-scale));display:grid;place-items:center}
  .story-touch span{width:5cqw;height:5cqw;border-radius:50%;background:#ffffffad}
  .story-card{margin-top:4.2cqw;width:96%;border-radius:5.5cqw;overflow:hidden;background:#d8dce0;opacity:var(--card);transform:translateY(calc((1 - var(--card))*30px)) scale(calc(.97 + var(--card)*.03));transform-origin:bottom left}
  .story-quad{background:#E6E8EC}.story-quad svg{display:block;width:100%;height:auto}
  .story-link{padding:2.5cqw 3.5cqw 3cqw;color:#161619;display:flex;flex-direction:column;gap:1cqw;font-size:3.5cqw}
  .story-link strong{font-size:3.8cqw;font-weight:600}.story-link span{color:#555a60}.story-link b{float:right;font-size:5cqw;line-height:.7}
  .messages-composer{position:absolute;bottom:0;left:0;width:100%;height:auto;display:block}
  .scroll-story[data-reduced=true] .story-navigation,.scroll-story:not([data-animated=true]) .story-navigation{display:none}
  #after-thread{scroll-margin-top:24px}
  .manifesto h2 em{display:inline-block;width:100%;transform-origin:center;letter-spacing:inherit;transition:transform 940ms cubic-bezier(.2,.7,.2,1),letter-spacing 940ms cubic-bezier(.2,.7,.2,1)}
  .manifesto[data-emphasized=true] h2 em{transform:scale(1.065);letter-spacing:.012em}
  #thought-stage{padding-block:var(--thought-gap,0px);overflow-anchor:none}
  #thought-stage:not([data-state=idle]):not([data-state=done]) .manifesto{border-color:transparent}
  html.thought-holding{scroll-behavior:auto!important;overflow-anchor:none}
}
@media(min-width:801px) and (max-width:1100px){.hero{gap:0}.thought-line{display:block}}
@media(min-width:801px) and (max-height:680px){
  .hero{padding-top:0;padding-bottom:10px}
  .hero .cinematic{align-self:start;height:calc(100svh - 116px)}
  .film-caption{margin-top:12px;font-size:10px}.hero-film{height:calc(100svh - 178px)}
  .story-copy h2{font-size:clamp(48px,8svh,70px)}.story-intro{font-size:16px;margin-top:20px}.story-steps{margin-top:24px}
}
@media(prefers-reduced-motion:reduce){.story-phone{will-change:auto}.manifesto h2 em{transition:none!important;transform:none!important;letter-spacing:inherit!important}}
