/* The supplied photograph is separate from the selectable card copy and CTA. */
@font-face{font-family:CardInter;src:url('../fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:CardInter;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
.home-product.home-product-replacement{container-type:inline-size;isolation:isolate;padding:0;display:block;border:2px solid #9fe15b;border-radius:8% / 5.2%;background:#043b2a;color:#06382d;overflow:hidden;width:300px;max-width:100%;height:auto;aspect-ratio:858/1316}
.home-product-photo{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.home-product-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.home-product-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#fff 0%,#fffffff5 11%,#ffffffb8 18%,#ffffff00 34%),linear-gradient(0deg,#003426 0%,#003426e8 7%,#00342655 20%,transparent 35%)}
.home-product-heading{position:absolute;top:9.4%;left:5%;right:5%;text-align:center}
.home-product-replacement #product-title{position:static;margin:0 auto;width:fit-content;font-family:CardInter,Arial,sans-serif!important;font-size:7.45cqw;font-weight:600!important;line-height:1.15;border-bottom:1.5px solid #06382d;padding-bottom:1cqw;white-space:nowrap;letter-spacing:-.15cqw}
.home-product-replacement #product-title::after{display:none}
.home-product-replacement .home-product-heading p{font-family:CardInter,Arial,sans-serif!important;font-weight:400!important;margin:2.8cqw 0 0;font-size:3.85cqw;line-height:1.15}
.home-product-action{position:absolute;bottom:8%;left:0;right:0;text-align:center}
.home-page .home-product-cta{display:inline-flex;align-items:center;justify-content:center;gap:1.3cqw;background:#fff;color:#06382d;border:1px solid #b8e960;padding:3.5cqw 5cqw;min-height:44px;font-family:CardInter,Arial,sans-serif!important;font-weight:400!important;font-size:max(9px,2.35cqw);line-height:1.4;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.home-product-cta span{font-size:4cqw;transition:transform .25s ease}
.home-product-cta:hover,.home-product-cta:focus-visible{background:#d8f5ac;transform:translateY(-3px);box-shadow:0 8px 20px #0003}
.home-product-cta:hover span{transform:translateX(4px)}
/* Keep the home layout in normal flow so short screens and larger text cannot overlap. */
.home-page .home-stage{min-height:100svh;padding:132px 24px 36px}
.home-stage main{max-width:1192px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px 64px;align-items:center}
.home-stage .home-copy{position:static;width:auto;margin:0}
.home-stage .home-product{position:relative;inset:auto;margin:0;--u:1px}
.home-stage .home-certifications{position:relative;inset:auto;width:100%;grid-column:1/-1;margin:0;--u:1px}
@media(max-width:900px){.home-stage main{gap:32px;grid-template-columns:minmax(0,1fr) 280px}.home-product.home-product-replacement{width:280px}}
@media(max-width:700px){.home-page .home-stage{padding:120px 20px 28px}.home-stage main{grid-template-columns:minmax(0,1fr);gap:32px}.home-stage .home-product{justify-self:center;width:min(100%,350px)}.home-stage .home-certifications{width:100%;padding:20px 8px}}
@media(prefers-reduced-motion:reduce){.home-product-cta,.home-product-cta span{transition:none!important;transform:none!important}}
/* Touch controls and landscape menus remain usable on small screens. */
header summary{min-height:44px;display:flex;align-items:center;justify-content:center}
header nav[aria-label="Mobile navigation"]{max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:767px){
 .btn,.about-button{min-height:44px;max-width:100%;white-space:normal;text-align:center}
 .reference-footer nav a,.about-footer nav a{display:inline-flex;align-items:center;min-height:44px}
 .product-detail h1{overflow-wrap:anywhere}
}
/* Center the heading and logos together inside the full-width certification strip. */
@media(min-width:701px){
 .home-stage .home-certifications{justify-content:center;gap:28px;height:auto;min-height:88px;padding:12px 20px}
 .home-stage .home-certifications h2{margin:0;width:auto;flex-shrink:0;padding-right:24px}
 .home-stage .home-certification{position:relative;left:auto;top:auto;flex-shrink:0}
}
.home-stage .home-certifications h2>span{display:block;white-space:nowrap}
