/* The visible stage has its own bounded height; scroll distance is separate. */
.credits-link{justify-self:start;color:#b9cddd;font-size:16px;padding:9px 0;text-decoration:underline;text-underline-offset:4px;min-height:44px;text-align:left}
#photo-credits article{padding:22px 0;border-top:1px solid var(--line)}
#photo-credits h3{font-size:24px;line-height:1.3;margin-bottom:16px}
#photo-credits p{font-size:18px;line-height:1.65;margin-bottom:14px}
#photo-credits a{text-decoration:underline;text-underline-offset:3px;color:var(--cobalt)}
.offer-time-note{font-size:18px;color:#c3d3df}
.scene-region[data-frame-fit="contain"] .initial-drawing,.scene-region[data-frame-fit="contain"] .finished-visual,.scene-region[data-frame-fit="contain"] .fallback-image{object-fit:contain;background:#e8e9e1}
.scene-region[data-frame-fit="contain"] .scene-view{background:#e8e9e1}
@media(max-width:980px){
 :root{--story-panel-height:min(720px,calc(100svh - var(--header) - 16px - env(safe-area-inset-bottom,0px)))}
 .construction-story{height:calc(var(--story-panel-height)*2.5)}
 .story-stage,.reduced .story-stage{height:var(--story-panel-height)!important;min-height:0!important;max-height:var(--story-panel-height)!important;padding:18px 20px 16px;gap:12px;grid-template-rows:76px minmax(0,1fr) 44px}
 .phase-description{height:76px!important;min-height:0;padding-left:14px}
 .phase-description h2{font-size:28px;line-height:1.15;margin:0;letter-spacing:-.04em}
 .phase-description p{display:none}
 .scene-region{height:100%;min-height:0}
 .story-controls{height:44px;min-height:44px;padding:0;gap:12px;border:0}
 .story-controls:before{content:'Листайте страницу';max-width:none;white-space:nowrap;font-size:16px;line-height:1.3}
 .story-controls .motion-button{min-height:40px;height:40px;padding:8px 4px;max-width:none;white-space:nowrap;font-size:16px;line-height:1.3}
 .reduced .story-controls{grid-template-columns:40px auto 40px minmax(82px,1fr);gap:5px;height:44px;min-height:44px}
 .reduced .story-controls .stage-arrow{height:40px;width:40px;min-height:40px;font-size:23px}
 .reduced .story-controls .phase-number{font-size:18px;min-width:58px}
 .reduced .story-controls .motion-button{grid-column:auto;justify-self:end;height:40px;min-height:40px;padding:8px;max-width:none;font-size:16px;line-height:1.3;white-space:nowrap}
 .scene-fallback .story-stage{grid-template-rows:76px minmax(0,1fr)}
 .case-studies{position:relative}
 .credits-link{display:block;margin-top:20px}
 .capture .story-stage{height:100svh!important;max-height:none!important;min-height:0!important;padding:0;display:block}
 .capture .construction-story{height:100svh!important}
}
@media(max-width:359px){
 .story-stage,.reduced .story-stage{padding:16px 17px 14px;gap:10px;grid-template-rows:72px minmax(0,1fr) 42px}
 .phase-description{height:72px!important;padding-left:11px}
 .phase-description h2{font-size:26px;line-height:1.15}
 .story-controls,.reduced .story-controls{height:42px;min-height:42px}
 .story-controls:before{font-size:16px;max-width:none}
 .scene-fallback .story-stage{grid-template-rows:72px minmax(0,1fr)}
 .capture .story-stage{padding:0;display:block}
}
@media(max-width:980px) and (max-height:520px){
 .story-stage,.reduced .story-stage{padding:12px 18px;gap:10px;grid-template-rows:48px minmax(0,1fr) 40px}
 .phase-description{height:48px!important;padding-left:12px}
 .phase-description h2{font-size:24px;line-height:1.12}
 .story-controls,.reduced .story-controls{height:40px;min-height:40px}
 .scene-fallback .story-stage{grid-template-rows:48px minmax(0,1fr)}
 .capture .story-stage{height:100svh!important;max-height:none!important;padding:0;display:block}
}
