header{height:100px;padding:0 6%}nav{font-size:14px;font-weight:600}.carousel{position:relative;background:#dcecf7;overflow:hidden;height:clamp(490px,43vw,790px);color:#082e58;outline-offset:-4px}.banner-slide{position:absolute;inset:0}.banner-slide[hidden]{display:none}.banner-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.banner-copy{position:absolute;left:6%;top:15%;width:36%;z-index:1}.banner-copy .eyebrow{font-size:10px;color:#356d95;letter-spacing:2px;margin-bottom:24px}.banner-copy h1{font-size:clamp(38px,4.2vw,76px);line-height:1.04;letter-spacing:-1.7px;font-weight:800;margin:0 0 25px}.banner-description{font-size:clamp(13px,1.15vw,19px);line-height:1.8;color:#23496a;margin:0 0 30px}.banner-cta{display:inline-flex;align-items:center;gap:35px;padding:16px 25px;background:#123d7b;color:white;font-size:13px;font-weight:600;border-radius:3px}.banner-cta:hover{background:#e57827}.banner-cta span{font-size:20px}.banner-note{position:absolute;right:3%;bottom:17px;max-width:55%;font-size:9px;color:#1e4265;background:#f4faffdf;padding:7px 10px;margin:0;z-index:2}.carousel-controls{position:absolute;bottom:26px;left:6%;display:flex;align-items:center;gap:16px;z-index:3}.carousel-controls>button{background:#ffffffa6;border:1px solid #8daac5;color:#173e62;width:33px;height:33px;font-size:16px;border-radius:50%}.slide-selectors{display:flex;gap:15px}.slide-selectors button{background:none;border:0;border-top:2px solid #9eb8cc;color:#58738c;min-width:75px;padding:10px 0 0;text-align:left;font-size:8px;font-weight:700;letter-spacing:.5px}.slide-selectors button span{margin-right:4px}.slide-selectors button[aria-current=true]{border-color:#123d7b;color:#123d7b}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:1600px){.banner-copy{top:19%}.banner-copy h1{font-size:70px}}@media(max-width:900px){header{height:80px}.carousel{height:480px}.banner-copy{top:12%;width:40%;left:5%}.banner-copy h1{font-size:37px}.banner-copy .eyebrow{font-size:8px;letter-spacing:1px}.banner-description{font-size:12px}.banner-art{object-position:57% center}.banner-note{font-size:7px;max-width:48%}.carousel-controls{left:5%;gap:10px}.slide-selectors{gap:10px}.slide-selectors button{min-width:62px;font-size:7px}}
@media(max-width:600px){header{height:74px}.carousel{height:650px;max-height:none;background:#e6f3ff}.banner-copy{top:30px;left:6%;width:88%}.banner-copy h1{font-size:39px;line-height:1.06;letter-spacing:-1px;margin-bottom:16px}.banner-copy .eyebrow{margin-bottom:17px}.banner-description{font-size:12px;margin-bottom:18px}.banner-cta{padding:12px 18px;font-size:12px}.banner-art{top:auto;bottom:70px;height:270px;object-fit:cover;object-position:100% center}.banner-note{bottom:57px;left:6%;right:6%;max-width:none;font-size:7px;text-align:center;padding:5px}.carousel-controls{bottom:15px;left:6%;right:6%;gap:9px;justify-content:center}.slide-selectors{flex:1;gap:9px}.slide-selectors button{flex:1;min-width:0;font-size:6px;letter-spacing:0}.carousel-controls>button{flex-shrink:0;width:28px;height:28px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.carousel *{scroll-behavior:auto}}
/* Keep the closer factory crop readable behind the third slide's headline. */
.banner-slide:nth-child(3)::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(235,246,255,.96) 0%,rgba(235,246,255,.82) 23%,rgba(235,246,255,.47) 41%,rgba(235,246,255,0) 60%)}
@media(max-width:600px){.banner-slide:nth-child(3)::before{display:none}}
/* Slide 2: four distinct illustrative scenes, with all copy kept as accessible HTML. */
body{font-family:"Segoe UI",Arial,sans-serif}
.banner-copy h1,.process-intro h1,.process-step h2{font-family:Bahnschrift,"Segoe UI",Arial,sans-serif}
.banner-slide--process{background:url("assets/process-backdrop.svg") center/cover no-repeat,radial-gradient(circle at 78% 12%,rgba(77,160,232,.35),transparent 43%),linear-gradient(125deg,#eef7ff 0%,#d0e8fc 68%,#87c3f5 100%)}
.process-intro{position:absolute;z-index:2;top:8%;left:6%;width:62%;color:#082e58}
.process-intro .eyebrow{font-size:10px;font-weight:750;letter-spacing:2px;color:#356d95;margin:0 0 13px}
.process-intro h1{font-size:clamp(39px,4.3vw,76px);line-height:.98;letter-spacing:-2px;margin:0 0 13px;font-weight:850}
.process-intro>p:not(.eyebrow){font-size:clamp(14px,1.35vw,23px);margin:0}
.process-steps{position:absolute;z-index:2;top:45%;bottom:10%;left:6%;right:6%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.process-step{position:relative;min-width:0;min-height:0;overflow:hidden;background:#d6eafa;border:1px solid rgba(117,166,202,.6);box-shadow:0 14px 30px rgba(24,63,103,.15)}
.process-step::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(238,247,255,.99) 0%,rgba(238,247,255,.98) 30%,rgba(232,244,255,.82) 48%,rgba(225,239,252,.35) 70%,rgba(225,239,252,0) 100%)}
.process-step__copy{position:relative;z-index:2;padding:14px 16px 10px;display:flex;flex-direction:column;align-items:flex-start}
.process-icon{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-bottom:7px;border-radius:50%;background:#13539a;color:white;flex-shrink:0}
.process-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.process-number{font-size:11px;letter-spacing:1.25px;font-weight:700;color:#22679d}
.process-step h2{font-size:clamp(16px,1.2vw,21px);line-height:1.07;letter-spacing:.15px;margin:8px 0 7px;font-weight:700;color:#092f60}
.process-step p{font-size:clamp(13px,1vw,15px);line-height:1.3;color:#315473;margin:0}
.process-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 53%;z-index:0}
.banner-slide--process .banner-note{background:rgba(244,250,255,.94)}
@media(max-width:900px){.process-intro{top:6%;left:5%;width:85%}.process-intro h1{font-size:42px}.process-intro>p:not(.eyebrow){font-size:14px}.process-steps{left:5%;right:5%;gap:7px}.process-step__copy{padding:10px}.process-icon{width:29px;height:29px;margin-bottom:5px}.process-icon svg{width:18px;height:18px}.process-step h2{font-size:15px}.process-step p{font-size:11px}.process-number{font-size:10px}}
@media(max-width:600px){.process-intro{top:25px;left:6%;width:88%}.process-intro .eyebrow{font-size:8px;letter-spacing:1px;margin-bottom:10px}.process-intro h1{font-size:38px;letter-spacing:-1px;margin-bottom:9px}.process-intro>p:not(.eyebrow){font-size:13px}.process-steps{top:190px;bottom:85px;left:6%;right:6%;grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));gap:7px}.process-step::after{background:linear-gradient(90deg,rgba(235,246,255,0) 0%,rgba(235,246,255,.2) 28%,rgba(235,246,255,.8) 45%,rgba(235,246,255,.98) 62%,rgba(235,246,255,.99) 100%)}.process-photo{width:64%;height:100%;object-position:center 55%}.process-step__copy{width:60%;margin-left:auto;padding:8px 10px;justify-content:center}.process-icon{display:none}.process-number{font-size:9px;letter-spacing:.6px}.process-step h2{font-size:13px;margin:4px 0}.process-step p{font-size:10px;line-height:1.2}.banner-slide--process .banner-note{font-size:6px}}
