/* Flexible tracks and intrinsic content must never force a page wider than its viewport. */
.page-title-grid>*,.catalog-layout>*,.catalog-top>*,.filters>*,.contact-layout>*,.company-story>*,.document-card>*,.dialog-grid>*,.footer-grid>*{min-width:0}
.search-box,.search-box input{min-width:0}
.filters select,.result-toolbar select{max-width:100%}
.page-title-grid h1{overflow-wrap:break-word}
.contact-email,.contact-address p,.footer-grid p,.footer-grid a,.dialog-content h2,.dialog-content .model,.product-specs dd{overflow-wrap:anywhere}
.dialog-image{display:block;min-height:0;aspect-ratio:1 / 1.1;padding:0}
.dialog-image img{position:absolute;inset:58px 28px 28px;width:calc(100% - 56px);height:calc(100% - 86px);max-height:none;object-fit:contain}
.dialog-content{min-width:0}
.product-specs>div{flex-wrap:wrap;gap:8px 20px}
.product-specs dd{max-width:100%}
.catalog-sync{flex-wrap:wrap;text-align:center}
@media(min-width:701px) and (max-width:1050px){
  .nav-wrap{gap:18px}
  .logo{width:clamp(158px,20vw,195px)}
  nav{gap:clamp(12px,2vw,22px)}
  nav>a{font-size:11px}
  .nav-catalog{padding:12px 15px;gap:12px;font-size:10px}
}
@media(max-width:700px){
  html{scroll-padding-top:95px}
  .nav-wrap{gap:12px}
  .logo{width:clamp(140px,43vw,178px);min-width:0}
  .nav-catalog{flex-shrink:0}
  .menu-toggle{flex-shrink:0;min-width:36px;min-height:44px}
  .page-title-grid h1{font-size:clamp(38px,9vw,58px);letter-spacing:-.055em}
  .filters{gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-category,.brand-filter{font-size:12px}
  .mobile-category select,.brand-filter select,.result-toolbar select{font-size:16px;min-height:44px}
  .search-box input{font-size:16px;min-height:32px}
  .result-toolbar{gap:10px;flex-wrap:wrap}
  .result-toolbar p{font-size:12px}
  .selection-button{min-width:65px;min-height:44px;flex-shrink:0}
  .dialog-image{height:auto;aspect-ratio:1.15;max-height:360px}
  .dialog-image img{inset:48px 24px 20px;width:calc(100% - 48px);height:calc(100% - 68px);max-height:none}
  .dialog-content{padding:28px 24px}
  .dialog-content h2{font-size:clamp(23px,5.8vw,30px)}
  .dialog-close{min-width:44px;min-height:44px}
  .footer-grid>div>a:not(.footer-logo),.footer-grid p{font-size:12px}
  .contact-form input,.contact-form textarea{font-size:16px}
}
@media(max-width:380px){
  .nav-wrap{gap:8px}
  .logo{width:clamp(128px,42vw,157px)}
  .nav-catalog{font-size:9px;padding:10px;gap:6px}
  .nav-catalog svg{width:12px;height:12px}
  .hero h1{font-size:clamp(72px,23vw,90px)}
  .hero h1 em{margin-left:8%}
  .hero-kicker{letter-spacing:.8px}
  .hero-seal{width:52px;height:52px;right:12px}
  .footer-intro>a{font-size:clamp(25px,8.4vw,32px);gap:12px}
  .contact-phone{font-size:30px}
  .contact-phone strong{font-size:44px}
  .contact-phone svg{right:0}
  .contact-email{font-size:11px}
  .document-copy{padding-inline:20px}
  .document-copy h2{font-size:27px}
}
@media(max-height:550px) and (min-width:701px){
  .nav-wrap{height:72px}
  html{scroll-padding-top:84px}
  dialog{max-height:94svh}
}
