.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.page-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--banner-height,250px);padding:38px 0;background:#111;color:#fff;overflow:hidden;margin:0}
.page-hero .banner-image{position:absolute;inset:0;width:100%;height:100%;object-position:var(--banner-position,50% 50%);z-index:-2}
.banner-image.fit-cover{object-fit:cover}.banner-image.fit-contain{object-fit:contain}
.page-hero.banner-shaded.banner-overlay:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#000b,#0006 50%,#0002)}
.banner-copy{width:min(1240px,calc(100% - 40px));margin-inline:auto}
.banner-copy h1{font-size:48px;font-weight:500;line-height:1.08;max-width:800px;overflow-wrap:anywhere}
.banner-copy p{font-size:17px;line-height:1.5;color:#eee;max-width:710px;margin-top:12px;overflow-wrap:anywhere}
.banner-note{display:flex;align-items:center;gap:12px;max-width:690px;border-top:1px solid #ffffff38;margin-top:18px;padding-top:14px;color:#ddd;font-size:14px}
.banner-note svg{width:24px;height:24px;flex-shrink:0}
.banner-visual{padding:0}
.content-layout{padding-top:48px;padding-bottom:64px}
.page-body h2{font-size:25px;margin:0 0 22px}.page-body h3{font-size:21px;margin:28px 0 16px}.page-body h4{font-size:18px;margin:24px 0 14px}.page-body a{text-decoration:underline;overflow-wrap:anywhere}.page-body ul,.page-body ol{padding-left:24px;margin:0 0 24px}.page-body li{margin-bottom:8px}.page-body img{max-width:100%;height:auto}.page-body table{display:block;max-width:100%;overflow:auto}
.application-content{padding-top:45px}
.application-main{min-width:0}.application-main .contact-form{margin-top:30px;max-width:800px}.contact-form input[type=file]{width:100%;min-width:0}.contact-form input[type=file]::file-selector-button{border:1px solid #bbb;border-radius:3px;background:#f3f3f3;padding:7px 12px;margin-right:10px;cursor:pointer}
@media(max-width:640px){.page-hero.banner-visual:has(.mobile-fit-contain){min-height:0;padding:0}.page-hero.banner-visual .banner-image.mobile-fit-contain{position:relative;height:auto;z-index:0}}
.catalog-layout{padding-top:40px}
.product-detail{padding-top:42px}
.detail-copy h2.product-title{font-size:34px;margin-bottom:18px}
.contact-locations{padding:74px 0 50px}
.contact-locations>.wrap{width:min(1240px,calc(100% - 40px))}
.contact-location{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:stretch;margin-bottom:24px}
.location-information{border:1px solid #ddd;padding:24px;min-width:0;background:#fff}
.location-information h2{font-size:21px;line-height:1.25;font-weight:500}
.location-address{margin-top:12px;font-size:15px;color:#656565;overflow-wrap:anywhere}
.location-contact{margin-top:10px;font-size:15px;line-height:1.7;color:#656565;overflow-wrap:anywhere}
.location-contact a:hover{text-decoration:underline;color:#111}
.location-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:18px}
.location-actions .button{min-height:40px;padding:10px 14px;gap:8px;border-radius:2px;background:#000;border-color:#000;color:#fff;font-size:13px}
.location-actions .button.secondary{background:#fff;color:#111;border-color:#ddd}
.location-map{height:250px;border:1px solid #ddd;background:#f3f3f3;min-width:0}
.location-map iframe{display:block;width:100%;height:100%;border:0}
.contact-message{max-width:900px;padding-block:24px 64px}
.contact-message>h2{font-size:28px;margin-bottom:24px}
.category-external{margin-bottom:20px}
.catalog-main,.page-body{min-width:0}
@media(max-width:980px){.contact-location{grid-template-columns:1fr}.location-map{height:280px}}
@media(max-width:640px){.page-hero{min-height:var(--banner-mobile-height,220px);padding:28px 0}.banner-visual{padding:0}.page-hero .banner-image.mobile-fit-contain{object-fit:contain}.page-hero .banner-image.mobile-fit-cover{object-fit:cover}.banner-copy h1{font-size:28px}.banner-copy p{font-size:14px;margin-top:9px}.banner-note{font-size:12px;margin-top:12px;padding-top:10px}.contact-locations{padding-top:38px}.location-information{padding:20px}.location-actions{gap:8px}.location-actions .button{font-size:12px;padding:10px}.location-map{height:250px}.content-layout{padding-top:28px}.detail-copy h2.product-title{font-size:28px}}
