#hero-section { background-image:linear-gradient(90deg,#071c4399,#071c4312),url('../images/Goa Resort Stay and Travel Hero.png'); background-size:cover; background-position:65% center; padding:3.5rem 0 2rem; min-height:470px; }
#hero-section.hero-slider-ready { background-image:none; }
#hero-section::before { z-index:1; pointer-events:none; background:linear-gradient(90deg,rgba(5,23,40,.54),rgba(5,23,40,.28) 48%,rgba(5,23,40,.04)); }
.hero-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity .55s ease; }
.hero-photo.is-visible { opacity:1; }
#hero-section > .container { position:relative; z-index:2; }
#hero-section h1 { min-height:2.5em; }
#hero-section .hero-content > p { min-height:4.8em; }
.hero-slider-controls { display:flex; align-items:center; gap:9px; margin-top:1.8rem; flex-wrap:wrap; }
.hero-slider-controls button:focus-visible { outline:3px solid #ffca78; outline-offset:3px; }
.hero-slide-dots { display:flex; gap:1px; }
.hero-slide-dots button { display:grid; place-items:center; width:24px; min-height:24px; padding:5px; border:0; border-radius:12px; background:none; cursor:pointer; }
.hero-slide-dots button::after { content:""; display:block; width:6px; height:6px; background:#ffffff80; border-radius:10px; transition:width .25s; }
.hero-slide-dots button[aria-current="true"]::after { width:14px; background:#ffc476; }
@media(max-width:700px) {
 #hero-section { min-height:570px; padding:2.8rem 0 1.8rem; }
 #hero-section::before { background:linear-gradient(90deg,#071c4399,#071c4340); }
 #hero-section .hero-content { margin-left:0; max-width:100%; }
 #hero-section h1 { min-height:3.75em; }
 #hero-section .hero-content > p { min-height:6.4em; }
 .hero-slider-controls { gap:4px; }
 .hero-slide-dots button { min-width:23px; }
}
@media(prefers-reduced-motion:reduce) { .hero-photo,.hero-slide-dots button::after { transition:none; } }
