/* Viewport-led sections and intrinsic image sizing */
html,body{width:100%;max-width:100%;overflow-x:clip}main,section,article,header,footer{min-width:0}a,p,h1,h2,h3{overflow-wrap:break-word}img,video{max-width:100%}.supplier{background:transparent}.supplier img{filter:none;mix-blend-mode:normal}.hero video{pointer-events:none}.hero-panel{max-width:calc(100% - 40px)}.text-link>span:empty,.footer-cta>span:empty,.button>span:empty,.detail-card b:empty,.reference-card h3>span:empty{display:none}
.statement figure img,.white-grid figure img,.product img,.application-grid img,.directory-image img{height:auto}
.hero{min-height:680px}
.red-section{height:100svh;min-height:660px;max-height:1000px;display:grid;grid-template-columns:38% 1fr;grid-template-rows:auto 1fr;gap:25px 5%;padding:32px 4% 40px;position:relative;overflow:hidden}
.red-section>.section-label{grid-column:1/-1;align-self:start}
.red-section h2{position:absolute;top:10%;left:43%;right:4%;margin:0;max-width:none;font-size:clamp(55px,6.3vw,112px);line-height:.94;letter-spacing:-.055em}
.red-section .statement-body{display:contents}
.red-section .small-copy{grid-column:1;grid-row:2;align-self:center;max-width:300px}
.red-section .small-copy p{font-size:14px}
.red-section figure{grid-column:2;grid-row:2;width:auto;height:61%;aspect-ratio:3/4;align-self:end;justify-self:start;margin-left:0}
.red-section figure img{height:100%;width:100%;aspect-ratio:3/4;object-fit:contain}
.red-section figcaption{font-size:8px;margin-top:8px}
.catalog-stack{position:relative;isolation:isolate}
.catalog-stack>.catalog{position:sticky;top:0;height:100svh;min-height:560px;max-height:none;box-shadow:0 -8px 32px #0002}
.catalog-stack>.catalog:nth-child(1){z-index:1}.catalog-stack>.catalog:nth-child(2){z-index:2}.catalog-stack>.catalog:nth-child(3){z-index:3}.catalog-stack>.catalog:nth-child(4){z-index:4}.catalog-stack>.catalog:nth-child(5){z-index:5}
.catalog-bg{object-fit:cover;object-position:center;height:100%;width:100%}
.catalog-top{top:4%}.catalog-top>p{font-size:clamp(25px,2.7vw,42px);max-width:420px}
.catalog-copy{bottom:14%;max-width:64%}.catalog-copy h2{font-size:clamp(45px,5vw,82px)}
.detail-card{width:21%;max-width:300px;bottom:13%}.detail-card img{height:auto;aspect-ratio:1.5;object-fit:cover}
.catalog-intro{padding:70px 5% 55px}.catalog-intro h2{font-size:clamp(45px,5.3vw,85px)}
.category-directory{max-width:1600px;margin:auto;padding:0 5% 90px}
.category-directory article{display:grid;grid-template-columns:1.15fr 1fr;gap:6%;align-items:center;padding:42px 0;border-top:1px solid #ddd}
.directory-image{display:block;overflow:hidden}.directory-image img{width:100%;aspect-ratio:5/3;object-fit:contain;transition:transform .5s}
.directory-image:hover img{transform:scale(1.025)}.directory-copy h2{font-size:clamp(32px,3.5vw,58px);text-transform:uppercase;margin:20px 0;max-width:560px}.directory-copy p{max-width:370px;font-size:14px;margin-bottom:25px}
.product-grid{max-width:1480px;margin:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:55px 35px;padding:25px 5% 80px}
.product{min-width:0}.product img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;max-height:460px;background:#f7f4f0}
.product h2{font-size:22px;line-height:1.15;margin-top:20px}.product .product-description{font-size:13px;color:#555;line-height:1.6;margin-top:12px;min-height:64px}.product-action{display:inline-block;font-size:12px;margin-top:18px;color:#c52d12;border-bottom:1px solid;padding-bottom:5px}
.white-grid figure img{height:auto;object-fit:contain}
@media(min-width:1600px){.red-section h2{font-size:6vw}.red-section figure{height:60%}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1700px}.product img{max-height:420px}}
@media(max-width:1000px){.red-section{min-height:620px}.red-section h2{font-size:7vw;left:39%}.red-section figure{height:57%}.catalog-copy h2{font-size:6vw}.detail-card{width:25%}.product-grid{gap:35px 22px}.directory-copy h2{font-size:4vw}}
@media(max-width:700px){.hero{min-height:720px;height:100svh;padding:100px 5% 80px}.hero-panel{padding:20px}.hero-panel h1{margin:25px 0}.hero-categories{margin-top:25px;gap:10px 15px}.hero-info{gap:20px}.hero-info p{font-size:11px}.red-section{height:100svh;min-height:650px;max-height:900px;padding:25px 5% 28px;display:grid;grid-template-columns:42% 1fr;gap:20px 5%;grid-template-rows:35px 1fr}.red-section .section-label{font-size:8px}.red-section .section-label span:last-child{max-width:125px}.red-section h2{top:13%;left:5%;right:5%;font-size:12.2vw;line-height:.98}.red-section .small-copy{grid-row:2;align-self:end;padding-bottom:40px}.red-section .small-copy p{font-size:11px;line-height:1.55;margin-bottom:20px}.red-section .small-copy .text-link{font-size:10px;gap:8px}.red-section figure{grid-row:2;height:auto;width:100%;aspect-ratio:3/4;align-self:end;margin-bottom:45px}.red-section figure img{width:100%;height:auto}.red-section figcaption{font-size:6px}.catalog-stack>.catalog{height:100svh;min-height:620px;max-height:1000px}.catalog-top{top:25px;left:5%;right:5%}.catalog-top>p{font-size:22px;max-width:250px;margin-top:18px}.catalog-copy{left:5%;bottom:245px;max-width:90%}.catalog-number{font-size:62px}.catalog-copy h2{font-size:11vw;margin:8px 0 12px}.catalog-copy p{font-size:11px;max-width:250px}.detail-card{width:155px;max-width:44%;bottom:60px;right:5%}.detail-card img{height:auto;aspect-ratio:1.6;object-fit:cover}.detail-card>span{padding:10px;font-size:10px;gap:5px}.catalog-bottom{bottom:20px;font-size:6px}.catalog-intro{padding:55px 5% 40px}.catalog-intro h2{font-size:11vw}.category-directory{padding-bottom:40px}.category-directory article{grid-template-columns:1fr;gap:22px;padding:28px 0}.directory-copy h2{font-size:9vw;margin:13px 0}.directory-copy p{font-size:13px;margin-bottom:18px}.directory-image img{aspect-ratio:5/3;height:auto}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:15px 5% 55px;gap:32px 17px}.product img{height:auto;max-height:300px;object-fit:contain}.product h2{font-size:17px}.product .product-description{font-size:11px;line-height:1.55;min-height:0}.product-action{font-size:10px;margin-top:12px}.page-head h1{overflow-wrap:normal}.white-grid figure img{height:auto;aspect-ratio:auto;object-fit:contain}}
@media(max-width:380px){.product-grid{grid-template-columns:1fr}.product img{max-height:370px}.product h2{font-size:22px}.product .product-description{font-size:13px}.red-section .small-copy{padding-bottom:15px}.red-section figure{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){.catalog-stack>.catalog{position:relative}.directory-image img{transition:none}}
/* Keep the entire statement composition inside one viewport. */
.red-section{display:block;height:100svh;min-height:0;max-height:none;padding:0;position:relative;overflow:hidden}
.red-section>.section-label{position:absolute;top:4%;left:4%;right:4%}
.red-section h2{position:absolute;top:11%;left:43%;right:4%;font-size:min(6.2vw,12svh);line-height:.96;margin:0}
.red-section .statement-body{display:contents}
.red-section .small-copy{position:absolute;left:4%;top:51%;width:24%;max-width:330px;padding:0}
.red-section figure{position:absolute;top:36%;left:46%;height:56%;width:auto;aspect-ratio:3/4;margin:0;max-width:42%;display:flex;flex-direction:column}
.red-section figure img{display:block;width:100%;height:calc(100% - 20px);min-height:0;object-fit:contain;object-position:left center;aspect-ratio:auto;flex:1}
.red-section figcaption{flex:none;height:12px;line-height:12px;margin-top:8px;font-size:8px}
@media(max-width:700px){.red-section{height:100svh;min-height:0;max-height:none}.red-section>.section-label{top:4%;left:5%;right:5%}.red-section h2{top:15%;left:5%;right:5%;font-size:min(12vw,9svh);line-height:.97}.red-section .small-copy{left:5%;top:51%;width:36%;max-width:none;padding:0}.red-section .small-copy p{font-size:11px;line-height:1.5}.red-section figure{left:48%;top:43%;height:48%;max-width:47%;width:43%;aspect-ratio:auto;margin:0}.red-section figure img{height:calc(100% - 20px);width:100%;object-fit:contain}.red-section figcaption{font-size:6px}.red-section .small-copy .text-link{font-size:10px}}
@media(max-height:600px) and (min-width:701px){.red-section h2{font-size:10svh;top:10%}.red-section figure{top:35%;height:57%}.red-section .small-copy{top:48%}.red-section .small-copy p{font-size:12px}}

/* Mobile composition: every catalog panel fits the visible screen. */
@media(max-width:1000px){
 .brand-note{display:none}.site-header{justify-content:space-between}.menu-toggle{display:flex;align-items:center;gap:15px;border:0;background:none;color:inherit;padding:12px;font-size:13px}
 .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;background:#171717;color:white;padding:20px 5%;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav>a{padding:15px 0;border-bottom:1px solid #ffffff33}.site-header nav .button{margin-top:12px;padding:15px}
}
@media(max-width:700px){
 html{scroll-padding-top:0}.site-header{width:100%;padding:18px 5%;gap:12px}.brand{width:132px}.brand img{width:100%;height:auto}
 .hero{height:100svh;min-height:0;max-height:none;padding:105px 5% 65px}.hero-panel{width:100%;max-width:100%;padding:clamp(16px,5vw,24px);margin:0}.hero-panel h1{margin:clamp(20px,4svh,35px) 0}.hero-panel h1 img{width:100%;height:auto;max-height:24svh}.hero-panel .eyebrow{font-size:9px;letter-spacing:.1em}.hero-info{display:flex;flex-direction:column;align-items:flex-start;gap:22px}.hero-info p{font-size:12px;line-height:1.65;max-width:100%}.hero-info .text-link{font-size:13px;padding-bottom:6px;border-bottom:1px solid #fff8}.hero-bottom{left:5%;right:5%;bottom:max(22px,env(safe-area-inset-bottom));font-size:9px}.hero video{object-position:36% center}
 .red-section{height:100svh;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:26px 5% 32px;gap:clamp(22px,5svh,45px)}.red-section>.section-label{position:static;font-size:8px;gap:15px}.red-section h2{position:static;margin:0;font-size:min(11.4vw,8svh);line-height:1.02;max-width:100%}.red-section .statement-body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px;align-items:center;min-height:0}.red-section .small-copy{position:static;width:100%;max-width:none;padding:0;align-self:center}.red-section .small-copy p{font-size:12px;line-height:1.6;margin-bottom:20px}.red-section .small-copy .text-link{font-size:11px}.red-section figure{position:static;height:min(42svh,330px);width:100%;max-width:none;margin:0;align-self:center}.red-section figure img{height:calc(100% - 24px);object-fit:cover}.red-section figcaption{font-size:6px;line-height:1.4;height:auto;letter-spacing:.03em}
 .catalog-stack>.catalog{height:100svh;min-height:0;max-height:none;width:100%;margin:0;position:sticky;top:0}.catalog-bg{width:100%;height:100%;object-fit:cover;object-position:center}.catalog-top{position:absolute;top:5%;left:5%;right:5%;display:block}.catalog-top>span{font-size:8px;letter-spacing:.09em}.catalog-top>p{font-size:clamp(19px,5.5vw,25px);line-height:1.2;margin:18px 0 0;max-width:85%}.catalog-copy{left:5%;right:5%;bottom:25%;max-width:none}.catalog-number{font-size:min(15vw,9svh);line-height:1}.catalog-copy h2{font-size:clamp(28px,9vw,47px);line-height:1.03;max-width:100%;margin:12px 0}.catalog-copy p{font-size:12px;line-height:1.55;max-width:90%}.detail-card{right:5%;bottom:8%;width:auto;max-width:90%;min-width:160px}.detail-card img{display:none}.detail-card>span{font-size:12px;padding:15px 18px;min-height:48px;align-items:center}.catalog-bottom{left:5%;right:5%;bottom:3%;font-size:6px;line-height:1.5;gap:18px}.catalog-bottom>span:first-child{max-width:65%}
 .catalog-intro{padding:45px 5%}.catalog-intro h2{font-size:11vw}.suppliers{padding:35px 0}.suppliers .section-label{gap:18px;font-size:8px}.supplier{width:155px;padding:14px;height:90px}.supplier img{width:120px;height:55px}.supplier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-cta{font-size:clamp(34px,11vw,68px);line-height:1.05;display:block;max-width:100%}.footer-grid{min-width:0}.footer-grid>div{min-width:0}.footer-grid a{overflow-wrap:anywhere}.page-head h1{font-size:clamp(34px,11vw,64px);line-height:1.05;max-width:100%}.category-nav{gap:15px}.category-info h2{font-size:11vw}.contact-info h2{font-size:11vw}.reference-summary dl{gap:20px}.article-header h1{font-size:clamp(32px,9vw,58px)}
}
@media(max-width:380px),(max-height:600px) and (max-width:700px){.hero-panel{padding:15px}.hero-panel h1{margin:18px 0}.hero-info{gap:15px}.hero-info p{font-size:11px}.red-section{gap:20px}.red-section .small-copy p{font-size:11px}.catalog-copy{bottom:27%}.catalog-top>p{font-size:19px}.catalog-number{font-size:48px}.catalog-copy h2{font-size:30px}.catalog-copy p{font-size:11px}.detail-card>span{padding:12px 15px}}
@media(max-width:700px){.red-section{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr)}.red-section>.section-label,.red-section>h2,.red-section>.statement-body{grid-column:1;grid-row:auto}.red-section .small-copy,.red-section figure{grid-column:auto;grid-row:auto;justify-self:stretch}.red-section h2{width:100%;overflow-wrap:normal}.red-section figure img{object-fit:contain;object-position:center}}
@media(max-width:700px){.category-info,.contact-layout,.white-grid,.footer-grid,.category-directory article{grid-template-columns:minmax(0,1fr)}.category-info>*,.contact-layout>*,.white-grid>*,.footer-grid>*{min-width:0;max-width:100%}.category-info,.contact-layout{column-gap:0}.directory-copy h2,.quote-form h2{overflow-wrap:anywhere}.form-actions .button{max-width:100%;white-space:normal}}
