/* Samawa Living — Archetyp "Coastal Editorial" (design-dna #1) in samawati blue + coral
   Fraunces + Inter · sky-blue #00b2ff + coral #f0523d + cream */
:root{
  --navy:#103a52; --navy2:#16506f; --gold:#f0523d; --gold-deep:#d63a26;
  --cream:#f5f8fb; --sand:#eaf2f8; --ink:#1a2b35; --muted:#5c6f7b; --line:#dde8ef;
  --blue:#00b2ff; --wa:#1daa50; --wa-dark:#168a40; --radius:16px;
  --serif:"Fraunces",Georgia,serif; --sans:"Inter",system-ui,sans-serif;
}
.intro__stats strong,.room__price,.rcalc__total strong{color:var(--blue)!important}
.kicker{color:var(--gold-deep)}
.hero__overlay{background:linear-gradient(95deg,rgba(16,58,82,.72) 0%,rgba(16,58,82,.28) 48%,rgba(0,178,255,.1) 72%),linear-gradient(0deg,rgba(16,58,82,.45),rgba(0,0,0,0) 45%)!important}
.cta-band{background:linear-gradient(120deg,var(--blue),#0089d6)!important;color:#06222e!important}
.cta-band h2{color:#06222e!important}.cta-band p{color:#0a3346!important;opacity:.85}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.65}
img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1}
h2{font-size:clamp(1.9rem,4.4vw,3rem)}
.kicker{font-weight:600;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.9rem}
.kicker--gold{color:var(--gold)}
/* topbar */
.topbar{background:var(--navy);color:#d8d2c4;font-size:.8rem;display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap;padding:.45rem 1rem}
.topbar__right{display:flex;gap:.7rem;align-items:center}.topbar__right a{font-weight:600;color:var(--gold)}.topbar__sep{opacity:.4}
/* header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.header__in{max-width:1180px;margin:0 auto;padding:.5rem 1.25rem;display:flex;align-items:center;gap:1.25rem}
.brand__logo{height:52px;width:auto}
.nav{display:flex;gap:1.4rem;font-weight:500;font-size:.92rem;margin-left:auto}.nav a:hover{color:var(--gold-deep)}
.header__actions{display:flex;align-items:center;gap:.8rem}
.lang{display:flex;border:1.5px solid var(--line);border-radius:9px;overflow:hidden}
.lang__btn{border:0;background:#fff;font:600 .76rem var(--sans);padding:.35rem .55rem;cursor:pointer;color:var(--muted)}
.lang__btn.is-active{background:var(--navy);color:#fff}
.nav-toggle{display:none;border:0;background:none;cursor:pointer;padding:.4rem}.nav-toggle span{display:block;width:22px;height:2.5px;background:var(--ink);margin:4.5px 0;border-radius:2px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 .95rem var(--sans);padding:.72rem 1.35rem;border-radius:999px;transition:transform .12s,background .15s;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn--wa{background:var(--wa);color:#fff}.btn--wa:hover{background:var(--wa-dark)}
.btn--gold{background:var(--gold);color:var(--navy)}.btn--gold:hover{background:var(--gold-deep);color:#fff}
.btn--dark{background:var(--navy);color:#fff}.btn--dark:hover{background:var(--navy2)}
.btn--ghost{border:1.5px solid currentColor;color:var(--navy);background:transparent}.btn--ghost:hover{background:var(--navy);color:#fff}
.btn--block{width:100%}.btn--lg{padding:.95rem 1.7rem;font-size:1.02rem}
/* hero */
.hero{position:relative;min-height:92vh;display:flex;align-items:center;overflow:hidden;background:var(--navy)}
.hero__media{position:absolute;inset:0}
.hero__media img{width:100%;height:100%;object-fit:cover;animation:kenburns 26s ease-out infinite alternate}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.13) translate(-1.5%,-1%)}}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(95deg,rgba(15,23,43,.78) 0%,rgba(15,23,43,.32) 48%,rgba(15,23,43,0) 72%),linear-gradient(0deg,rgba(15,23,43,.5),rgba(0,0,0,0) 45%)}
.hero__in{position:relative;z-index:2;max-width:1180px;margin:0 auto;padding:5rem 1.25rem;width:100%;display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;align-items:center}
.hero__copy{color:#fff}.hero .kicker{color:var(--gold)}
.hero__title{font-size:clamp(2.4rem,5.6vw,4.1rem);color:#fff;font-weight:500}.hero__title em{font-style:italic;color:var(--gold)}
.hero__sub{margin-top:1.1rem;max-width:31rem;font-size:1.06rem;color:#e7e2d6}
/* rate calc (compact) */
.rcalc{background:rgba(255,255,255,.97);border-radius:var(--radius);padding:1.05rem 1.1rem;box-shadow:0 24px 60px rgba(15,23,43,.4);max-height:80vh;overflow:auto}
.rcalc__title{font-family:var(--serif);font-size:1.3rem;margin-bottom:.5rem}
.rcalc label{display:block;font-size:.72rem;font-weight:600;color:var(--muted);margin-bottom:.5rem}.rcalc label span{display:block;margin-bottom:.18rem}
.rcalc select,.rcalc input[type=number]{width:100%;padding:.44rem .6rem;border:1.5px solid var(--line);border-radius:8px;font:500 .88rem var(--sans);color:var(--ink);background:#fff}
.rcalc__row{margin-bottom:.1rem}.rcalc__grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.rcalc__check{display:flex!important;flex-direction:row;align-items:center;gap:.45rem;font-size:.8rem;font-weight:500!important;color:var(--ink)!important;cursor:pointer;margin-bottom:.2rem}
.rcalc__check input{width:auto}.rcalc__check span{margin:0!important}
.rcalc__total{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin:.3rem 0 .6rem;padding-top:.55rem}
.rcalc__total span{font-size:.8rem;color:var(--muted);font-weight:600}.rcalc__total strong{font-family:var(--serif);font-size:1.7rem;color:var(--navy)}
.rcalc .btn{padding:.62rem 1.2rem}.rcalc__note{font-size:.68rem;color:var(--muted);margin-top:.5rem;text-align:center;line-height:1.35}
/* intro */
.intro{max-width:880px;margin:0 auto;padding:clamp(3rem,7vw,5rem) 1.25rem;text-align:center}
.intro__h{font-size:clamp(1.9rem,4.2vw,2.8rem);margin-bottom:1rem}.intro__t{color:var(--muted);font-size:1.1rem;max-width:44rem;margin:0 auto}
.intro__stats{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:2.4rem;margin-top:2.4rem}
.intro__stats strong{display:block;font-family:var(--serif);font-size:2rem;color:var(--navy)}.intro__stats span{font-size:.85rem;color:var(--muted)}
/* sections */
.section{max-width:1180px;margin:0 auto;padding:clamp(2.8rem,6.5vw,4.5rem) 1.25rem}
.section--sand{max-width:none;background:var(--cream)}.section--sand>*{max-width:1180px;margin-left:auto;margin-right:auto}
.section__head{text-align:center;max-width:44rem;margin:0 auto 2.4rem}.section__head p:last-child{color:var(--muted);margin-top:.6rem}
.section__head--light h2{color:#fff}
/* rooms */
.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.room{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.room>img{width:100%;aspect-ratio:3/2;object-fit:cover}
.room__body{padding:1.3rem 1.4rem 1.4rem}.room__body h3{font-size:1.45rem;margin-bottom:.4rem}.room__body>p{color:var(--muted);font-size:.9rem}
.room__foot{display:flex;align-items:center;justify-content:space-between;margin-top:1rem}
.room__price{font-family:var(--serif);font-size:1.4rem;color:var(--navy)}.room__price span{font-family:var(--sans);font-size:.72rem;color:var(--muted)}
/* feature */
.feature{background:var(--cream)}
.feature__in{max-width:1180px;margin:0 auto;padding:clamp(3rem,7vw,4.5rem) 1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.feature__media img{border-radius:var(--radius);box-shadow:0 18px 44px rgba(15,23,43,.16)}
.feature h2{margin-bottom:1rem}.feature__copy>p{color:var(--muted)}
.feature__list{list-style:none;margin-top:1.3rem;display:grid;gap:.6rem}
.feature__list li{padding-left:1.5rem;position:relative;font-weight:500}.feature__list li::before{content:"✦";position:absolute;left:0;color:var(--gold)}
/* resort gallery */
.resort{background:var(--navy);color:#e7e2d6;padding:clamp(2.8rem,6.5vw,4.5rem) 0}
.resort .section__head{padding:0 1.25rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;max-width:1320px;margin:0 auto;padding:0 1.25rem}
.g{border-radius:10px;overflow:hidden}.g img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.g:hover img{transform:scale(1.06)}
.g--wide{grid-column:span 2;grid-row:span 2}
/* experiences */
.exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.exp{background:var(--cream);border-radius:var(--radius);padding:1.6rem 1.4rem;text-align:center}
.exp__ic{font-size:1.9rem;display:block;margin-bottom:.6rem}.exp h3{font-size:1.2rem;margin-bottom:.35rem}.exp p{font-size:.88rem;color:var(--muted)}
/* reviews */
.rating-badge{display:inline-flex;align-items:center;gap:.6rem;background:var(--navy);color:#fff;border-radius:999px;padding:.45rem 1.1rem;margin-bottom:1rem}
.rating-badge strong{color:var(--gold)}.rating-badge span{font-size:.82rem}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.rev{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.rev blockquote{font-family:var(--serif);font-size:1.15rem;font-style:italic}.rev figcaption{margin-top:.8rem;font-size:.82rem;font-weight:600;color:var(--muted)}
/* location */
.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}.visit__photo img{border-radius:var(--radius)}
.visit__info h2{margin-bottom:1rem}.visit__info>p{color:var(--muted);margin-bottom:1.4rem;max-width:30rem}.visit__cta{display:flex;gap:.8rem;flex-wrap:wrap}
/* cta band */
.cta-band{background:linear-gradient(120deg,var(--navy),var(--navy2));color:#fff;text-align:center;padding:clamp(3rem,7vw,4.5rem) 1.25rem}
.cta-band h2{color:#fff;margin-bottom:.6rem}.cta-band p{opacity:.9;margin-bottom:1.6rem;color:#e7e2d6}
/* footer */
.footer{background:var(--navy);color:#b7b1a2;font-size:.9rem}
.footer__in{max-width:1180px;margin:0 auto;padding:3rem 1.25rem 2rem;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem}
.footer__logo{background:#fff;border-radius:8px;padding:.5rem .7rem;margin-bottom:.9rem}
.footer h4{color:#fff;font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.7rem;font-family:var(--sans)}.footer a:hover{color:var(--gold)}
.footer__legal{border-top:1px solid rgba(255,255,255,.12);max-width:1180px;margin:0 auto;padding:1.1rem 1.25rem 1.4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:#8a8576}.footer__demo{font-style:italic}
/* fab */
.wa-fab{position:fixed;right:1.1rem;bottom:1.1rem;z-index:60;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.3)}
/* responsive */
@media(max-width:980px){.hero__in,.feature__in,.visit-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero__in{padding:4rem 1.25rem}.rooms-grid,.exp-grid{grid-template-columns:1fr 1fr}.rev-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.g--wide{grid-column:span 2;grid-row:auto}}
@media(max-width:720px){.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:.5rem 0}.nav.is-open{display:flex}.nav a{padding:.8rem 1.5rem;border-top:1px solid var(--line)}.nav-toggle{display:block}.header__actions .btn--wa{display:none}.topbar{font-size:.72rem;gap:.5rem}.exp-grid{grid-template-columns:1fr}.intro__stats{gap:1.4rem}.wa-fab{display:flex}}
@media(max-width:460px){.rooms-grid{grid-template-columns:1fr}.footer__in{grid-template-columns:1fr}}
/* ===== WOW ===== */
.progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:60;background:linear-gradient(90deg,var(--gold),var(--gold-deep));transition:width .1s linear}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}
.hero__title em{background:linear-gradient(100deg,var(--gold) 30%,#fff4d6 50%,var(--gold) 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 5.5s linear infinite}
@keyframes shimmer{to{background-position:-220% 0}}
.intro__stats.in strong{animation:pop .6s ease}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
.room,.exp{transition:transform .25s ease,box-shadow .25s ease}.room:hover,.exp:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(15,23,43,.16)}
@media(prefers-reduced-motion:reduce){.hero__media img{animation:none}.reveal{opacity:1;transform:none;transition:none}.hero__title em{animation:none;-webkit-text-fill-color:var(--gold)}.intro__stats.in strong{animation:none}.btn,.g img{transition:none}}
.save-data .hero__media img{animation:none}
