/* V73: keep the whole photographic frame on wide desktop windows.
   Its blurred copy fills the sides; pointer mapping still uses the sharp frame. */
@media (min-width:1001px) and (min-aspect-ratio:16/9){
  html .stage .portrait::before{content:"";position:absolute;inset:-32px;background-image:var(--portrait-backdrop);background-position:center;background-size:cover;background-repeat:no-repeat;filter:blur(26px) brightness(.55);pointer-events:none}
  html .stage .portrait img,html .stage .portrait.gesture-wide img{left:50%;top:0;width:auto;max-width:100%;height:100%;object-fit:contain;object-position:50% 50%;transform:translateX(-50%);background:transparent;-webkit-mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent);mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent)}
}
/* The business card and private-lab link need two header rows earlier. */
@media (min-width:541px) and (max-width:1240px){
  html .topbar{height:128px;flex-wrap:wrap;align-content:center;gap:10px 20px}
  html .topbar nav{order:4;flex-basis:100%;justify-content:flex-end;margin:0;gap:24px}
  html .topbar .language-switch{margin-left:auto}
  html .stage .hero-intro{top:155px}
  html .stage .season-note{top:155px}
  html .stage .discipline{top:52%}
}
/* A sticky scene taller than the window hides its lower controls.
   Short desktop windows use normal page scrolling instead. */
@media (min-width:1001px) and (max-height:640px){
  html .story{height:auto}
  html .story .stage{position:relative;height:680px;min-height:680px}
  html .stage .discipline{top:47%}
}
@media (min-width:1001px) and (max-width:1240px) and (max-height:640px){
  html .stage .discipline{top:58%}
}

/* V74: content keeps a readable measure on large displays. */
@media(min-width:1601px){
 html .section-pad{padding-inline:max(var(--pad),calc((100% - 2200px)/2))}
 html .work .section-heading p,html .work .project p{font-size:clamp(15px,.75vw,20px);max-width:620px}
 html .work .project h3{font-size:clamp(30px,1.2vw,40px)}
 html .work .project-meta{font-size:clamp(9px,.36vw,13px)}
 html .theme-archive .season-card-title{font-size:clamp(18px,.75vw,25px)}
 html .theme-archive .season-card-teaser{font-size:clamp(11px,.45vw,15px)}
}
@media(min-width:541px){
 html .work .projects{grid-template-columns:repeat(2,minmax(0,1fr))}
 html .work .project-visual{height:auto;aspect-ratio:16/9}
 html .work .project-visual>img{display:block;object-fit:contain}
 html .work .hoodies-card{height:clamp(350px,28vw,460px);aspect-ratio:auto}
 html .theme-archive .season-card-art,html .theme-archive .season-card[data-state="locked"] .season-card-art{height:auto;aspect-ratio:16/9}
 html .theme-archive .season-card-art img{object-fit:contain}
 html .theme-archive .gate-countdown-number{font-size:clamp(52px,28cqi,142px)}
}
