/* Responsive finishing: keep content in separate, measurable regions. */
.site-menu{overflow-x:hidden}
.menu-content,.menu-links{min-width:0}
.menu-links a{min-width:0}
@media (min-width:901px) and (max-width:1100px) and (min-height:650px) {
  .hero-copy-left{top:13%;max-width:60vw}
  .hero-copy-left h1{font-size:48px}
  .hero-copy-right{display:none}
  .hero-portrait{width:min(85vw,calc(80svh - 150px));height:min(85vw,calc(80svh - 150px));bottom:0}
}
@media (max-width:900px) {
  .hero-copy-right{display:none}
  .hero-copy-left{top:13%;max-width:46vw}
  .hero-copy-left h1{font-size:clamp(40px,5.8vw,52px)}
  .menu-content{display:flex;flex-direction:column-reverse;align-items:stretch;gap:25px;flex:none}
  .menu-art{height:125px;grid-template-columns:repeat(4,1fr);transform:none;padding:0}
  .menu-art>div:nth-child(n){transform:none;clip-path:none}
  .menu-art>div:nth-child(4) img{padding:6px}
  .menu-links a span{font-size:clamp(36px,6.4vw,54px)}
  .menu-links a{gap:10px;padding:12px 0}
  .menu-links a small{flex:none;width:18px}
  .menu-footer{margin-top:28px}
}
@media (min-width:601px) and (max-width:900px) and (min-height:650px) {
  .hero-portrait{width:min(95vw,calc(80svh - 150px));height:min(95vw,calc(80svh - 150px));bottom:0}
}
@media (max-width:600px) {
  .hero-stage{min-height:0}
  .hero-copy-left{top:13%;max-width:88vw}
  .hero-copy-left h1{font-size:clamp(40px,12.5vw,56px)}
  .hero-portrait{width:min(118vw,calc(70svh - 170px));height:min(118vw,calc(70svh - 170px));bottom:17%;left:50%}
  .hero-team-link,.hero-reveal-controls{bottom:8%;width:42%}
  .hero-team-link b{font-size:clamp(19px,5.5vw,25px)}
  .hero-team-link{padding:12px 10px}
  .hero-reveal-controls .reveal-toggle{padding:14px 10px;gap:7px;min-height:52px;font-size:7px}
  .hero-reveal-controls>p{font-size:6px;line-height:1.6}
  .scroll-cue{bottom:1.8%;gap:2px;font-size:6px}
  .scroll-cue b{font-size:18px}
  .uniform-caption{align-items:flex-start;flex-wrap:wrap;gap:10px}
  .player-dialog-copy h2{font-size:clamp(40px,13vw,62px)}
}
@media (max-width:360px) {
  .menu-links a{gap:7px}
  .menu-links a span{font-size:32px}
  .menu-links a small{width:14px}
  .menu-links a b{font-size:22px}
  .brand-3d-caption h3{font-size:26px}
  .brand-3d-caption{gap:5px}
  .brand-3d-card:nth-of-type(3){margin-top:0}
  .player-info{align-items:flex-start;flex-wrap:wrap;gap:6px}
  .section-heading h2{font-size:clamp(50px,17vw,60px)}
  .uniform-copy h2{font-size:58px}
}
/* Low screens use an ordinary scroll scene, so controls remain reachable. */
@media (max-height:649px) {
  .hero-scroll,.reduce-motion .hero-scroll{height:auto}
  .hero-stage{position:relative;height:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:100px 6vw 28px;align-items:center}
  .hero-copy-left{position:relative;top:auto;left:auto;max-width:none;grid-column:1;grid-row:1}
  .hero-copy-left h1{font-size:clamp(40px,7vw,64px)}
  .hero-copy-right,.hero-scroll-type,.hero-sigil,.hero-caption,.hero-corner{display:none}
  .hero-portrait{position:relative;left:auto;bottom:auto;transform:none;width:100%;height:380px;grid-column:2;grid-row:1 / 4}
  .hero-team-link,.hero-reveal-controls{position:relative;inset:auto;width:100%;max-width:290px;grid-column:1}
  .hero-team-link{grid-row:2}
  .hero-reveal-controls{grid-row:3}
  .scroll-cue{position:relative;inset:auto;transform:none;grid-column:1 / -1;justify-self:center;color:var(--ink);mix-blend-mode:normal}
  .hero-location{display:none}
  .hero-team-link b{font-size:24px}
  .hero-watermark{top:35%}
  .desktop-hint{display:none}.mobile-hint{display:inline}
}
@media (max-height:649px) and (max-width:499px) {
  .hero-stage{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:98px}
  .hero-copy-left,.hero-portrait,.hero-team-link,.hero-reveal-controls,.scroll-cue{grid-column:1;grid-row:auto}
  .hero-copy-left h1{font-size:clamp(40px,12.5vw,56px);margin:12px 0}
  .hero-portrait{height:310px}
  .hero-team-link,.hero-reveal-controls{max-width:none}
}
/* A reserved caption area prevents native swipe cards being cut off. */
@media (max-width:900px), (max-height:649px) {
  .story-collage{--collage-height:clamp(400px,62svh,640px)}
  .story-collage .story-window{height:var(--collage-height);min-height:0;max-height:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .story-collage .story-track{align-items:center;height:100%;padding:30px 9vw 45px;gap:10vw}
  .story-collage .story-photo{align-self:center;margin-top:0;margin-bottom:0;scroll-snap-align:center;transform:none}
  .story-collage .story-photo-image{max-height:calc(var(--collage-height) - 155px)}
  .story-collage .story-caption{margin-top:15px}
  .story-collage .story-caption p{font-size:clamp(19px,3.5vw,23px)}
}
.reduce-motion .hero-scroll{height:auto}
.reduce-motion .hero-stage{position:relative}
