/* Responsive hardening — 2026-07 */
html, body { width: 100%; max-width: 100%; overflow-x: clip; }
body, main, section, footer, .panel { min-width: 0; }
.hero, .statement, .blueprint, .projects, .studio, .contact { overflow-x: clip; }
.section-shell { max-width: calc(100% - 30px); }
.hero-title, .hero-title-line { max-width: 100%; }
.projects { max-width: 100%; }
.projects-track { will-change: transform; }
.project-card, .project-art, .project-info, .project-info > * { min-width: 0; }
.project-art, .studio-visual, .blueprint-stage { overflow: hidden; }
@media (min-width: 900px) {
  .projects { overflow: clip; }
  .projects-track { max-width: none; }
  .panel { flex: 0 0 100vw; width: 100vw; max-width: 100vw; }
}
@media (max-width: 899px) {
  .hero { min-height: auto; padding-bottom: 72px; }
  .hero-title { font-size: clamp(58px, 17vw, 92px); line-height: .86; letter-spacing: -.055em; }
  .hero-model-shell { max-width: 100%; overflow: hidden; }
  .projects { overflow: hidden; }
  .projects-track { transform: none !important; }
  .project-card { max-width: 100%; }
  .project-info h3 { font-size: clamp(28px, 9vw, 42px); line-height: .96; overflow-wrap: anywhere; }
  .render-tree { right: -2% !important; transform: scale(.88); transform-origin: right center; }
  .studio-shadow { right: -5% !important; max-width: 86vw; }
}
@media (max-width: 520px) {
  .hero-title { font-size: clamp(52px, 16vw, 72px); }
  .project-art { min-height: 500px; }
  .statement-text { font-size: clamp(38px, 11vw, 60px); }
}
