/* ---- hero ---- */
.hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden}
.hero .photo{position:absolute;inset:0;background:linear-gradient(160deg,#8FCBD1 0%,#1B8CA3 42%,#0E3A4F 100%)}
.hero .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}
.hero .slide.active{opacity:1}
.hero .slide img,.hero .slide video{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(5,20,27,.92) 0%,rgba(5,20,27,.78) 30%,rgba(5,20,27,.58) 55%,rgba(5,20,27,.34) 80%,rgba(5,20,27,.16) 100%)}
.hero-inner{position:relative;z-index:2;color:var(--sand);padding-bottom:clamp(3rem,7vw,6rem);max-width:var(--maxw);margin:0 auto;width:100%;padding-left:clamp(1.25rem,5vw,3rem);padding-right:clamp(1.25rem,5vw,3rem);text-shadow:0 1px 2px rgba(0,0,0,.85),0 6px 20px rgba(0,0,0,.5)}
.hero .eyebrow{color:var(--shallow)}
.hero h1{font-size:clamp(3rem,8vw,6.5rem);color:var(--sand);margin:.2rem 0 1.4rem}
.hero h1 em{font-style:italic;color:var(--shallow)}
.hero p{font-size:1.15rem;max-width:44ch;color:rgba(253,251,246,.95);margin-bottom:2rem}
.cta-row{display:flex;gap:1rem;flex-wrap:wrap}
.hero-dots{display:flex;gap:.5rem;margin-top:2rem}
.hero-dots button{width:8px;height:8px;border-radius:50%;background:rgba(253,251,246,.4);border:none;cursor:pointer;padding:0;transition:background .2s,width .2s}
.hero-dots button.active{background:var(--sand);width:22px;border-radius:4px}

@media(max-width:520px){.cta-row{flex-direction:column}}
