.module-hero{position:relative;isolation:isolate;container-type:inline-size;width:100%;aspect-ratio:1916/821;overflow:hidden;border-radius:22px;background:#f3f6f9;color:#101722;font-family:Arial,sans-serif}
.module-hero *{box-sizing:border-box}
.module-hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.module-hero__content{position:relative;width:45%;padding:5.75% 0 3.7% 3.7%}
.module-hero__eyebrow{display:flex;align-items:center;gap:1.2cqw;white-space:nowrap;margin:0 0 2.15cqw;color:#696e7d;font-size:1.08cqw;line-height:1.4}
.module-hero__eyebrow:before{content:"";width:3.35cqw;height:3px;background:#ffbf00;flex-shrink:0}
.module-hero h1{font-family:Arial,sans-serif;font-size:4.02cqw;line-height:.96;letter-spacing:-.16cqw;font-weight:750;text-transform:none;margin:0 0 1.6cqw;width:44cqw;color:#101722}
.module-hero h1 span{color:#ffbc00}
.module-hero__description{font-size:1.32cqw;line-height:1.46;color:#696e7d;margin:0 0 1.55cqw;max-width:34cqw}
.module-hero__cta{display:inline-flex;align-items:center;justify-content:center;gap:1.05cqw;padding:1.55cqw 2.6cqw;border-radius:11px;background:#ffd000;color:#101722;text-decoration:none;font-size:1.13cqw;font-weight:500;text-transform:uppercase;letter-spacing:.035em;transition:background .2s,transform .2s}
.module-hero__cta:hover{background:#ffbc00;transform:translateY(-2px);color:#101722}
.module-hero__cta:focus-visible{outline:3px solid #101722;outline-offset:5px}
.module-hero__cta svg{width:1.45cqw;height:1.45cqw}
.module-hero__benefits{display:flex;list-style:none;margin:2.3cqw 0 0;padding:0;gap:1.4cqw;white-space:nowrap}
.module-hero__benefits li{display:flex;align-items:center;gap:.85cqw;font-size:.94cqw;line-height:1.3;position:relative}
.module-hero__benefits li+li{padding-left:1.35cqw}
.module-hero__benefits li+li:before{content:"";position:absolute;left:0;height:2.6cqw;width:1px;background:#c5cad2}
.module-hero__icon{display:grid;place-items:center;border:1px solid #cdd2dc;border-radius:13px;background:#ffffffba;width:3.25cqw;height:3.25cqw;flex-shrink:0}
.module-hero__icon svg{width:1.9cqw;height:1.9cqw}
.module-hero__annotations{position:absolute;inset:0;pointer-events:none}
.module-hero__lines{position:absolute;inset:0;width:100%;height:100%}
.module-hero__label{position:absolute;background:#fffffff0;padding:.65cqw .85cqw;border-radius:12px;font-size:.79cqw;line-height:1.35;box-shadow:0 4px 18px #23344904}
.module-hero__label span{display:block;color:#696e7d}
.module-hero__label--cladding{left:44.2%;top:11.9%}
.module-hero__label--roof{left:80.2%;top:8.2%}
.module-hero__label--window{left:42.7%;top:55.5%}
.module-hero__label--interior{left:87.4%;top:42.8%}
.module-hero__label--insulation{left:90%;top:60.4%}
.module-hero__label--frame{left:85.3%;top:82.4%}
.module-hero__caption{position:absolute;left:60.2%;bottom:3.5%;display:flex;align-items:center;gap:.65cqw;padding:.6cqw 1cqw;border-radius:40px;background:#ffffffb8;color:#555b67;font-size:.85cqw;backdrop-filter:blur(8px)}
.module-hero__caption svg{width:1.5cqw;height:1.5cqw}
@media(min-width:1920px){.module-hero{max-width:2200px;margin-inline:auto}}
@media(max-width:767px){
 .module-hero{aspect-ratio:auto;border-radius:16px;display:flex;flex-direction:column;background:#f3f7fb;padding-bottom:20px}
 .module-hero__content{width:100%;padding:30px 24px 0}
 .module-hero__eyebrow{font-size:12px;white-space:normal;gap:12px;margin-bottom:24px;max-width:340px}
 .module-hero__eyebrow:before{width:26px;height:2px}
 .module-hero h1{font-size:clamp(29px,7.8vw,52px);width:auto;line-height:1.04;letter-spacing:-1.3px;margin-bottom:20px}
 .module-hero__description{font-size:16px;line-height:1.5;max-width:520px;margin-bottom:23px}
 .module-hero__cta{padding:18px 25px;font-size:14px;gap:20px;border-radius:9px}
 .module-hero__cta svg{width:21px;height:21px}
 .module-hero__benefits{gap:12px;margin-top:25px;justify-content:space-between;white-space:normal}
 .module-hero__benefits li{flex-direction:column;align-items:flex-start;gap:9px;font-size:11px}
 .module-hero__benefits li+li{padding-left:0}
 .module-hero__benefits li+li:before{display:none}
 .module-hero__icon{width:39px;height:39px;border-radius:9px}
 .module-hero__icon svg{width:24px;height:24px}
 .module-hero__image{position:relative;order:2;inset:auto;z-index:0;width:170%;max-width:none;height:auto;aspect-ratio:1916/821;margin:16px 0 0 -68%;object-fit:contain}
 .module-hero__annotations{position:relative;order:3;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 20px}
 .module-hero__lines{display:none}
 .module-hero__label{position:static;font-size:11px;padding:10px;border-radius:8px;background:#fff}
 .module-hero__label:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#ffc400;margin-right:6px}
 .module-hero__caption{position:static;grid-column:1/-1;justify-content:center;font-size:11px;padding:10px;gap:8px;background:transparent}
 .module-hero__caption svg{width:20px;height:20px}
}
/* Override global section spacing for the first screen. */
.module-hero{margin:0 auto}.module-hero h1{font-size:3.9cqw}@media(max-width:767px){.module-hero h1{font-size:clamp(29px,7.8vw,52px)}}

/* Material callouts: illustrated cards with independent, gentle floating. */
.module-hero__label{display:flex;align-items:center;gap:.65cqw;padding:.65cqw;border:1px solid #ffffffc9;border-bottom-color:#ffe7aa;border-radius:1.3cqw;background:linear-gradient(135deg,#fff 0%,#f6f8fcf5 100%);box-shadow:0 .5cqw 1.5cqw #24395321,inset 0 1px 0 #fff;font-size:.86cqw;animation:hero-material-float 5.5s ease-in-out infinite;will-change:transform}
.module-hero__label-copy{min-width:0}
.module-hero__label strong{display:block;font-weight:700;color:#10172c;font-size:.96cqw;line-height:1.25;margin-bottom:.25cqw}
.module-hero__label span{color:#727d8e;line-height:1.35}
.module-hero__material{display:block;flex:0 0 3.8cqw;width:3.8cqw;height:3.8cqw;border-radius:.85cqw;background:linear-gradient(145deg,#f5f3f0,#e1e6ee);object-fit:contain;box-shadow:inset 0 1px 2px #fff}
.module-hero__label--cladding{left:43%;top:10%;width:17%;animation-delay:-.7s}
.module-hero__label--roof{left:75.6%;top:6.5%;width:23%;animation-duration:6.2s;animation-delay:-2.1s}
.module-hero__label--window{left:42%;top:56%;width:18.5%;animation-duration:5.8s;animation-delay:-3.4s}
.module-hero__label--interior{left:83.8%;top:42.5%;width:15.3%;animation-duration:6.4s;animation-delay:-1.4s}
.module-hero__label--insulation{left:87.5%;top:63%;width:12%;animation-duration:5.2s;animation-delay:-2.8s}
.module-hero__label--frame{left:82.5%;top:82%;width:17%;animation-duration:6s;animation-delay:-4.2s}
.module-hero__label--interior .module-hero__material,.module-hero__label--insulation .module-hero__material{width:3cqw;height:3cqw;flex-basis:3cqw}
.module-hero__label--interior strong,.module-hero__label--insulation strong{font-size:.86cqw}
.module-hero__caption{left:60%;bottom:2.8%;padding:.6cqw 1.1cqw;background:linear-gradient(135deg,#fff,#f8faff);border:1px solid #fff1c9;box-shadow:0 .4cqw 1.2cqw #39404c1c;color:#10172c;font-weight:600}
.module-hero__caption svg{box-sizing:content-box;padding:.45cqw;border-radius:50%;background:#ffdc58;box-shadow:0 2px 8px #ffd04d70}
@keyframes hero-material-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-5px,0)}}
@media(max-width:767px){
 .module-hero__annotations{gap:10px;padding-top:6px}
 .module-hero__label{width:auto;gap:8px;padding:9px;border-radius:13px;font-size:10px;box-shadow:0 5px 14px #24395312;animation-name:hero-material-float-mobile}
 .module-hero__label:before{display:none}
 .module-hero__label strong,.module-hero__label--interior strong,.module-hero__label--insulation strong{font-size:11px;margin-bottom:4px}
 .module-hero__material,.module-hero__label--interior .module-hero__material,.module-hero__label--insulation .module-hero__material{width:34px;height:38px;flex-basis:34px;border-radius:8px}
 .module-hero__caption{padding:10px;font-size:10px;gap:8px;border-radius:30px}
 .module-hero__caption svg{padding:6px;width:18px;height:18px;flex-shrink:0}
}
@keyframes hero-material-float-mobile{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.module-hero__label{animation:none;will-change:auto}}
