.hero-cinematic{min-height:clamp(650px,92vh,930px);display:grid;align-items:center;background:#063d5b}
.hero-cinematic .hero-media,.hero-cinematic .hero-overlay{position:absolute;inset:0}
.hero-cinematic .hero-media{z-index:-2;background:#064b6d url('../assets/illustrations/waterpark-hero.svg') center/cover no-repeat}
.hero-cinematic .hero-video{width:100%;height:100%;object-fit:cover;display:block}
.hero-cinematic .hero-overlay{z-index:-1;background:linear-gradient(90deg,rgba(2,32,50,.9),rgba(3,51,72,.68) 52%,rgba(3,45,63,.3))}
.hero-cinematic .hero-grid{grid-template-columns:minmax(0,760px) 1fr;min-height:clamp(650px,92vh,930px)}
.hero-cinematic .hero-visual{display:none}.hero-cinematic h1{font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;font-size:clamp(3.2rem,6vw,6.4rem);font-weight:900;line-height:.98;letter-spacing:-.055em;text-wrap:balance;text-shadow:0 5px 24px rgba(0,25,42,.34)}.hero-cinematic h1 em{font-family:"Cooper Black","Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;font-style:normal;font-weight:900;letter-spacing:-.045em;color:#ffc15d;text-shadow:0 4px 0 rgba(110,55,8,.2),0 8px 28px rgba(0,25,42,.35)}
.promotion-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.promotion-card{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.promotion-card img{width:100%;aspect-ratio:4/5;object-fit:cover;background:#e8f6f7}.promotion-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.promotion-card h3{margin-bottom:8px}.promotion-card p{font-size:.88rem;line-height:1.6}.promotion-meta{font-size:.74rem;color:var(--teal);font-weight:800;margin-bottom:10px}.promotion-card .button{margin-top:auto}.promotion-empty{grid-column:1/-1;padding:32px;border:1px dashed #aad7dc;border-radius:18px;text-align:center;color:var(--muted)}
@media(max-width:900px){.promotion-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.hero-cinematic,.hero-cinematic .hero-grid{min-height:760px}.hero-cinematic .hero-grid{display:flex;align-items:center}.promotion-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}
.moments-section{overflow:hidden}.moments-section .section-heading{align-items:center}.moments-section .section-heading>div{max-width:700px}.moments-controls{display:flex;gap:10px}.moments-controls button{width:48px;height:48px;border:1px solid #9bcfd4;border-radius:50%;background:#fff;color:var(--deep);font-size:1.2rem;font-weight:900;cursor:pointer}.moments-controls button:hover{background:var(--deep);color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.gallery-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:22px;box-shadow:var(--shadow);background:#dff4f5}.gallery-grid.is-slider{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding:4px 2px 18px}.gallery-grid.is-slider img{flex:0 0 calc((100% - 72px)/5);scroll-snap-align:start}
@media(max-width:900px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid.is-slider img{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:640px){.moments-section .section-heading{display:block}.moments-section .section-heading>div{max-width:none}.moments-controls{gap:6px;margin-top:20px}.moments-controls button{width:40px;height:40px}.gallery-grid{grid-template-columns:1fr}.gallery-grid.is-slider{width:100%;margin-right:0;overflow-x:hidden}.gallery-grid.is-slider img{flex:0 0 100%}}
.popup-open{overflow:hidden}.promotion-popup{position:fixed;inset:0;z-index:1000;background:rgba(2,27,42,.78);display:grid;place-items:center;padding:24px}.promotion-popup-panel{position:relative;width:min(940px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 90px rgba(0,0,0,.4);display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,.8fr)}.promotion-popup-panel>img{width:100%;height:100%;max-height:720px;object-fit:cover;background:#e8f6f7}.promotion-popup-body{padding:clamp(28px,5vw,58px);align-self:center}.promotion-popup-body h2{font-size:clamp(2rem,4vw,3.7rem);margin-bottom:16px}.promotion-popup-body>p:not(.eyebrow){font-size:1rem;margin-bottom:26px}.promotion-popup-close{position:absolute;right:14px;top:14px;z-index:2;width:44px;height:44px;border:2px solid #fff;border-radius:50%;background:#062f47;color:#fff;font-size:1.8rem;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.28)}
@media(max-width:640px){.promotion-popup{padding:14px}.promotion-popup-panel{display:block;max-height:calc(100vh - 28px);border-radius:18px}.promotion-popup-panel>img{width:100%;height:auto;max-height:58vh;aspect-ratio:4/5;object-fit:cover}.promotion-popup-body{padding:24px}.promotion-popup-body h2{font-size:1.8rem}.promotion-popup-close{right:9px;top:9px}}
.cms-announcement{background:#ffb654;color:#173a4c;text-align:center;padding:10px 20px;font-weight:800;font-size:.88rem}

