.opening-brand,.opening-cue{display:none}
@media(prefers-reduced-motion:no-preference){
  .scroll-story header{position:fixed;inset:0 0 auto;background:#111b;backdrop-filter:blur(12px);opacity:var(--opening-header,0);transform:translateY(calc((1 - var(--opening-header,0)) * -100%));transition:none}
  .scroll-story header:focus-within{opacity:1;transform:none}
  .scroll-story .opening{height:520svh;position:relative;background:#111}
  .scroll-story .opening .hero{position:sticky;top:0;height:100svh;min-height:0;max-height:none;padding:125px 5% 6svh;overflow:hidden;isolation:isolate}
  .scroll-story .opening .hero-photo{transform:none;clip-path:inset(var(--opening-mask,50%) 0);will-change:clip-path}
  .scroll-story .opening .hero-photo img{animation:none;transform:scale(var(--opening-zoom,1.22));transition:opacity .5s;will-change:transform}
  .scroll-story .opening .shade{background:linear-gradient(180deg,#0007,transparent 30%,#0003 50%,#000b)}
  .scroll-story .opening-brand{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:30px;pointer-events:none;z-index:3;opacity:var(--brand-opacity,0);transform:translateY(var(--brand-y,32px)) scale(var(--brand-scale,.92));will-change:transform,opacity}
  .opening-brand .logo-art{width:min(48vw,620px);aspect-ratio:var(--logo-ratio,1148 / 537)}
  .opening-name{font-size:12px;letter-spacing:.25em}
  .scroll-story .opening-cue{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;flex-direction:column;gap:25px;z-index:4;pointer-events:none;opacity:var(--cue-opacity,1)}
  .opening-dot{width:16px;height:16px;border-radius:50%;background:var(--pink);margin-bottom:24px}
  .opening-cue>span:nth-child(2){font-size:12px;letter-spacing:.2em;color:#b5b5b5}
  .opening-cue svg{width:20px;height:34px;color:#888}
  .scroll-story .opening h1{transform:none;margin:auto 0;overflow:hidden;font-size:clamp(48px,7.8vw,120px)}
  .scroll-story .opening h1>span{animation:none;transition:none;opacity:var(--line-one,0);transform:translateY(var(--line-one-y,110%));clip-path:inset(0 0 0 0)}
  .scroll-story .opening h1>span+span{opacity:var(--line-two,0);transform:translateY(var(--line-two-y,110%))}
  .scroll-story .opening .hero-kicker,.scroll-story .opening .hero-bottom{opacity:var(--opening-controls,0);transform:translateY(var(--opening-controls-y,22px))}
  .scroll-story .intro .reveal,.scroll-story .work>.reveal,.scroll-story .statement .reveal{opacity:1;transform:none;transition:none}
  .scroll-story .scroll-entry,.scroll-story .intro-copy.reveal>p,.scroll-story .intro-copy.reveal>.text-link,.scroll-story .definition-row.reveal>p,.scroll-story .statement-inner>p{opacity:var(--entry-opacity,0);transform:translate3d(0,var(--entry-y,45px),0);transition:none}
  .scroll-story .intro-grid h2 em,.scroll-story .work-heading h2 em,.scroll-story .pink-dot{transform:none}
  .scroll-story .work .project-scene .project-photo{clip-path:inset(0)}
  .scroll-story .work .project-scene .project-info{opacity:var(--scene-title-opacity,0)}
  .scroll-story .project-scene .scene-open{opacity:var(--scene-title-opacity,0)}
  @media(max-width:760px){
    .scroll-story .opening{height:490svh}
    .scroll-story .opening .hero{padding:105px 6% 6svh}
    .opening-brand .logo-art{width:72vw}
    .opening-name{font-size:12px;letter-spacing:.16em}
    .scroll-story .opening h1{font-size:clamp(40px,9.2vw,68px);line-height:1.09}
  }
  @media(max-height:500px){
    .scroll-story .opening .hero{padding:82px 5% 20px}
    .scroll-story .opening h1{font-size:clamp(32px,5vw,56px)}
    .scroll-story .hero-kicker{display:none}
    .opening-brand .logo-art{width:min(35vw,300px)}
    .opening-brand{gap:15px}
  }
}

/* Contact details must remain reachable at the physical end of the page. */
.scroll-story footer{padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
.scroll-story footer .footer-brand,.scroll-story footer .footer-bottom,.scroll-story footer .footer-contact,.scroll-story footer .footer-contact>a{opacity:1;transform:none;transition:none}

/* Each project keeps its own photographic rhythm within a shared layout. */
.project-alternate{display:none!important}
.opening-name{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:380px;gap:20px}
#project-dialog{overscroll-behavior:contain;scrollbar-gutter:stable}
#detail-images figure{margin:0;min-width:0}
#detail-images figcaption{padding:18px 0 36px;color:#929292;font-size:12px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase}
.next-project{position:relative;isolation:isolate;overflow:hidden;width:100%;margin:50px 0 0;padding:70px 6%;height:55svh;min-height:340px;gap:32px;color:#fff;border:0;background:#151515;align-items:flex-end}
.next-project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s}
.next-project::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0005,#0003 30%,#000c);z-index:-1}
.next-project-kicker{position:absolute;left:6%;top:45px;font-size:12px;letter-spacing:.18em}
.next-project-label{font-size:clamp(32px,5.5vw,78px);line-height:1.08;max-width:1000px;text-wrap:balance}
.next-project>.link-arrow{width:48px;height:48px;flex-shrink:0}
.next-project:hover{color:white}
.next-project:hover .next-project-image{transform:scale(1.035)}
.next-project:hover>.link-arrow{transform:translate(4px,-4px)}
.next-project:focus-visible{outline-offset:-5px}
@media(max-width:760px){
 #detail-images figcaption{padding:16px 6% 24px}
 .next-project{height:48svh;min-height:300px;padding:40px 6%;gap:20px}
 .next-project-kicker{top:30px}
 .next-project>.link-arrow{width:32px;height:32px}
 .opening-name{max-width:72vw;gap:12px}
}
.story-word{display:inline-block}
@media(prefers-reduced-motion:no-preference){
  .scroll-story .opening{height:280svh}
  .scroll-story .opening-brand{gap:24px}
  .scroll-story .opening-name{letter-spacing:.28em}
  .scroll-story .opening-name>span{opacity:var(--brand-word-one,0);transform:translateY(calc((1 - var(--brand-word-one,0)) * 12px))}
  .scroll-story .opening-name>span:nth-child(2){opacity:var(--brand-word-two,0);transform:translateY(calc((1 - var(--brand-word-two,0)) * 12px))}
  .scroll-story .opening-name>span:nth-child(3){opacity:var(--brand-word-three,0);transform:translateY(calc((1 - var(--brand-word-three,0)) * 12px))}
  .scroll-story .opening h1{line-height:1.08;letter-spacing:-.065em}
  .scroll-story .opening .hero-kicker{font-size:12px;letter-spacing:.12em}
  .scroll-story .word-sequence.scroll-entry,.scroll-story .statement-inner>p.word-sequence{opacity:1;transform:none}
  .scroll-story .story-word{opacity:var(--word-light,.16);transform:translateY(var(--word-lift,12px));will-change:auto}
  .scroll-story .intro-grid{gap:8%;padding-top:95px;padding-bottom:90px}
  .scroll-story .intro-grid h2{font-size:clamp(48px,6.4vw,96px)}
  .scroll-story .definition-row{gap:5%;padding-top:35px}
  .scroll-story .definition-row b{font-size:clamp(25px,3vw,44px)}
  .scroll-story .work{padding-bottom:0}
  .scroll-story .work{background:#111;color:#f5f4f2}
  .scroll-story .work .section-label{color:#999;border-color:#333}
  .scroll-story .work-heading p{color:#aaa}
  .scroll-story .work-heading{margin-top:90px;margin-bottom:100px;align-items:flex-end}
  .scroll-story .work-heading h2{font-size:clamp(52px,8vw,120px)}
  .scroll-story .work .project-scene{height:130svh}
  .scroll-story .work .project-scene[data-camera=dissolve]{height:150svh}
  .scroll-story .work .project-scene .project-photo{clip-path:none}
  .scroll-story .work .project-scene .project-photo>img,.scroll-story .work .project-scene .project-card:hover .project-photo>img{transform:translate3d(0,var(--scene-pan-y,0%),0) scale(var(--scene-zoom,1.04));transition:none}
  .scroll-story .work .project-scene .project-photo>img{object-position:var(--project-focus,50% 50%)}
  .scroll-story .work .project-scene .project-photo>.project-alternate{display:block!important;position:absolute;inset:0;opacity:var(--scene-mix,0);transform:scale(calc(1.12 - var(--scene-mix,0) * .07))}
  .scroll-story .project-scene .project-photo::after{z-index:1;background:linear-gradient(180deg,#0006,transparent 28%,transparent 45%,#000b)}
  .scroll-story .work .project-scene .project-info{z-index:2;bottom:17svh}
  .scroll-story .project-scene .project-info h3{max-width:900px;font-size:clamp(40px,6.3vw,90px);line-height:1.04;letter-spacing:-.055em}
  .scroll-story .project-scene[data-camera=dissolve] .project-info h3{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.055em}
  .scroll-story .project-scene .scene-meta{top:112px;z-index:2;font-size:12px;letter-spacing:.16em}
  .scroll-story .project-scene .scene-meta>span:last-child{border-top:1px solid #fff8;padding-top:12px;min-width:70px;text-align:right}
  .scroll-story .project-scene .scene-open{z-index:2;bottom:6svh;min-width:210px;border-top-color:#ffffff70}
  .scroll-story .project-scene .project-card::after{width:100px;z-index:2}
  .scroll-story .statement{padding-top:125px;padding-bottom:125px}
  .scroll-story .statement p{font-size:clamp(52px,7.8vw,118px);max-width:1350px;line-height:1.05;margin:65px 0}
  .scroll-story .statement a{max-width:360px;padding:24px 0}
  .scroll-story .orbit{display:none}
  @media(max-width:760px){
    .scroll-story .opening{height:260svh}
    .scroll-story .opening-name{letter-spacing:.16em}
    .scroll-story .intro-grid{padding:55px 0;gap:46px}
    .scroll-story .intro-grid h2{font-size:clamp(46px,11vw,70px)}
    .scroll-story .definition-row{gap:16px}
    .scroll-story .definition-row b{font-size:23px}
    .scroll-story .work-heading{align-items:flex-start;margin-top:55px;margin-bottom:65px}
    .scroll-story .work-heading h2{font-size:clamp(48px,12vw,76px)}
    .scroll-story .project-scene .scene-meta{top:98px}
    .scroll-story .project-scene .project-info h3{font-size:clamp(34px,9.5vw,54px);max-width:600px}
    .scroll-story .work .project-scene .project-info{bottom:20svh}
    .scroll-story .project-scene .scene-open{bottom:8svh;min-width:175px}
    .scroll-story .project-scene .project-card::after{width:55px;bottom:11svh}
    .scroll-story .statement{padding:90px 6%}
    .scroll-story .statement p{font-size:clamp(44px,10.8vw,68px);margin:45px 0}
  }
  @media(max-height:500px){
    .scroll-story .project-scene .scene-meta{top:100px}
    .scroll-story .work .project-scene .project-info{bottom:85px}
    .scroll-story .project-scene .project-info h3{font-size:32px;max-width:70%;margin-bottom:8px}
    .scroll-story .project-scene .scene-open{bottom:15px;padding:10px 0}
  }
}

/* Wide architecture breathes between immersive interiors; no side borders. */
@media(prefers-reduced-motion:no-preference){
 .scroll-story .work .project-scene[data-layout=panorama]{height:auto;padding:60px 0 65px}
 .scroll-story .work .project-scene[data-layout=panorama] .project-card{position:relative;top:auto;height:auto;display:flex;flex-direction:column;overflow:hidden}
 .scroll-story .work .project-scene[data-layout=panorama] .scene-meta{position:relative;inset:auto;order:-1;margin:0 5% 25px;display:flex}
 .scroll-story .work .project-scene[data-layout=panorama] .scene-meta>span:last-child{border:0;padding:0}
 .scroll-story .work .project-scene[data-layout=panorama] .project-photo{position:relative;inset:auto;aspect-ratio:var(--project-ratio,1.7);height:auto;width:100%}
 .scroll-story .work .project-scene[data-layout=panorama] .project-photo::after{display:none}
 .scroll-story .work .project-scene[data-layout=panorama] .project-info{position:relative;inset:auto;display:flex;margin:32px 5% 0;opacity:1;transform:none;text-shadow:none;gap:30px}
 .scroll-story .work .project-scene[data-layout=panorama] .project-info h3{font-size:clamp(32px,4.3vw,64px);margin-bottom:16px}
 .scroll-story .work .project-scene[data-layout=panorama] .project-number{display:block;font-size:42px;color:#777;line-height:1}
 .scroll-story .work .project-scene[data-layout=panorama] .scene-open{position:relative;inset:auto;align-self:flex-start;min-width:200px;margin:30px 5% 0;opacity:1}
 .scroll-story .work .project-scene[data-layout=panorama] .project-card::after{bottom:24px}
 .scroll-story .work .project-scene[data-layout=panorama]+.project-scene[data-layout=panorama]{padding-top:10px}
 @media(max-width:760px){
  .scroll-story .work .project-scene[data-layout=panorama]{padding:24px 0 45px}
  .scroll-story .work .project-scene[data-layout=panorama] .scene-meta{margin:0 6% 20px}
  .scroll-story .work .project-scene[data-layout=panorama] .project-info{margin:25px 6% 0;gap:15px}
  .scroll-story .work .project-scene[data-layout=panorama] .project-info h3{font-size:clamp(28px,7.5vw,40px);line-height:1.1}
  .scroll-story .work .project-scene[data-layout=panorama] .project-number{font-size:28px}
  .scroll-story .work .project-scene[data-layout=panorama] .scene-open{margin:25px 6% 0;font-size:14px;min-width:175px}
 }
}

@media(prefers-reduced-motion:no-preference){
  .scroll-story .opening .studio-film{position:absolute;inset:0;z-index:5;width:100%;height:100%;margin:0;opacity:var(--film-opacity,0)}
  .scroll-story .opening .studio-film-stage{height:100%}
}
