.showcase{position:relative;max-width:1600px;margin:24px auto 32px;width:calc(100% - 48px);border-radius:20px;overflow:hidden;background:#eef6f1;isolation:isolate;box-shadow:0 16px 45px #314e2810}.banner-slides{height:clamp(480px,42vw,650px);position:relative}.banner-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s;pointer-events:none}.banner-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}.banner-art{width:100%;height:100%;object-fit:cover;object-position:center 46%}.banner-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fbfff9e8 0%,#fbfff9b3 23%,#fbfff93d 45%,transparent 65%);pointer-events:none}.banner-copy{position:absolute;z-index:1;left:7%;top:50%;transform:translateY(-50%);max-width:47%;padding-bottom:20px}.banner-kicker{display:block;font-size:12px;letter-spacing:2px;font-weight:700;color:#30624b;margin-bottom:23px}.banner-copy h1,.banner-copy h2{font-size:clamp(36px,3.7vw,60px);line-height:1.28;letter-spacing:-2px;color:#203d32;margin:0 0 24px;font-weight:900}.banner-copy h1 span,.banner-copy h2 span{color:#257448}.banner-copy p{max-width:360px;color:#48675c;font-size:14px;line-height:1.9;margin:0 0 30px}.banner-copy .button{width:220px;background:#267443;color:white;border-color:#267443;padding:15px 20px;box-shadow:0 8px 20px #26744320}.banner-copy .button:hover{background:#1e6037}.banner-controls{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 5%;background:#ffffffef;border-top:1px solid #e0e9dd}.banner-tabs{display:flex;gap:30px}.banner-tabs button{border:0;border-top:2px solid transparent;background:none;color:#7b8b80;padding:10px 0 3px;cursor:pointer;font-size:11px;white-space:nowrap}.banner-tabs button span{font-size:12px;margin-left:9px}.banner-tabs button[aria-pressed=true]{border-color:#267443;color:#267443;font-weight:700}.banner-arrows{display:flex;gap:9px}.banner-arrows button{width:37px;height:37px;border-radius:50%;border:1px solid #dbe5d8;background:white;color:#345840;cursor:pointer;font-size:18px}.banner-arrows button:hover{background:#edf5e8}.banner-disclaimer{position:absolute;right:17px;bottom:91px;font-size:9px;color:#38533c;background:#ffffffb3;border-radius:3px;padding:3px 7px;z-index:2;letter-spacing:1px}
@media(min-width:1800px){.showcase{max-width:1700px}}
@media(max-width:1000px){.banner-tabs{gap:16px}.banner-tabs button span{font-size:10px;margin-left:5px}.banner-copy{left:5%;max-width:53%}.banner-copy h1,.banner-copy h2{font-size:40px}.banner-kicker{font-size:10px;letter-spacing:1px}.banner-copy p{font-size:13px;max-width:280px}.banner-controls{padding:14px 4%}}
@media(max-width:760px){.showcase{width:calc(100% - 24px);margin:12px auto 20px;border-radius:13px}.banner-slides{height:580px}.banner-art{position:absolute;bottom:0;height:65%;object-position:72% center}.banner-slide{background:#f5fbf4}.banner-slide:after{background:linear-gradient(180deg,#f5fbf4 0%,#f5fbf4 26%,#f5fbf4bd 38%,transparent 60%)}.banner-copy{left:25px;right:25px;top:28px;transform:none;max-width:none;padding:0}.banner-kicker{font-size:9px;margin-bottom:12px}.banner-copy h1,.banner-copy h2{font-size:36px;line-height:1.22;letter-spacing:-1px;margin-bottom:12px}.banner-copy p{font-size:12px;max-width:290px;margin-bottom:16px;line-height:1.7}.banner-copy .button{width:185px;padding:10px 14px;font-size:12px}.banner-controls{gap:8px;padding:12px 16px}.banner-tabs{gap:11px;align-items:center}.banner-tabs button{font-size:10px;min-width:21px;padding:7px 0}.banner-tabs button span{display:none}.banner-arrows{gap:5px}.banner-arrows button{width:31px;height:31px;font-size:15px}.banner-disclaimer{bottom:68px;right:10px;font-size:8px}.banner-copy h1 span,.banner-copy h2 span{color:#267443}}
@media(max-width:370px){.banner-slides{height:550px}.banner-copy{left:20px;right:20px}.banner-copy h1,.banner-copy h2{font-size:32px}.banner-tabs{gap:6px}.banner-controls{padding:12px}.banner-kicker{font-size:8px}}
@media(prefers-reduced-motion:reduce){.banner-slide{transition:none}}

/* Full-width focus carousel with controls over the image. */
.showcase{width:100%;max-width:none;margin:0;border-radius:0;box-shadow:none}
.banner-controls{position:absolute;inset:0;display:block;padding:0;background:none;border:0;pointer-events:none}
.banner-tabs{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;gap:5px;align-items:center;pointer-events:auto}
.banner-tabs button{position:relative;width:28px;height:28px;min-width:0;padding:0;border:0;border-radius:50%;font-size:0;background:transparent}
.banner-tabs button:before{content:"";display:block;width:10px;height:10px;margin:auto;border-radius:50%;background:#ffffffb3;box-shadow:0 1px 5px #183c3c50;border:1px solid #ffffffd9;transition:background .2s,transform .2s}
.banner-tabs button[aria-pressed=true]{border:0;background:transparent}
.banner-tabs button[aria-pressed=true]:before{background:#267443;border-color:white;transform:scale(1.25)}
.banner-arrows{display:contents}
.banner-arrows button{position:absolute;pointer-events:auto;border:1px solid #ffffffa8;background:#ffffffe0;box-shadow:0 3px 15px #264d3620;width:46px;height:46px;font-size:23px}
.banner-arrows [data-prev]{left:22px;top:50%;transform:translateY(-50%)}
.banner-arrows [data-next]{right:22px;top:50%;transform:translateY(-50%)}
.banner-arrows [data-pause]{right:25px;bottom:22px;width:28px;height:28px;font-size:14px}
@media(max-width:760px){.showcase{width:100%;margin:0;border-radius:0}.banner-copy{left:25px;right:25px}.banner-arrows button{width:32px;height:32px;font-size:18px;background:#ffffffbd}.banner-arrows [data-prev]{left:10px;top:65%}.banner-arrows [data-next]{right:10px;top:65%}.banner-tabs{bottom:13px}.banner-arrows [data-pause]{right:13px;bottom:13px}.banner-art{width:100%}}
