:root{
  --ocean:#074f49;
  --ocean-dark:#063b37;
  --ocean-soft:#e9f4f0;
  --gold:#b98a3c;
  --paper:#fffdfa;
  --soft:#f4f8f6;
  --line:rgba(7,79,73,.14);
  --muted:#63736f;
  --shadow:0 22px 70px rgba(4,54,50,.10);
  --radius:24px;
}

html{scroll-padding-top:92px}
body{
  background:
    radial-gradient(circle at 5% 7%,rgba(185,138,60,.08),transparent 24rem),
    linear-gradient(180deg,#fffdfa 0%,#f6faf8 48%,#fffdfa 100%);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  letter-spacing:-.005em;
}

body::before{content:"";position:fixed;left:0;right:0;top:0;height:3px;z-index:120;background:linear-gradient(90deg,var(--gold),#dfc487,var(--ocean));transform-origin:left;transform:scaleX(var(--scroll-progress,0))}
.container{width:min(1180px,calc(100% - 48px))}
.topbar{background:rgba(255,253,250,.88);border-bottom:1px solid rgba(7,79,73,.1);box-shadow:0 7px 24px rgba(4,54,50,.035)}
.topinner{min-height:76px;padding:10px 0}
.brand img{width:190px!important;max-height:54px!important;object-fit:contain}
.righttools{gap:18px}
.site-nav{display:flex;align-items:center;gap:6px}
.site-nav a{padding:10px 12px;border-radius:999px;color:#355d58;font-size:.86rem;font-weight:750;transition:.2s ease}
.site-nav a:hover,.site-nav a:focus-visible{background:var(--ocean-soft);color:var(--ocean);outline:none}
.site-nav .nav-cta{background:var(--ocean);color:#fff;padding-inline:17px;box-shadow:0 9px 22px rgba(7,79,73,.18)}
.site-nav .nav-cta:hover{background:var(--ocean-dark);color:#fff;transform:translateY(-1px)}
.lang{padding:3px;border-color:rgba(7,79,73,.14);box-shadow:0 5px 14px rgba(4,54,50,.05)}
.lang button{min-width:42px;min-height:38px;font-size:.82rem}

.hero{padding:34px 0 68px;background:transparent}
.hero .card{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);min-height:610px;border:0;border-radius:34px;background:#fff;box-shadow:0 28px 90px rgba(4,54,50,.14)}
.hero .image-card{min-height:610px;overflow:hidden}
.hero-photo{height:100%;min-height:610px;transition:transform .9s cubic-bezier(.2,.7,.2,1);background-position:center!important}
.hero .image-card:hover .hero-photo{transform:scale(1.025)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:64px 54px!important;text-align:left!important;background:linear-gradient(145deg,#fff 0%,#fbfaf5 100%)}
.hero-copy .eyebrow{text-align:left!important}
.hero-copy h1{font-size:clamp(3.7rem,5.2vw,5.7rem)!important;letter-spacing:-.055em;color:var(--ocean-dark);margin:18px 0 22px!important}
.hero-copy .lead{font-size:1.08rem!important;line-height:1.75!important;margin:0!important;max-width:48ch;color:#5b6c68}
.hero-copy .ctas{justify-content:flex-start!important;margin-top:30px!important}
.hero-copy .quick{grid-template-columns:1fr!important;margin-top:34px!important;gap:0!important;border-top:1px solid var(--line)}
.hero-copy .quick a{justify-content:flex-start!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;padding:15px 2px!important;background:transparent!important}
.hero-copy .quick a::after{content:"↗";margin-left:auto;color:var(--gold)}
.eyebrow{font-size:.72rem!important;letter-spacing:.19em!important;color:var(--gold)!important;font-weight:850!important}

section{padding:84px 0}
.section-head{max-width:780px;margin-bottom:32px!important}
.section-head h2{font-size:clamp(2.7rem,5vw,4.6rem)!important;letter-spacing:-.045em;margin-top:10px!important}
.section-head p{font-size:1.02rem;line-height:1.7;color:var(--muted)}
.card{border-color:rgba(7,79,73,.11);box-shadow:var(--shadow)}
.card.pad{padding:34px!important}
.two{gap:24px!important;align-items:stretch}
.stack{gap:12px!important}
.pkg,.info,.service{border-color:rgba(7,79,73,.13)!important;border-radius:18px!important;background:#fff!important;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important}
.pkg:hover,.service:not(.massage-disabled):hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(4,54,50,.1);border-color:rgba(185,138,60,.45)!important}
.pkg h3{font-family:Inter,ui-sans-serif,sans-serif;font-size:1.15rem!important;font-weight:760!important}
.mini{color:var(--gold)!important;letter-spacing:.16em!important}
.btn,.rt-book,.rt-wa,.contact-btn{min-height:52px;border-radius:999px!important;padding:13px 21px!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important}
.btn:hover,.rt-book:hover,.rt-wa:hover,.contact-btn:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(4,54,50,.14)}
.btn.primary,.rt-book{background:linear-gradient(135deg,var(--ocean),#087069)!important}

#round-two{padding:88px 0!important;background:linear-gradient(145deg,#f6f0e4 0%,#fbfaf5 55%,#edf6f2 100%)!important}
#round-two .rt-head{text-align:left!important;margin-left:0!important;max-width:720px!important}
#round-two .rt-head h1{font-size:clamp(3rem,5.5vw,5.2rem)!important;letter-spacing:-.05em!important}
#round-two .rt-grid{gap:34px!important}
#round-two .rt-poster{border-radius:26px!important;box-shadow:0 28px 70px rgba(4,54,50,.16)!important;transform:rotate(-1.2deg)}
#round-two .rt-options{gap:16px!important}
#round-two .rt-card{border:1px solid rgba(7,79,73,.12)!important;border-radius:24px!important;padding:28px 20px!important;box-shadow:0 14px 38px rgba(4,54,50,.07)!important;transition:.25s ease}
#round-two .rt-card:hover{transform:translateY(-6px);box-shadow:0 24px 54px rgba(4,54,50,.12)!important;border-color:rgba(185,138,60,.55)!important}
#round-two .rt-card strong{color:var(--ocean)!important;letter-spacing:-.04em}

#private{background:#073f3a;color:#fff}
#private .section-head h2,#private .section-head .eyebrow{color:#fff!important}
#private .pkg{color:var(--ocean-dark)}
#private .card{border-color:rgba(255,255,255,.14)}
#live{background:#f1f7f4}
#massage .fully-booked-notice{background:#fff7e7;border-color:#dfc48d;color:#765b28}
#meal{background:linear-gradient(180deg,#fffdfa,#f3f8f6)}
#community .card,#meal .card{border-radius:30px}
#start{background:#eaf3ef}
#start .start-card{max-width:960px;margin:auto;padding:48px!important;border:0;background:#fff;box-shadow:0 26px 80px rgba(4,54,50,.13)}
#start .section-head{text-align:center;margin-inline:auto}
.form-grid{gap:14px!important;margin-top:26px!important}
.form-grid input,.form-grid select,.form-grid textarea{border-radius:14px!important;padding:16px 17px!important;border-color:rgba(7,79,73,.16)!important;background:#fbfdfc!important;transition:.2s ease}
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgba(185,138,60,.18);border-color:var(--gold)!important;background:#fff!important}
.world{padding:100px 0!important}
.contact-grid{gap:14px!important;padding:28px 0}
.contact-btn{border-color:rgba(185,138,60,.55)!important}
.floating .social-fab{border-radius:50%!important}

.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
.reveal-ready.is-visible{opacity:1;transform:none}

@media(max-width:980px){
  .site-nav{display:none}
  .hero .card{grid-template-columns:1fr;min-height:auto}
  .hero .image-card,.hero-photo{min-height:430px;height:430px}
  .hero-copy{padding:48px 38px!important}
  .hero-copy h1{font-size:4.2rem!important}
  #round-two .rt-head{text-align:center!important;margin-inline:auto!important}
}

@media(max-width:760px){
  .container{width:min(100% - 28px,1180px)}
  .topinner{min-height:68px}
  .brand img{width:158px!important;max-height:44px!important}
  .righttools{gap:8px}
  .lang button{min-width:38px;min-height:36px;padding:6px!important}
  .hero{padding:14px 0 44px}
  .hero .card{border-radius:24px}
  .hero .image-card,.hero-photo{height:300px;min-height:300px}
  .hero-copy{padding:34px 24px 28px!important}
  .hero-copy h1{font-size:clamp(3rem,15vw,4.1rem)!important;margin:14px 0 18px!important}
  .hero-copy .lead{font-size:1rem!important}
  .hero-copy .ctas{display:grid!important;grid-template-columns:1fr!important;width:100%;gap:10px!important}
  .hero-copy .btn{width:100%;justify-content:center}
  section{padding:62px 0}
  .section-head{margin-bottom:24px!important}
  .section-head h2{font-size:clamp(2.35rem,12vw,3.35rem)!important}
  .card.pad{padding:22px!important}
  #round-two{padding:62px 0!important}
  #round-two .rt-head h1{font-size:clamp(2.7rem,13vw,3.7rem)!important}
  #round-two .rt-poster{transform:none!important}
  #round-two .rt-card{padding:24px 20px!important}
  #start .start-card{padding:30px 20px!important;border-radius:24px}
  .contact-grid{grid-template-columns:1fr 1fr!important}
  .contact-btn{min-height:60px;font-size:.9rem}
  .floating{bottom:12px!important;right:10px!important}
  .floating .social-fab{width:50px!important;height:50px!important}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal-ready{opacity:1;transform:none;transition:none}.hero-photo{transition:none}}
