.photo-carousel{position:relative;width:100%;align-self:center;height:590px;border-radius:16px;overflow:hidden;background:#163d37;box-shadow:0 25px 80px #00151a55;border:1px solid #a1d0b92b;isolation:isolate;min-width:0}.carousel-frames{position:absolute;inset:0;touch-action:pan-y}.photo-slide{position:absolute;inset:0;margin:0;opacity:0;visibility:hidden;transition:opacity .85s ease,visibility .85s;overflow:hidden}.photo-slide.is-active{opacity:1;visibility:visible;z-index:1}.photo-slide>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.035);transition:transform 7s linear;filter:saturate(.88)}.photo-slide.is-active>img{transform:scale(1.085)}.photo-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#05242414 10%,transparent 25%,#03292635 50%,#042825f2 100%)}.photo-slide figcaption{position:absolute;z-index:2;bottom:105px;left:34px;right:34px}.photo-slide figcaption>span{color:#c0ead6;font-size:10px;letter-spacing:2px;font-weight:650}.photo-slide figcaption>h2{color:#fff;font-size:35px;letter-spacing:-1.2px;line-height:1.13;margin:15px 0 12px;max-width:350px}.photo-slide figcaption>p{color:#d5e6d8;font-size:13px;line-height:1.7;max-width:330px;margin:0}.photo-provenance{position:absolute;z-index:3;right:18px;top:18px;padding:6px 9px;background:#042b2799;backdrop-filter:blur(6px);border:1px solid #e5f1e733;border-radius:4px;font-size:8px;letter-spacing:.3px;color:#e7f0e3}.carousel-bottom{position:absolute;z-index:4;bottom:20px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;border-top:1px solid #e0f4e52b}.carousel-dots{display:flex;gap:9px}.carousel-dots button{display:grid;place-items:center;width:32px;height:32px;border:0;border-bottom:1px solid #deeee33d;color:#b5d2bf;background:transparent;font-size:10px;transition:background .3s,color .3s}.carousel-dots button[aria-pressed=true]{border-bottom-color:var(--aqua);color:white;font-weight:700}.carousel-controls{display:flex;gap:7px}.carousel-controls button{width:35px;height:35px;display:grid;place-items:center;color:white;border:1px solid #d4e9dc50;background:#0c322d33;border-radius:50%;font-size:19px;transition:background .2s}.carousel-controls button:hover{background:#b4edcb22}.carousel-controls button[data-carousel-play]{font-size:12px}.carousel-timer{position:absolute;z-index:4;bottom:0;left:0;right:0;height:3px;background:#ffffff12}.carousel-timer>span{display:block;height:100%;width:100%;background:var(--aqua);transform-origin:left;transform:scaleX(0)}.photo-carousel.is-running .carousel-timer>span{animation:slide-progress var(--slide-duration,6500ms) linear forwards}.hero-grid{grid-template-columns:1.03fr 1fr;gap:55px;padding-block:50px;min-height:710px}.hero-copy{max-width:560px}.hero h1{font-size:clamp(46px,4.65vw,70px)}.hero .contours{opacity:.28}@keyframes slide-progress{to{transform:scaleX(1)}}
@media(max-width:1100px){.hero-grid{gap:35px}.photo-carousel{height:535px}.photo-slide figcaption{left:26px;right:26px}.photo-slide figcaption>h2{font-size:31px}.carousel-bottom{left:23px;right:23px}.hero h1{font-size:55px}}
@media(max-width:850px){.hero-grid{grid-template-columns:1fr;gap:35px;min-height:0;padding:50px 0 35px}.hero-copy{max-width:650px}.hero h1{font-size:60px}.photo-carousel{height:450px;max-width:700px;margin:auto}.photo-slide>img{object-position:50% 45%}.photo-slide figcaption>h2{max-width:400px;font-size:35px}}
@media(max-width:620px){.hero h1{font-size:clamp(39px,10.5vw,58px)}.hero-grid{gap:30px;padding-top:45px}.photo-carousel{height:440px;border-radius:12px}.photo-slide figcaption{left:23px;right:23px;bottom:92px}.photo-slide figcaption>h2{font-size:29px;letter-spacing:-.8px;margin-top:10px}.photo-slide figcaption>p{font-size:12px}.photo-slide figcaption>span{font-size:8px;letter-spacing:1.5px}.photo-provenance{font-size:7px;right:12px;top:12px}.carousel-bottom{bottom:16px;left:20px;right:20px;padding-top:14px;gap:12px}.carousel-dots{gap:5px}.carousel-dots button{width:27px}.carousel-controls button{width:32px;height:32px}.carousel-controls{gap:5px}}
@media(prefers-reduced-motion:reduce){.photo-slide,.photo-slide>img{transition:none!important;transform:none!important}.carousel-timer>span{animation:none!important}}
