/* Photography and homepage carousel layer. */
.hero-carousel{position:relative;min-width:0;min-height:660px;overflow:hidden;background:#17382f;color:#fff}
.carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 900ms ease,visibility 900ms ease;margin:0}
.carousel-slide.is-active{opacity:1;visibility:visible;z-index:1}
.carousel-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.carousel-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0b251e26 10%,#0b251e10 25%,#0b251ed9 85%,#0b251ef2 100%)}
.carousel-slide figcaption{position:absolute;z-index:2;left:40px;right:40px;bottom:115px;color:#fff}
.carousel-slide figcaption>span{display:block;color:var(--lime);font-size:11px;letter-spacing:.17em;margin-bottom:20px}
.carousel-slide figcaption h2{font-size:clamp(32px,3.2vw,49px);max-width:450px;line-height:1.1;margin-bottom:17px;text-wrap:balance}
.carousel-slide figcaption p{font-size:16px;line-height:1.65;color:#edf2e7;max-width:380px}
.carousel-stock-label{position:absolute;z-index:3;top:30px;left:30px;font-size:8px;letter-spacing:.12em;background:#102f2980;padding:8px 12px;color:#f5f4ec}
.carousel-controls{position:absolute;z-index:4;bottom:32px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #ffffff59;padding-top:20px}
.carousel-controls[hidden]{display:none}.carousel-dots{display:flex;gap:4px}.carousel-dots button{display:grid;place-items:center;width:35px;height:44px;padding:0;background:transparent;border:0;color:white}.carousel-dots button span{width:23px;height:3px;background:#ffffff59;transition:background .25s,width .25s}.carousel-dots button[aria-current=true] span{background:var(--lime);width:30px}.carousel-buttons{display:flex;align-items:center;gap:8px}.carousel-count{font-size:11px;letter-spacing:.08em;margin-right:12px;color:#ebf0e2}.carousel-buttons button{width:44px;height:44px;background:#ffffff0a;border:1px solid #ffffff6b;color:#fff;font-size:20px;display:grid;place-items:center;transition:background .2s}.carousel-buttons button:hover{background:#ffffff26}.carousel-buttons button[data-pause]{font-size:14px;margin-left:3px}.carousel-controls button:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-hero .page-photograph{transform:none;position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.page-photograph:before{content:'';position:absolute;left:16px;right:-15px;top:15px;bottom:20px;border:1px solid #acbc97;z-index:-1}
.page-hero .page-photograph>img{width:100%;height:400px;object-fit:cover;object-position:center;filter:saturate(.82);border-radius:2px}
.page-hero .page-photograph figcaption{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:8px;line-height:1.6;letter-spacing:.08em;margin-top:13px}
.page-photograph figcaption a{text-decoration:underline;text-underline-offset:3px}.page-photograph figcaption a:hover{color:#163e35}
@media(max-width:1150px){.hero-carousel{min-height:600px}.carousel-slide figcaption{left:30px;right:30px}.carousel-controls{left:30px;right:30px}.carousel-count{margin-right:2px}.carousel-buttons{gap:5px}.carousel-dots button{width:28px}.carousel-dots button span{width:19px}.carousel-dots button[aria-current=true] span{width:24px}.page-hero .page-photograph>img{height:355px}}
@media(max-width:950px){.carousel-slide figcaption{left:25px;right:25px;bottom:125px}.carousel-slide figcaption h2{font-size:37px}.carousel-controls{left:25px;right:25px}.carousel-count{display:none}.carousel-buttons button{width:40px}.carousel-stock-label{top:23px;left:23px;font-size:7px}.page-hero .page-photograph>img{height:340px}}
@media(max-width:600px){.hero-carousel{min-height:475px}.carousel-slide figcaption{bottom:112px;left:25px;right:25px}.carousel-slide figcaption h2{font-size:36px;max-width:290px}.carousel-slide figcaption p{font-size:15px;max-width:280px}.carousel-stock-label{top:22px;left:22px;font-size:7px}.carousel-controls{bottom:23px;left:25px;right:25px;padding-top:15px}.carousel-buttons button{width:44px;height:44px}.carousel-count{display:block;font-size:9px;margin-right:5px}.carousel-buttons{gap:7px}.carousel-dots button{width:24px}.carousel-dots button span{width:15px}.carousel-dots button[aria-current=true] span{width:20px}.page-hero .page-photograph>img{height:310px}.page-photograph:before{right:-8px;left:12px;top:12px;bottom:24px}.page-hero .page-photograph figcaption{font-size:8px}}
@media(prefers-reduced-motion:reduce){.carousel-slide,.carousel-dots button span,.carousel-buttons button{transition:none}}
