/* TRKW: responsive layout and progressive browser fallbacks. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
img,video{max-width:100%}
iframe{max-width:100%;border:0}
.grid>*,.hero-grid>*,.footergrid>*,.formgrid>*,.layout-2col>*,.kv>*{min-width:0}
.h1,.h2,.h3,.lead,.muted,.product-rich{overflow-wrap:break-word;word-wrap:break-word}
.btn,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #56b4d8;outline-offset:3px}
.topbar{background:#e9eef2;background:rgba(245,248,251,.94)}
.topbar .brand-logo{width:auto;max-width:100%;object-fit:contain}
.mobile-panel{height:100vh;height:100dvh;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:0!important;margin:0!important}
.mobile-panel-inner{height:auto;min-height:100%;flex-shrink:0}
.mobile-panel-head,.mobile-panel-actions{flex-shrink:0}
.mobile-panel .mobile-panel-nav a{min-height:52px}
.mobile-panel[aria-hidden="true"]{display:none!important;visibility:hidden;pointer-events:none}
.mobile-panel[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.mobile-overlay[hidden]{display:none!important}
.mobile-toggle .hamburger{width:20px;height:24px;padding:0;border:0;background:transparent;flex-direction:column;gap:4px;border-radius:0}
.mobile-toggle .hamburger span{width:20px;height:2px;margin:0;flex:0 0 2px;background:currentColor}
.cc-banner{-webkit-backdrop-filter:blur(10px);max-height:75vh;max-height:75dvh;overflow-y:auto;overscroll-behavior:contain}
.cc-wrap{bottom:18px;bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}
.cc-modal-overlay{overflow-y:auto;padding-top:16px;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom));overscroll-behavior:contain}
.cc-modal{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column}
.cc-modal-head,.cc-modal-actions{flex-shrink:0}
.cc-modal-body{overflow-y:auto;-webkit-overflow-scrolling:touch;min-height:0}
.cc-x{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.cc-actions .btn,.cc-modal-actions .btn{min-height:44px}
.cc-links a{display:inline-flex;align-items:center;min-height:44px}
.cc-row{min-height:52px}
.product-rich{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.product-rich img{height:auto}
.pd-modal__panel{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
@media(min-width:961px){.topbar .mobile-toggle{display:none}.topbar .menu{display:flex}.mobile-panel,.mobile-overlay{display:none!important}}
@media(max-width:960px){
 :root{--header-offset:88px}
 .topbar .nav,.topbar .nav-premium{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"brand cta toggle";gap:12px;min-height:76px;padding:10px 0;flex-wrap:nowrap}
 .topbar .brand{grid-area:brand;min-width:0}
 .topbar .menu{display:none}
 .topbar .mobile-toggle{grid-area:toggle;display:inline-flex;min-width:48px;min-height:48px}
 .topbar .nav-cta{grid-area:cta;display:flex;width:auto;margin:0}
 .topbar .nav-cta .btn{min-width:0;width:auto;min-height:48px}
 .mobile-panel{display:block!important;width:min(420px,calc(100vw - 16px));max-width:100%}
 .mobile-overlay:not([hidden]){display:block!important}
 .mobile-panel .mobile-panel-actions .btn{width:100%}
 .hero-grid,.kv,.layout-2col{grid-template-columns:minmax(0,1fr)}
 .hero-grid{gap:24px}
 .cards6,.cards4,.cards3,.products-grid,.darkgrid,.process{grid-template-columns:repeat(2,minmax(0,1fr))}
 .footergrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-media{width:100%;min-height:260px;order:-1}
 .section .grid[style*="grid-template-columns"],.section.alt .card.shadow>.p[style*="grid-template-columns"]{grid-template-columns:minmax(0,1fr)!important}
 .section.alt .card.shadow>.p[style*="grid-template-columns"]{gap:20px!important}
 .mobile-panel-nav a small{font-size:13px}
}
@media(max-width:760px){
 .topbar .nav,.topbar .nav-premium{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand toggle";min-height:72px;padding:8px 0}
 .topbar .nav-cta{display:none}
 .formgrid{grid-template-columns:minmax(0,1fr)}
 input:not([type="checkbox"]):not([type="radio"]),select,textarea{font-size:16px!important;max-width:100%}
 .input{min-height:48px;width:100%}
 textarea.input{min-height:140px}
 .cc-modal-actions .btn{flex:1 1 140px;width:auto}
}
@media(max-width:600px){
 :root{--header-offset:80px}
 .container{width:100%;padding-left:16px;padding-right:16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
 .hero{padding:0}
 .hero-wrap{padding-top:20px;padding-bottom:32px}
 .hero .h1{font-size:clamp(1.9rem,7.6vw,2.8rem);line-height:1.12;letter-spacing:-.015em}
 .hero .lead{font-size:16px;line-height:1.6}
 .h2{font-size:clamp(1.5rem,6vw,2rem);line-height:1.2}
 .kicker{font-size:11px;letter-spacing:.08em}
 .hero-media{min-height:210px;aspect-ratio:16/10}
 .hero-news-legend{font-size:14px!important;line-height:1.3}
 .hero-media .hero-news-arrow{width:44px;height:44px;min-width:44px;min-height:44px}
 .section{padding:32px 0}
 .cards6,.cards4,.cards3,.products-grid,.darkgrid,.process,.footergrid{grid-template-columns:minmax(0,1fr)}
 .cards6,.products-grid{gap:16px}
 .card .p{padding:18px}
 .section-head{gap:12px}
 .btn{max-width:100%;white-space:normal;min-height:48px;line-height:1.3;display:inline-flex;align-items:center;justify-content:center}
 .trustbar{display:flex;flex-wrap:wrap;gap:8px}
 .badge{max-width:100%;white-space:normal}
 .pc-item{flex-shrink:0}
 .pc-arrow{opacity:1;pointer-events:auto;min-width:44px;min-height:44px}
 .partners-carousel:hover .pc-arrow{opacity:1;pointer-events:auto}
 .cc-banner{padding:14px}
 .cc-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 .cc-actions .btn{width:100%;padding:10px 6px;font-size:12px}
 .cc-links{gap:16px;margin-top:4px}
 .cc-modal-overlay{padding-left:10px;padding-right:10px}
 .cc-modal-head,.cc-modal-body,.cc-modal-actions{padding-left:14px;padding-right:14px}
 .cc-settings-btn{max-width:calc(100vw - 24px);bottom:max(12px,env(safe-area-inset-bottom))}
 .mobile-panel-intro{padding:12px}
 .mobile-panel-nav a{padding:12px 14px}
 .mobile-panel-inner{gap:14px}
}
@media(max-height:560px) and (orientation:landscape){
 .mobile-panel-intro,.mobile-panel-divider{display:none}
 .mobile-panel-nav{gap:6px}
 .mobile-panel-nav a{min-height:44px;padding:10px 12px}
 .mobile-panel-nav a small{display:none}
 .hero-media{min-height:200px;max-height:320px}
 .cc-banner{max-height:55vh;max-height:55dvh}
 .cc-text{font-size:12px}
}
@media(hover:none){.cardlink:hover,.pc-item:hover,.mobile-toggle:hover{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

[data-turnstile-mount]{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}

/* Compact footer with accessible links and no overlapping settings button. */
@media(max-width:960px){
 .footer{padding-top:28px;padding-bottom:24px}
 .footer .footergrid{gap:22px 20px;align-items:start}
 .footer .footergrid>.small{min-width:0}
 .footer .h3{font-size:18px;line-height:1.3;margin:0 0 6px}
 .footer .footergrid>div>.small{gap:0!important;margin-top:4px!important}
 .footer .footergrid>div>.small>a{display:flex;align-items:center;min-height:44px;padding:6px 0;line-height:1.4}
 .footer .muted{font-size:14px;line-height:1.6}
 .footer hr.sep{margin:20px 0}
 .footer .footer-complaints{margin-top:12px}
 .footer .footer-complaints a{display:inline-flex;min-height:44px;align-items:center}
 .footer .footer-complaints img{max-width:150px;height:auto}
 .cc-settings-btn{position:static;display:block;margin:12px auto 20px;margin-bottom:calc(20px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);min-height:44px}
}
@media(max-width:600px){
 .footer .footergrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
 .footer .footergrid>div:first-child,.footer .footergrid>div:last-child{grid-column:1/-1}
 .footer .footergrid>div:last-child>.small{display:flex!important;flex-wrap:wrap;gap:0 20px!important}
 .footer .footergrid>div:last-child>.small>a{width:auto;flex:0 0 auto}
 .footer .container>.small{font-size:12px;line-height:1.6;gap:6px!important}
}

/* Product galleries, document cards and rich descriptions must fit their grid track. */
[data-product-detail]{min-width:0;max-width:100%}
.pd-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);width:100%;min-width:0;max-width:100%}
.pd-layout>*,.pd-layout .card,.pd-gallery,.pd-gallery__main,.pd-docs,.pd-docs__list{min-width:0;max-width:100%}
.pd-thumbsbar{grid-template-columns:44px minmax(0,1fr) 44px;min-width:0;max-width:100%}
.pd-thumbs{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.pd-thumb{flex:0 0 82px;width:82px;min-width:82px;max-width:82px}
.pd-thumbsbar .pd-tarrow{width:44px;min-width:44px;max-width:44px;padding:0}
.pd-gallery__main img{min-width:0;max-width:100%;object-fit:contain}
.pd-titlebar,.pd-titlebar__title,.pd-titlebar__sub,.pd-doc__name,.pd-doc__hint{min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:normal}
.pd-doc{min-width:0;max-width:100%}
.pd-doc__left{min-width:0;max-width:100%;flex:1 1 auto}
.pd-doc__left>div{min-width:0}
.pd-doc__name{white-space:normal;overflow:visible;text-overflow:clip}
.pd-doc .btn{flex:0 0 auto}
.product-rich img,.product-rich video{max-width:100%!important;height:auto!important}
.pd-modal__head,.pd-modal__body,.pd-modal__foot{min-width:0;overflow-wrap:anywhere}
@media(max-width:980px){.pd-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){
 .pd-gallery__main{height:clamp(200px,65vw,380px);min-height:0;max-height:60vh}
 .pd-doc{flex-direction:column;align-items:stretch;gap:12px;padding:12px}
 .pd-doc__left{width:100%;gap:10px;align-items:flex-start}
 .pd-doc .btn{width:100%;min-width:0}
 .pd-thumbsbar{gap:6px;padding:8px;grid-template-columns:44px minmax(0,1fr) 44px}
 .pd-titlebar{padding:14px}
 .pd-titlebar__title{font-size:clamp(18px,5.2vw,24px);line-height:1.25}
 .pd-titlebar__sub{font-size:14px;line-height:1.5}
}

/* Compact photo controls at the lower edge, with a larger invisible touch area. */
.pd-gallery__main .pd-nav{top:auto;bottom:10px;transform:none;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border-radius:9px;font-size:18px;display:inline-flex;align-items:center;justify-content:center;z-index:2}
.pd-gallery__main .pd-nav::after{content:"";position:absolute;inset:-6px}
.pd-gallery__main .pd-count{right:auto;left:50%;transform:translateX(-50%);bottom:12px;padding:4px 8px}

/* Fixed navigation must use the viewport, independently of the filtered header. */
html.menu-open,body.menu-open{overflow:hidden}
.mobile-panel{left:auto;right:0;top:0;bottom:0;transform:none!important;transition:none!important;max-height:100vh;max-height:100dvh;overflow-x:hidden!important}
.mobile-panel-inner,.mobile-panel-nav,.mobile-panel-nav a{min-width:0;max-width:100%}
.mobile-panel-nav a{overflow-wrap:anywhere}
