/* One photographic scene per banner: type, product and surface share a composition. */
.hero[data-theme]{position:relative;isolation:isolate;min-height:0;height:clamp(530px,42vw,760px);background:#163f65;overflow:hidden}
.hero .hero-inner{position:relative;width:min(1140px,calc(100% - 120px));height:100%;min-height:0;display:flex;align-items:center;margin-inline:auto;gap:0}
.hero .hero-copy{position:relative;z-index:2;width:48%;padding:34px 0 56px}
.hero .hero-visual{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;z-index:-2;mask-image:none;-webkit-mask-image:none;isolation:auto}
.hero .hero-art{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;object-fit:cover;object-position:center;transform:none;filter:none;mask-image:none;-webkit-mask-image:none;margin:0}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(7,33,60,.28),rgba(7,33,60,.06) 46%,transparent 60%)}
.hero .hero-visual:before,.hero .hero-visual:after{display:none}
.hero[data-theme] .hero-eyebrow{font-size:11px;letter-spacing:2.6px;font-weight:500;text-transform:uppercase;color:#b5dcf2;margin:0 0 20px}
.hero[data-theme] h1{font-size:clamp(42px,4.5vw,64px);line-height:1.1;letter-spacing:-1.7px;margin:0 0 22px;color:white;font-weight:600}
.hero[data-theme] .hero-description{max-width:380px;font-size:14px;line-height:1.9;color:#d8e7f2;margin-bottom:28px}
.hero .hero-actions{gap:24px;flex-wrap:wrap}
.hero .hero-actions .button{border-radius:6px;padding:14px 23px;font-size:11px;min-height:46px;box-shadow:0 5px 18px #05234314}
.hero .hero-secondary{font-size:11px;padding-block:5px;border-color:#c7dfea70}
.hero .hero-proof{margin-top:28px;gap:12px;font-size:9px;letter-spacing:.2px;color:#c5ddec}
.hero .hero-model-note{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid #ffffff26;max-width:375px;font-size:9px;color:#c7dcea}
.hero-model-note span{font-weight:600;letter-spacing:1px;color:#fff}.hero-model-note strong{font-weight:400}
.hero .slide-arrow{width:32px;height:44px;font-size:32px;top:50%;background:#092c491c;border:1px solid #ffffff32;border-radius:5px;backdrop-filter:blur(5px)}
.hero .slide-arrow.previous{left:18px}.hero .slide-arrow.next{right:18px}
.hero .slide-dots{bottom:22px;gap:8px}.hero .slide-dots button{width:30px;height:3px;min-height:3px;padding:0;border:0;border-radius:3px;background:#ffffff55}.hero .slide-dots button.active{width:52px;background:#fff}
.hero .slider-play{bottom:17px;right:22px;border-radius:4px;color:#ecf4fa;border-color:#ffffff50}
.quick-links{gap:24px;margin-top:28px}
.quick-links .promo{position:relative;isolation:isolate;display:flex;align-items:center;min-height:280px;padding:28px 30px;border-radius:10px;overflow:hidden;background:#224c70;border:0;gap:0}
.quick-links .promo::after,.quick-links .promo::before{display:none}
.quick-links .promo-art{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease}
.quick-links .promo:hover .promo-art{transform:scale(1.025)}
.quick-links .promo-copy{width:51%;position:relative;z-index:1}
.quick-links .promo-kicker{color:#bcdcf0;font-size:9px;letter-spacing:1.7px;margin-bottom:13px}
.quick-links .promo h2{font-size:27px;line-height:1.2;letter-spacing:-.6px;font-weight:600;color:white;margin:0}
.quick-links .promo p{font-size:11px;line-height:1.8;color:#d0e3f0;max-width:195px;margin-top:13px}
.quick-links .small-button{display:inline-flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.4px;background:#fff;border:0;padding:8px 12px;border-radius:4px;color:#174d7c;margin-top:18px}
.quick-links .small-button::after{content:'↗';font-size:16px;font-weight:400}
@media(min-width:1800px){.hero .hero-inner{width:min(1320px,calc(100% - 180px))}.hero .hero-copy{width:45%}.hero[data-theme] h1{font-size:70px}.hero[data-theme] .hero-description{font-size:16px;max-width:400px}}
@media(min-width:801px) and (max-width:1100px){.hero .hero-inner{width:calc(100% - 120px)}.hero .hero-copy{width:49%}.hero[data-theme] h1{font-size:43px}.hero[data-theme] .hero-description{font-size:12px;max-width:320px}.hero .hero-actions{gap:16px}.hero .hero-actions .button{padding-inline:16px;font-size:10px}.quick-links .promo{padding:24px;min-height:250px}.quick-links .promo h2{font-size:23px}.quick-links .promo p{max-width:160px;font-size:10px}}
@media(max-width:800px){.hero[data-theme]{height:auto;min-height:0;background:#1a456d}.hero .hero-inner{width:100%;height:auto;display:block;padding-bottom:340px}.hero .hero-copy{width:100%;padding:34px 28px 25px}.hero[data-theme] h1{font-size:46px;line-height:1.08}.hero[data-theme] .hero-description{font-size:13px;max-width:380px;margin-bottom:21px}.hero[data-theme] .hero-eyebrow{margin-bottom:15px;font-size:10px}.hero .hero-visual{inset:auto 0 0;height:350px;width:100%;mask-image:none;-webkit-mask-image:none}.hero .hero-art{object-fit:cover;object-position:80% 50%}.hero::after{background:linear-gradient(to bottom,#1a456d 0%,#1a456d 48%,transparent 66%)}.hero[data-theme=purple],.hero[data-theme=purple]::after{background-color:#31577e}.hero[data-theme=purple]::after{background:linear-gradient(to bottom,#31577e 0%,#31577e 48%,transparent 66%)}.hero[data-theme=teal],.hero[data-theme=teal]::after{background-color:#153e53}.hero[data-theme=teal]::after{background:linear-gradient(to bottom,#153e53 0%,#153e53 48%,transparent 66%)}.hero .hero-proof{margin-top:20px}.hero .hero-model-note{display:none}.hero .slide-arrow{top:auto;bottom:155px}.hero .slide-arrow.previous{left:10px}.hero .slide-arrow.next{right:10px}.hero .hero-actions .button{font-size:11px}.quick-links{grid-template-columns:1fr;gap:16px;margin-top:20px}.quick-links .promo{min-height:270px;padding:28px}.quick-links .promo h2{font-size:28px}.quick-links .promo-copy{width:49%}}
@media(max-width:420px){.hero .hero-copy{padding:30px 24px 24px}.hero[data-theme] h1{font-size:41px}.hero .hero-inner{padding-bottom:305px}.hero .hero-visual{height:320px}.hero .hero-art{object-position:78% center}.hero .hero-actions{gap:18px}.hero .hero-proof{font-size:8px;gap:9px}.quick-links .promo{min-height:235px;padding:22px}.quick-links .promo h2{font-size:21px}.quick-links .promo p{font-size:10px;max-width:140px}.quick-links .promo-kicker{font-size:8px}.quick-links .small-button{font-size:8px;margin-top:13px}.quick-links .promo-art{object-position:67% center}.quick-links .promo-copy{width:49%}}
@media(prefers-reduced-motion:reduce){.quick-links .promo-art{transition:none}}
