/* Final V1.5.0 stability, accessibility, performance and responsive polish */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid rgba(20,132,187,.38);outline-offset:3px}
.menu-btn{min-width:44px;min-height:44px;border-radius:12px}
.menu-btn:hover{background:rgba(220,242,250,.72)}
.nav-inner{position:relative}
.product-count{flex:0 0 auto;padding:0 5px;color:#56748a;font-size:11px;font-weight:700;white-space:nowrap}
.form-message.error{border-color:rgba(191,72,72,.28);background:rgba(220,83,83,.1);color:#9a3434}
.btn:disabled{cursor:not-allowed;opacity:.68;transform:none;box-shadow:none}
.visual-panel img{transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.visual-panel:hover img{transform:scale(1.025)}
.capability-table tr:last-child td{border-bottom:0}
.footer-links a,.contact-item a{width:max-content;max-width:100%}
.footer-links a:hover,.contact-item a:hover{color:var(--blue)}
.hero-logo-card{overflow:hidden;contain:layout paint;transform:translateZ(0);will-change:transform}
.hero-logo-card img{width:min(100%,390px);height:auto;max-height:100%;margin:auto;object-fit:contain;object-position:center}
.product-card{content-visibility:auto;contain-intrinsic-size:500px;contain:layout paint style}
.product-media img{backface-visibility:hidden}
.modal{place-items:center!important;align-items:center!important;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));overscroll-behavior:contain}
.modal.open{display:grid}
.modal-card{margin:auto;overscroll-behavior:contain}
@media(max-width:820px){
  .nav-links.open{max-height:calc(100vh - 120px);overflow-y:auto}
  .nav-links.open a{min-height:44px;display:flex;align-items:center;padding:10px 12px;border-radius:10px}
  .nav-links.open a:hover,.nav-links.open a.active{background:rgba(225,244,250,.72)}
  .modal{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));backdrop-filter:none}
  .modal-card{width:min(680px,100%);height:auto;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);grid-template-columns:1fr;grid-template-rows:minmax(170px,32dvh) minmax(0,1fr);overflow:hidden;border-radius:12px}
  .modal-image{min-height:0;height:auto;max-height:none}
  .modal-image img{object-position:center}
  .modal-content{min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
}
@media(max-width:580px){
  .hero h1,.page-hero h1{font-size:clamp(40px,12vw,50px);line-height:.98}
  .hero-actions,.product-actions{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .btn,.product-actions .btn{width:100%}
  .catalog-tools{align-items:stretch}
  .filters{width:100%;padding:2px 0 6px}
  .filter-btn{min-height:42px}
  .product-count{width:100%;padding:2px 4px 0}
  .visual-panel{min-height:390px}
  .cta-box:after{font-size:105px}
  .admin-shortcut{right:12px;bottom:12px}
  .hero-logo-card{display:grid;justify-self:start;width:min(270px,100%);height:230px;margin-top:14px;padding:18px;border-color:rgba(255,255,255,.18);animation:none;will-change:auto}
  .hero-logo-card img{width:auto;height:100%;max-height:194px}
  .modal-card{grid-template-rows:minmax(145px,27dvh) minmax(0,1fr)}
  .modal-content{padding:22px 18px 20px}
  .modal-content h2{margin-top:10px;font-size:clamp(26px,8vw,31px)}
  .modal-close{right:12px;top:12px}
  .noise{display:none}
  .nav{backdrop-filter:none}
  .catalog-tools{backdrop-filter:none}
  .product-card{contain-intrinsic-size:430px}
}
@media(max-width:820px),(prefers-reduced-motion:reduce){
  body:before,body:after{display:none}
  .hero-logo-card{will-change:auto}
}
@media(prefers-reduced-motion:reduce){.visual-panel:hover img{transform:none}}
