.hero.hero-island{display:block;min-height:720px;isolation:isolate;background:#103f4d;position:relative;color:white}
.island-carousel{position:absolute;inset:0;z-index:-1;overflow:hidden;touch-action:pan-y}
.island-slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.2s ease;background:#103f4d}
.island-slide.active{opacity:1}
.island-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-island:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(4,27,36,.76),rgba(4,27,36,.35) 52%,rgba(4,27,36,.08)),linear-gradient(0deg,rgba(4,27,36,.65),transparent 40%)}
.hero-island .hero-text{pointer-events:none;max-width:900px;padding-top:100px;padding-bottom:140px;min-height:720px}
.hero-island .hero-text a{pointer-events:auto}
.hero-island h1{font-size:clamp(54px,6.5vw,98px);text-shadow:0 2px 20px #05253144}
.hero-island h1 em{color:#fff0d2}
.hero-island .eyebrow,.hero-island .hero-intro,.hero-island .hero-footnote{color:#fff}
.hero-island .eyebrow-line{background:#fff}
.hero-island .hero-intro{max-width:440px;font-size:16px}
.hero-island .button.primary{background:#f7f2e6;color:#153f3c}
.hero-island .text-link{color:#fff;border-color:#fff}
.hero-island .hero-footnote{margin-top:20px;padding-top:15px}
.carousel-controls{position:absolute;right:6vw;bottom:32px;z-index:3;display:flex;align-items:center;gap:12px;color:#fff}
.carousel-controls button{border:1px solid #ffffff85;background:#102d38bb;color:white;border-radius:50px;min-width:46px;height:46px;padding:0 15px;cursor:pointer;font-size:15px}
.carousel-controls button:hover{background:#fff;color:#153f3c}
.carousel-controls button:focus-visible{outline:3px solid #ffe2a8;outline-offset:4px}
.slide-counter{font-size:12px;letter-spacing:.13em;min-width:64px;text-align:center;font-variant-numeric:tabular-nums}
.island-credit{position:absolute;left:6vw;bottom:35px;color:#fff;font-size:11px;z-index:2}
.island-credit a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.hero.hero-island,.hero-island .hero-text{min-height:760px}.hero-island .hero-text{padding:65px 24px 155px}.hero-island .hero-intro{font-size:14px}.hero-island:after{background:linear-gradient(90deg,#041b24bf,#041b2470),linear-gradient(0deg,#041b24c9,transparent 50%)}.carousel-controls{right:24px;bottom:62px}.island-credit{left:24px;bottom:22px;font-size:10px}.hero-island h1{font-size:clamp(48px,11vw,70px)}}
@media(prefers-reduced-motion:reduce){.island-slide{transition:none}}

.home-page .site-shell{min-height:calc(100svh - 32px);display:flex;flex-direction:column}.home-page main{display:flex;flex:1}.home-page .hero-island{width:100%;min-height:calc(100svh - 136px)}.home-page .hero-text{min-height:0;padding-top:clamp(40px,8vh,100px);padding-bottom:145px}.home-page .hero-actions .outline{color:white;border:1px solid #ffffffaa}.home-page .hero-actions{gap:16px}.home-page .hero-footnote{margin-top:22px}@media(max-width:640px){.home-page .hero-island{min-height:calc(100svh - 110px)}.home-page .hero-text{padding-top:40px;padding-bottom:150px}.home-page .hero-intro{margin-bottom:24px}.home-page .hero-actions .button{padding:13px 17px;gap:18px}.home-page .hero-footnote{display:none}}

/* Keep the photograph at its original brightness and color. */
.home-page .hero-island:after{display:none;background:none}
.home-page .hero-island h1{text-shadow:0 2px 5px rgba(0,22,30,.85),0 5px 28px rgba(0,22,30,.55)}
.home-page .hero-island .eyebrow,.home-page .hero-island .hero-footnote{text-shadow:0 1px 4px #001e29,0 2px 10px #001e29}
.home-page .hero-intro{background:rgba(6,38,47,.73);padding:14px 18px;border-radius:8px;max-width:460px}
.home-page .hero-actions .outline{background:rgba(6,38,47,.8);border-color:rgba(255,255,255,.9)}
.home-page .hero-actions .outline:hover{background:#153f3c}
.home-page .island-credit{background:rgba(6,38,47,.8);padding:6px 10px;border-radius:6px}
.home-page .slide-counter{background:rgba(6,38,47,.8);padding:6px 8px;border-radius:6px}

/* Preserve the complete framing of carousel photo 8 on every screen. */
.island-slide.full-photo{background:#103f4d}
.island-slide.full-photo img{object-fit:contain;object-position:center;transform:none}

/* Light ivory controls keep the island photography unobstructed. */
.home-page .hero-island h1{text-shadow:0 2px 12px rgba(0,30,40,.45)}
.home-page .hero-intro{background:none;padding:0;border-radius:0;max-width:none;font-size:19px;font-weight:500;text-shadow:0 1px 5px rgba(0,25,35,.85);margin-bottom:28px}
.home-page .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px}
.home-page .hero-actions .button{background:#f7f2e6;color:#153f3c;border:1px solid #f7f2e6;padding:16px 22px;gap:22px;box-shadow:0 2px 10px #12363f1a;white-space:nowrap}
.home-page .hero-actions .button:hover{background:#fffdf7;color:#153f3c;border-color:#fffdf7}
.home-page .carousel-controls{gap:8px}
.home-page .carousel-controls button{background:#f7f2e6;color:#153f3c;border:1px solid #f7f2e6;min-width:44px;height:44px;padding:0 12px;font-size:13px}
.home-page .carousel-controls button:hover{background:#fffdf7}
.home-page .slide-counter{background:#f7f2e6;color:#153f3c;border-radius:22px;font-size:11px;padding:8px 10px}
.home-page .island-credit{background:none;padding:0;border-radius:0;text-shadow:0 1px 4px #001e29,0 1px 9px #001e29}
.home-page .hero-actions .button:focus-visible,.home-page .carousel-controls button:focus-visible{outline:3px solid #153f3c;outline-offset:4px}
@media(min-width:900px){.home-page .hero-text{max-width:1000px}.home-page .hero-actions{flex-wrap:nowrap}}
@media(max-width:640px){.home-page .hero-intro{font-size:16px}.home-page .hero-actions .button{font-size:11px;padding:13px 16px;gap:12px}}
