/* Local QA overrides: keep the editorial 3D layout usable at every viewport. */
html,body{max-width:100%;overflow-x:clip}
img,video,canvas{max-width:100%}
.product-stage,.product-stage-inner,.product-layout{min-width:0;max-width:100vw}
.product-stage .scene-canvas{contain:layout paint}
.catalog-model-canvas,.catalog-physics,.blood-field-3d{max-width:none}
.product-detail-page .detail-band-visual,.product-detail-page .detail-band-copy{min-width:0}
.about-company-media,.about-film-viewport,.about-company-video{max-width:100%;min-width:0}
.about-company-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

@media (max-width:760px){
  .product-stage{height:100svh;min-height:640px;padding-inline:16px}
  .product-stage .hero-copy{inset:10% 18px auto;max-width:calc(100% - 36px)}
  .product-stage .hero-copy h1{font-size:clamp(32px,9vw,46px);line-height:1.35}
  .product-stage .hero-copy #product-description{font-size:13px;line-height:1.75;max-width:34ch}
  .product-stage .scene-canvas{inset:32% 3% 30%;min-height:0}
  .product-stage .story-note{bottom:21%;max-width:calc(50% - 30px)}
  .product-stage .story-note strong{font-size:clamp(17px,5.2vw,23px);line-height:1.45}
  .product-stage .story-note p{font-size:clamp(11px,3.2vw,14px);line-height:1.65}
  .product-stage .note-left{left:18px}.product-stage .note-right{right:18px}
  .product-stage .note-bottom{bottom:12%;width:190px;max-width:calc(100% - 36px)}
  .product-stage .note-bottom b{font-size:clamp(25px,8vw,34px)}
  .product-stage .note-bottom span{font-size:11px;line-height:1.55}
  /* Keep the utility controls above the four-item switcher on short phones. */
  .product-stage .scene-controls{bottom:9%;left:18px}
  .product-stage .story-action{bottom:9%;right:18px}
  .product-stage .story-action button{font-size:11px;gap:5px}
  .product-stage .product-switcher{bottom:1.5%;gap:6px;max-width:calc(100% - 28px)}
  .product-stage .product-switcher button{min-width:0;font-size:9px}
  .product-stage[data-detail-page="true"] .scene-controls,
  .product-stage[data-detail-page="true"] .story-action{bottom:10%}
  .products-editorial .catalog-card,.products-editorial .catalog-visual{min-width:0}
  .products-editorial .catalog-visual{min-height:280px}
  .product-detail-page .detail-band{grid-template-columns:1fr!important;gap:24px!important;padding-block:58px!important}
  .product-detail-page .detail-band-visual{order:2;min-height:285px!important;width:100%;overflow:hidden}
  .product-detail-page .detail-band-copy{order:1;width:100%;max-width:100%}
  .product-detail-page .detail-band-copy h2{font-size:clamp(25px,7.5vw,34px);line-height:1.45}
  .product-detail-page .detail-band-copy p,.product-detail-page .detail-band-copy li{font-size:14px;line-height:1.9}
  .about-page .about-company-media{margin-inline:0;border-radius:14px;overflow:hidden}
  .about-page .about-company-media figcaption{padding:14px 16px}
  .about-page .company-flow,.about-page .management-profiles{grid-template-columns:1fr!important}
  .about-page .company-flow article{min-width:0;min-height:190px!important}
  .site-footer .footer-main,.site-footer .footer-bottom{min-width:0}
}
@media (max-width:380px){
  .product-stage{min-height:610px}
  .product-stage .hero-copy{inset:8% 14px auto}
  .product-stage .hero-copy h1{font-size:32px}
  .product-stage .hero-copy #product-description{font-size:12px}
  .product-stage .scene-canvas{inset:31% 0 32%}
  .product-stage .story-note strong{font-size:17px}
  .product-stage .story-note p{font-size:10px}
  .product-stage .note-bottom{bottom:12%;width:170px}
  .product-stage .product-switcher button{font-size:8px}
}
@media (min-width:1800px){
  .product-stage .hero-copy{inset-inline:24%}
  .product-stage .scene-canvas{inset-inline:27%}
  .product-detail-page .detail-band{max-width:1680px;margin-inline:auto}
  .about-page .about-company-media{max-width:1680px;margin-inline:auto}
}
