/* =========================================
   RADARPLAYTOGETHERNW — CAPSULE GLOSS EDITION
   Refined glossy upgrade on the original
   German Imperial Elite design system.
   ========================================= */

:root{
  /* Capsule Gloss Palette */
  --bg-primary:#F5F5F0;
  --bg-secondary:#EDEAE0;
  --bg-warm:#FAF7F1;
  --surface:rgba(255,255,255,0.55);
  --card:rgba(255,255,255,0.72);
  --foreground:#1A1A1A;
  --text:#1A1A1A;
  --text-mute:#5A5A55;

  /* Pastel pop accents */
  --coral:#F06A5B;
  --lime:#C9E75B;
  --lavender:#CBB9EA;
  --sky:#95C2FF;
  --violet:#A97BFF;
  --yellow:#F5D76E;
  --peach:#FFC7A8;
  --mint:#B4F0D8;

  /* Legacy gold maps to a warm coral/peach gloss */
  --gold:#F06A5B;
  --gold-light:#FFC7A8;
  --sapphire:#95C2FF;
  --emerald:#B4F0D8;

  --border:rgba(26,26,26,0.10);
  --border-strong:rgba(26,26,26,0.18);

  --gradient-gold:linear-gradient(135deg,#FFC7A8 0%,#F06A5B 55%,#A97BFF 100%);
  --gradient-soft:linear-gradient(135deg,#FAF7F1 0%,#F5F5F0 100%);
  --gradient-glass:linear-gradient(180deg,rgba(255,255,255,0.85) 0%,rgba(255,255,255,0.45) 100%);
  --gloss-highlight:linear-gradient(180deg,rgba(255,255,255,0.9) 0%,rgba(255,255,255,0) 55%);

  --shadow-soft:0 10px 30px rgba(26,26,26,0.06), 0 2px 6px rgba(26,26,26,0.04);
  --shadow-float:0 24px 60px rgba(26,26,26,0.10), 0 8px 18px rgba(26,26,26,0.06);
  --shadow-glow:0 20px 50px rgba(240,106,91,0.18), 0 0 24px rgba(169,123,255,0.10);

  --radius:28px;
  --radius-pill:999px;
  --container:1500px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--bg-primary);
  color:var(--text);
  font-family:'Space Grotesk','Inter','Manrope',sans-serif;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(1200px 600px at 10% -10%, rgba(203,185,234,0.25), transparent 60%),
    radial-gradient(900px 500px at 110% 10%, rgba(149,194,255,0.22), transparent 60%),
    radial-gradient(800px 500px at 50% 110%, rgba(255,199,168,0.22), transparent 60%);
  background-attachment:fixed;
  padding-top:88px;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none;transition:.3s}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 32px;
}

/* TYPOGRAPHY */
h1,h2,h3,h4,h5{
  font-family:'Bodoni Moda','Cinzel','Playfair Display',serif;
  font-weight:600;
  letter-spacing:-0.5px;
  line-height:1.1;
  color:var(--foreground);
}
h1{font-size:clamp(2.6rem,5.5vw,4.8rem);letter-spacing:-1px}
h2{font-size:clamp(2rem,3.6vw,3.2rem);letter-spacing:-0.8px}
h3{font-size:clamp(1.35rem,2vw,1.7rem)}
h4{font-size:1.15rem;font-family:'Bodoni Moda',serif;font-weight:600}
p{color:var(--text-mute);font-size:1rem;font-family:'Space Grotesk',sans-serif}

.eyebrow{
  display:inline-block;
  font-family:'Space Grotesk',sans-serif;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--foreground);
  margin-bottom:18px;
  padding:8px 16px;
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  background:var(--gradient-glass);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,0.9);
}

.gold-text{
  background:linear-gradient(135deg,#F06A5B 0%,#A97BFF 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-style:italic;
  font-family:'Bodoni Moda',serif;
}

/* BUTTONS */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 30px;
  border-radius:var(--radius-pill);
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:.88rem;
  letter-spacing:1.2px;
  text-transform:uppercase;
  cursor:pointer;
  border:none;
  transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, background .35s ease;
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.btn::before{
  content:"";
  position:absolute; inset:0;
  background:var(--gloss-highlight);
  opacity:.55;
  pointer-events:none;
  z-index:1;
}
.btn::after{
  content:"";
  position:absolute;
  top:0; left:-60%;
  width:50%; height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,0.55),transparent);
  transform:skewX(-20deg);
  transition:left .7s ease;
  pointer-events:none;
  z-index:2;
}
.btn:hover::after{left:140%}
.btn > *{position:relative;z-index:3}

.btn-gold{
  background:var(--gradient-gold);
  color:#1A1A1A;
  box-shadow:var(--shadow-glow), inset 0 1px 0 rgba(255,255,255,0.6);
}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 26px 56px rgba(240,106,91,0.32), 0 0 30px rgba(169,123,255,0.18)}

.btn-ghost{
  background:var(--gradient-glass);
  border:1px solid var(--border);
  color:var(--foreground);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:var(--shadow-soft);
}
.btn-ghost:hover{transform:translateY(-3px);box-shadow:var(--shadow-float);background:rgba(255,255,255,0.85)}

.btn-outline{
  background:rgba(255,255,255,0.6);
  border:1px solid var(--border-strong);
  color:var(--foreground);
  padding:11px 22px;
  font-size:.78rem;
  backdrop-filter:blur(8px);
}
.btn-outline:hover{background:var(--foreground);color:#FAF7F1;border-color:var(--foreground)}

/* ==========================================
   NAVBAR — REDESIGNED FLOATING GLASS CAPSULE
   ========================================== */
.navbar{
  position:fixed;
  top:18px;
  left:50%;
  transform:translateX(-50%);
  width:calc(100% - 40px);
  max-width:var(--container);
  z-index:100;
  padding:0;
  transition:top .4s cubic-bezier(.2,.8,.2,1), transform .4s ease, box-shadow .4s ease, background .4s ease, max-width .4s ease;
  background:rgba(250,247,241,0.72);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(255,255,255,0.55);
  border-radius:var(--radius-pill);
  box-shadow:
    0 12px 40px rgba(26,26,26,0.08),
    0 2px 8px rgba(26,26,26,0.04),
    inset 0 1px 0 rgba(255,255,255,0.9);
}
.navbar::before{
  content:"";
  position:absolute;inset:0;
  border-radius:var(--radius-pill);
  background:linear-gradient(180deg,rgba(255,255,255,0.7) 0%,rgba(255,255,255,0) 60%);
  pointer-events:none;
  opacity:.7;
}
.navbar::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:var(--radius-pill);
  padding:1px;
  background:linear-gradient(135deg,rgba(255,199,168,0.6),rgba(203,185,234,0.5),rgba(149,194,255,0.5));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.5;
}
.navbar.scrolled{
  top:10px;
  max-width:1280px;
  background:rgba(250,247,241,0.88);
  box-shadow:
    0 18px 48px rgba(26,26,26,0.12),
    0 4px 12px rgba(26,26,26,0.06),
    inset 0 1px 0 rgba(255,255,255,0.95);
}
.nav-container{
  width:100%;
  margin:0 auto;
  padding:10px 16px 10px 22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  position:relative;
  z-index:2;
}
.logo{
  display:flex;
  align-items:center;
  gap:12px;
  font-family:'Bodoni Moda',serif;
  font-weight:600;
  color:var(--foreground);
  transition:transform .35s ease;
}
.logo:hover{transform:translateY(-1px)}
.logo-mark{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:14px;
  background:var(--gradient-gold);
  color:#1A1A1A;
  font-weight:700;
  font-family:'Bodoni Moda',serif;
  box-shadow:
    0 6px 16px rgba(240,106,91,0.32),
    inset 0 1px 0 rgba(255,255,255,0.7);
  position:relative;
  overflow:hidden;
  font-size:1.15rem;
}
.logo-mark::after{
  content:"";
  position:absolute;inset:0;
  background:var(--gloss-highlight);
  pointer-events:none;
}
.logo-text{font-size:1rem;letter-spacing:.5px;line-height:1.1;display:flex;flex-direction:column}
.logo-text small{
  color:var(--coral);
  font-size:.62rem;
  letter-spacing:2.5px;
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  text-transform:uppercase;
  margin-top:2px;
}

.nav-links{
  display:flex;
  gap:6px;
  align-items:center;
  background:rgba(255,255,255,0.45);
  border:1px solid rgba(26,26,26,0.06);
  padding:6px;
  border-radius:var(--radius-pill);
  backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.7);
}
.nav-links a{
  font-family:'Space Grotesk',sans-serif;
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.3px;
  color:var(--text-mute);
  position:relative;
  padding:9px 16px;
  border-radius:var(--radius-pill);
  transition:color .3s ease, background .3s ease, box-shadow .3s ease;
}
.nav-links a::after{display:none}
.nav-links a:hover{
  color:var(--foreground);
  background:rgba(255,255,255,0.7);
}
.nav-links a.active{
  color:#1A1A1A;
  background:linear-gradient(135deg,rgba(255,199,168,0.85),rgba(203,185,234,0.75));
  box-shadow:
    0 4px 12px rgba(240,106,91,0.20),
    inset 0 1px 0 rgba(255,255,255,0.8);
  font-weight:600;
}
.nav-cta{
  padding:11px 22px;
  font-size:.74rem;
  letter-spacing:1px;
}

.hamburger{
  display:none;
  background:rgba(255,255,255,0.6);
  border:1px solid var(--border);
  flex-direction:column;
  gap:5px;
  cursor:pointer;
  padding:10px;
  border-radius:50%;
  width:42px;height:42px;
  align-items:center;
  justify-content:center;
  transition:.3s ease;
  box-shadow:var(--shadow-soft);
}
.hamburger:hover{background:#fff}
.hamburger span{
  width:18px;height:2px;
  background:var(--foreground);
  border-radius:2px;
  transition:.3s;
}

/* HERO */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  padding:120px 0 100px;
  margin-top:-88px;
}
.hero-bg{
  position:absolute;inset:0;
  background:url('images/photo-1566073771259-6a8506099945.png') center/cover;
  filter:saturate(1.05) brightness(1.05);
  transform:scale(1.04);
  opacity:.35;
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(60% 80% at 50% 0%, rgba(255,255,255,0.85), rgba(245,245,240,0.65) 60%, rgba(245,245,240,0.92) 100%);
}
.particles{
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 18% 28%,rgba(203,185,234,.45),transparent 40%),
    radial-gradient(circle at 82% 70%,rgba(149,194,255,.40),transparent 42%),
    radial-gradient(circle at 50% 90%,rgba(255,199,168,.40),transparent 45%);
  pointer-events:none;
  animation:gradientFloat 18s ease-in-out infinite alternate;
}
@keyframes gradientFloat{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-2%,-1%,0) scale(1.05)}
}
.hero-content{
  position:relative;z-index:2;
  max-width:920px;
  text-align:center;
  padding:0 32px;
}
.hero-content p{
  font-size:1.15rem;
  max-width:680px;
  margin:24px auto 36px;
  color:var(--text-mute);
}
.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.hero-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:70px;
  padding:28px;
  background:var(--gradient-glass);
  border:1px solid var(--border);
  border-radius:var(--radius);
  backdrop-filter:blur(20px) saturate(140%);
  -webkit-backdrop-filter:blur(20px) saturate(140%);
  box-shadow:var(--shadow-float), inset 0 1px 0 rgba(255,255,255,0.8);
  position:relative;
  overflow:hidden;
}
.hero-stats::before{
  content:"";
  position:absolute;inset:0;
  background:var(--gloss-highlight);
  pointer-events:none;
}
.stat{position:relative;padding:12px 8px;border-radius:18px;transition:.35s ease}
.stat:hover{background:rgba(255,255,255,0.6)}
.stat h3{
  font-size:2.4rem;
  color:var(--foreground);
  font-family:'Bodoni Moda',serif;
  background:linear-gradient(135deg,#F06A5B,#A97BFF);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.stat span{
  display:block;font-size:.74rem;letter-spacing:2px;
  text-transform:uppercase;color:var(--text-mute);margin-top:6px;
  font-family:'Space Grotesk',sans-serif;font-weight:500;
}

/* SECTIONS */
.section{padding:110px 0;position:relative}
.section-dark{
  background:linear-gradient(180deg,#EDEAE0 0%,#F5F5F0 100%);
  position:relative;
}
.section-dark::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(600px 300px at 10% 0%, rgba(180,240,216,0.35), transparent 70%),
    radial-gradient(600px 300px at 100% 100%, rgba(203,185,234,0.30), transparent 70%);
  pointer-events:none;
}
.section-head{
  text-align:center;
  max-width:780px;
  margin:0 auto 60px;
  position:relative;
  z-index:1;
}
.section-head p{margin-top:18px;color:var(--text-mute)}

/* PAGE HERO */
.page-hero{
  position:relative;
  min-height:62vh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;
  background-size:cover;
  background-position:center;
  padding:130px 0 90px;
  margin-top:-88px;
  isolation:isolate;
}
.page-hero.small-hero{min-height:42vh}
.page-hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(250,247,241,0.55) 0%,rgba(245,245,240,0.85) 100%),
    radial-gradient(circle at 20% 30%,rgba(203,185,234,0.30),transparent 50%),
    radial-gradient(circle at 80% 70%,rgba(255,199,168,0.35),transparent 50%);
  backdrop-filter:blur(2px);
}
.page-hero-content{
  position:relative;z-index:2;
  max-width:820px;padding:0 32px;
}
.page-hero p{margin-top:18px;color:var(--text-mute)}

/* HOTELS GRID */
.hotels-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:32px;
  position:relative;
  z-index:1;
}
.hotel-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .45s ease, border-color .35s ease;
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  display:flex;
  flex-direction:column;
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,0.8);
  position:relative;
}
.hotel-card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:50%;
  background:var(--gloss-highlight);
  pointer-events:none;
  border-radius:var(--radius) var(--radius) 0 0;
  opacity:.6;
  z-index:1;
}
.hotel-card:hover{
  transform:translateY(-10px);
  border-color:var(--border-strong);
  box-shadow:var(--shadow-float), 0 0 32px rgba(169,123,255,0.10);
}
.hotel-card-wide{grid-column:1/-1}
.hotel-img{
  width:100%;
  height:300px;
  background-size:cover;
  background-position:center;
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
  position:relative;
  z-index:0;
}
.hotel-img::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,0) 60%,rgba(255,255,255,0.25) 100%);
  pointer-events:none;
}
.hotel-card:hover .hotel-img{transform:scale(1.07)}
.hotel-body{padding:30px;flex:1;display:flex;flex-direction:column;position:relative;z-index:2}
.loc{
  display:inline-block;
  font-family:'Space Grotesk',sans-serif;
  font-size:.7rem;letter-spacing:3px;
  text-transform:uppercase;
  font-weight:600;
  color:#1A1A1A;
  background:var(--peach);
  padding:6px 14px;
  border-radius:var(--radius-pill);
  margin-bottom:14px;
  align-self:flex-start;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);
}
.hotel-body h3{margin-bottom:12px;color:var(--foreground)}
.hotel-body p{margin-bottom:18px}
.features{
  list-style:none;
  margin-bottom:24px;
  display:flex;flex-wrap:wrap;gap:8px;
}
.features li{
  font-family:'Space Grotesk',sans-serif;
  font-size:.76rem;
  padding:7px 14px;
  background:rgba(255,255,255,0.7);
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  color:var(--foreground);
  font-weight:500;
  backdrop-filter:blur(6px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.8);
}
.hotel-body .btn-outline{align-self:flex-start;margin-top:auto}

/* WELLNESS GRID */
.wellness-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:26px;
}
.wellness-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
  backdrop-filter:blur(12px) saturate(140%);
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,0.8);
  position:relative;
}
.wellness-card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:50%;
  background:var(--gloss-highlight);
  pointer-events:none;
  opacity:.55;
  border-radius:var(--radius) var(--radius) 0 0;
}
.wellness-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-float)}
.w-img{
  width:100%;height:210px;
  background-size:cover;background-position:center;
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.wellness-card:hover .w-img{transform:scale(1.08)}
.wellness-card h4{padding:22px 22px 8px;color:var(--foreground);position:relative;z-index:1}
.wellness-card p{padding:0 22px 24px;position:relative;z-index:1}

/* VIP GRID */
.vip-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:22px;
  position:relative;z-index:1;
}
.vip-card{
  background:var(--card);
  border:1px solid var(--border);
  padding:34px 24px;
  border-radius:var(--radius);
  text-align:center;
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
  backdrop-filter:blur(14px) saturate(140%);
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,0.85);
  position:relative;
  overflow:hidden;
}
.vip-card::before{
  content:"";
  position:absolute;inset:0;
  background:var(--gloss-highlight);
  opacity:.5;
  pointer-events:none;
}
.vip-card:nth-child(8n+1){background:linear-gradient(160deg,rgba(255,199,168,0.55),rgba(255,255,255,0.75))}
.vip-card:nth-child(8n+2){background:linear-gradient(160deg,rgba(180,240,216,0.55),rgba(255,255,255,0.75))}
.vip-card:nth-child(8n+3){background:linear-gradient(160deg,rgba(149,194,255,0.55),rgba(255,255,255,0.75))}
.vip-card:nth-child(8n+4){background:linear-gradient(160deg,rgba(203,185,234,0.55),rgba(255,255,255,0.75))}
.vip-card:nth-child(8n+5){background:linear-gradient(160deg,rgba(245,215,110,0.50),rgba(255,255,255,0.75))}
.vip-card:nth-child(8n+6){background:linear-gradient(160deg,rgba(201,231,91,0.45),rgba(255,255,255,0.75))}
.vip-card:nth-child(8n+7){background:linear-gradient(160deg,rgba(240,106,91,0.38),rgba(255,255,255,0.78))}
.vip-card:nth-child(8n+8){background:linear-gradient(160deg,rgba(169,123,255,0.42),rgba(255,255,255,0.78))}

.vip-card:hover{
  transform:translateY(-8px);
  box-shadow:var(--shadow-float), 0 0 28px rgba(240,106,91,0.10);
}
.vip-icon{
  width:64px;height:64px;
  display:grid;place-items:center;
  margin:0 auto 18px;
  background:rgba(255,255,255,0.85);
  border:1px solid var(--border);
  border-radius:50%;
  color:var(--foreground);
  font-size:1.5rem;
  position:relative;z-index:1;
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,0.9);
}
.vip-card h4{margin-bottom:10px;position:relative;z-index:1;color:var(--foreground)}
.vip-card p{position:relative;z-index:1}

/* EXP GRID */
.exp-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:22px;
  position:relative;z-index:1;
}
.exp-card{
  border-radius:var(--radius);
  overflow:hidden;
  background:var(--card);
  border:1px solid var(--border);
  transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
  backdrop-filter:blur(12px) saturate(140%);
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,0.85);
  position:relative;
}
.exp-card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:55%;
  background:var(--gloss-highlight);opacity:.5;pointer-events:none;
  border-radius:var(--radius) var(--radius) 0 0;
}
.exp-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-float)}
.exp-img{
  width:100%;height:240px;
  background-size:cover;background-position:center;
  transition:transform .8s cubic-bezier(.2,.8,.2,1);
}
.exp-card:hover .exp-img{transform:scale(1.06)}
.exp-card h4{padding:22px;color:var(--foreground);position:relative;z-index:1}

/* ABOUT */
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.about-img{
  height:520px;
  background-size:cover;background-position:center;
  border-radius:var(--radius);
  border:1px solid var(--border);
  box-shadow:var(--shadow-float), inset 0 1px 0 rgba(255,255,255,0.6);
  position:relative;
}
.about-img::after{
  content:"";position:absolute;inset:0;border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,0.18),rgba(255,255,255,0) 40%);
  pointer-events:none;
}
.about-text p{margin:18px 0}

/* DETAIL GRID */
.detail-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}
.detail-grid.reverse .detail-img{order:2}
.detail-img{
  height:480px;
  background-size:cover;background-position:center;
  border-radius:var(--radius);
  border:1px solid var(--border);
  box-shadow:var(--shadow-float), inset 0 1px 0 rgba(255,255,255,0.6);
  position:relative;
}
.detail-img::after{
  content:"";position:absolute;inset:0;border-radius:var(--radius);
  background:linear-gradient(180deg,rgba(255,255,255,0.15),rgba(255,255,255,0) 40%);
  pointer-events:none;
}
.detail-text p{margin:18px 0}
.detail-text .features{flex-direction:column;gap:10px;margin:24px 0}
.detail-text .features li{align-self:flex-start}

/* CONTACT */
.contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.contact-map{
  border-radius:var(--radius);
  overflow:hidden;
  border:1px solid var(--border);
  min-height:520px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}
.contact-form{
  background:var(--gradient-glass);
  border:1px solid var(--border);
  padding:38px;
  border-radius:var(--radius);
  display:flex;flex-direction:column;gap:18px;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:var(--shadow-float), inset 0 1px 0 rgba(255,255,255,0.9);
  position:relative;
  overflow:hidden;
}
.contact-form::before{
  content:"";position:absolute;inset:0;
  background:var(--gloss-highlight);opacity:.5;pointer-events:none;
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative;z-index:1}
.contact-form > *{position:relative;z-index:1}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%;
  padding:14px 18px;
  background:rgba(255,255,255,0.75);
  border:1px solid var(--border);
  border-radius:16px;
  color:var(--foreground);
  font-family:'Space Grotesk',sans-serif;font-size:.92rem;
  transition:.3s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.9);
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:rgba(26,26,26,0.45)}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:var(--coral);
  box-shadow:0 0 0 4px rgba(240,106,91,.12), inset 0 1px 0 rgba(255,255,255,0.9);
  background:#fff;
}
.contact-form option{background:#FAF7F1;color:#1A1A1A}
.contact-form textarea{resize:vertical;font-family:'Space Grotesk',sans-serif}

/* FAQ */
.faq{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:14px;position:relative;z-index:1}
.faq details{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:20px;
  padding:20px 26px;
  transition:.3s ease;
  backdrop-filter:blur(10px);
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,0.85);
}
.faq details[open]{border-color:var(--border-strong);box-shadow:var(--shadow-float)}
.faq summary{
  cursor:pointer;
  font-family:'Bodoni Moda',serif;
  font-weight:600;
  font-size:1.1rem;
  color:var(--foreground);
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.faq summary::after{
  content:"+";
  font-family:'Space Grotesk',sans-serif;
  font-size:1.4rem;
  color:var(--coral);
  transition:transform .3s ease;
}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin-top:14px;color:var(--text-mute)}

/* LEGAL */
.legal{max-width:900px;margin:0 auto;background:var(--card);padding:42px;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,0.85);backdrop-filter:blur(10px)}
.legal h2{
  margin-top:36px;margin-bottom:12px;
  color:var(--foreground);font-size:1.3rem;
  font-family:'Bodoni Moda',serif;
}
.legal h2:first-child{margin-top:0}
.legal h3{
  margin-top:22px;margin-bottom:10px;
  color:var(--foreground);
  font-size:1.05rem;
  font-family:'Bodoni Moda',serif;
}
.legal p{margin-bottom:14px}
.legal ul{margin:10px 0 18px 22px}
.legal ul li{color:var(--text-mute);margin-bottom:8px;font-family:'Space Grotesk',sans-serif;font-size:.95rem}
.legal a{color:var(--coral);text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:var(--violet)}

/* FOOTER */
.footer{
  background:linear-gradient(180deg,#EDEAE0 0%,#E5E2D6 100%);
  border-top:1px solid var(--border);
  padding:70px 0 0;
  position:relative;
}
.footer::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(500px 200px at 5% 0%, rgba(203,185,234,0.25), transparent 70%),
    radial-gradient(500px 200px at 95% 0%, rgba(255,199,168,0.25), transparent 70%);
  pointer-events:none;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:40px;
  padding-bottom:50px;
  position:relative;
}
.footer-col h5{
  font-family:'Bodoni Moda',serif;
  color:var(--foreground);
  margin-bottom:18px;
  font-size:1rem;
  letter-spacing:1.5px;
}
.footer-col a{
  display:block;
  color:var(--text-mute);
  font-family:'Space Grotesk',sans-serif;
  font-size:.88rem;
  margin-bottom:10px;
  transition:.3s ease;
}
.footer-col a:hover{color:var(--coral);transform:translateX(3px)}
.footer-col p{margin-top:14px;font-size:.88rem;color:var(--text-mute)}
.footer-bottom{
  border-top:1px solid var(--border);
  padding:24px 0;
  text-align:center;
  position:relative;
}
.footer-bottom p{font-size:.8rem;letter-spacing:1px;color:var(--text-mute)}

/* CURSOR GLOW */
.cursor-glow{
  position:fixed;
  width:420px;height:420px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(203,185,234,.28) 0%,rgba(255,199,168,0.14) 40%,transparent 70%);
  pointer-events:none;
  transform:translate(-50%,-50%);
  z-index:2;
  transition:transform .15s ease-out;
  mix-blend-mode:multiply;
  filter:blur(6px);
}
@media (max-width:768px){.cursor-glow{display:none}}

/* POPUP */
.popup{
  position:fixed;inset:0;
  background:rgba(245,245,240,.55);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  display:none;
  align-items:center;justify-content:center;
  z-index:200;padding:24px;
}
.popup.show{display:flex;animation:fade .35s ease}
.popup-card{
  background:var(--gradient-glass);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:46px 38px;
  text-align:center;
  max-width:440px;
  width:100%;
  box-shadow:var(--shadow-float), inset 0 1px 0 rgba(255,255,255,0.9);
  position:relative;
  overflow:hidden;
}
.popup-card::before{
  content:"";position:absolute;inset:0;
  background:var(--gloss-highlight);opacity:.55;pointer-events:none;
}
.popup-card h3{color:var(--foreground);margin-bottom:14px;position:relative;z-index:1}
.popup-card p{margin-bottom:24px;position:relative;z-index:1}
.popup-card .btn{position:relative;z-index:1}

/* SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.8,.2,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

@keyframes fade{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}

/* Floating subtle motion for hero stats */
@keyframes floaty{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-6px)}
}
.hero-stats{animation:floaty 7s ease-in-out infinite}

/* RESPONSIVE */
@media (max-width:1180px){
  .nav-links a{padding:8px 12px;font-size:.78rem}
}

@media (max-width:1024px){
  .hotels-grid{grid-template-columns:1fr}
  .hotel-card-wide{grid-column:auto}
  .about-grid,.detail-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .detail-grid.reverse .detail-img{order:0}
  .about-img,.detail-img{height:380px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:30px}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  body{padding-top:80px}
  .navbar{
    top:12px;
    width:calc(100% - 24px);
    border-radius:24px;
  }
  .navbar::before,
  .navbar::after{border-radius:24px}
  .navbar.scrolled{top:8px}
  .hero,.page-hero{margin-top:-80px}
}

@media (max-width:768px){
  .container{padding:0 20px}
  .nav-container{padding:8px 10px 8px 14px;gap:10px}
  .logo-text{font-size:.88rem}
  .logo-mark{width:38px;height:38px;font-size:1rem}
  .nav-links{
    position:fixed;
    top:78px;
    left:12px;right:12px;
    background:rgba(250,247,241,.96);
    backdrop-filter:blur(22px);
    flex-direction:column;
    padding:18px;
    gap:6px;
    border-radius:24px;
    transform:translateY(-220%);
    opacity:0;
    transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .35s ease;
    border:1px solid var(--border);
    box-shadow:var(--shadow-float);
    align-items:stretch;
  }
  .nav-links.open{transform:translateY(0);opacity:1}
  .nav-links a{
    padding:12px 16px;
    font-size:.9rem;
    text-align:left;
    border-radius:14px;
    background:transparent;
  }
  .nav-links a.active{
    background:linear-gradient(135deg,rgba(255,199,168,0.55),rgba(203,185,234,0.45));
  }
  .hamburger{display:flex}
  .nav-cta{display:none}
  .section{padding:80px 0}
  .form-row{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr;gap:30px;text-align:left}
  .hero{padding:100px 0 70px}
  .hero-stats{margin-top:40px;padding:22px}
  .stat h3{font-size:1.8rem}
  .legal{padding:28px}
}

@media (max-width:480px){
  .hero-buttons{flex-direction:column;width:100%}
  .hero-buttons .btn{width:100%;text-align:center}
  .hero-stats{grid-template-columns:1fr 1fr;gap:14px;padding:18px}
}