:root{
  --bg:#0a0817;--bg2:#100d22;--card:#171332;--card2:#1e1941;
  --line:rgba(255,255,255,.09);--text:#ece9ff;--muted:#a5a2c8;
  --teal:#35e0c2;--coral:#ff6b8b;--violet:#7c5cff;
  --r:22px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--text);line-height:1.65;font-size:16px;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:
 radial-gradient(900px 500px at 85% -5%,rgba(124,92,255,.22),transparent 60%),
 radial-gradient(700px 500px at -5% 35%,rgba(53,224,194,.09),transparent 60%),
 radial-gradient(700px 500px at 100% 80%,rgba(255,107,139,.09),transparent 60%)}
h1,h2,h3,h4{font-family:'Syne',sans-serif;line-height:1.1;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,92%);margin:auto}
.eyebrow{display:inline-flex;gap:10px;align-items:center;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);font-weight:600}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 12px var(--coral)}
section{padding:96px 0}
h2{font-size:clamp(32px,4.4vw,54px);margin:14px 0 16px}
.lead{color:var(--muted);max-width:620px;font-size:18px}

/* header: floating pill */
header.top{position:sticky;top:14px;z-index:50;padding:0 14px}
.pill{width:min(1100px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px 10px 24px;border-radius:999px;background:rgba(18,14,40,.72);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:0 12px 40px rgba(0,0,0,.4)}
.logo{font-family:'Syne',sans-serif;font-weight:800;font-size:22px;letter-spacing:.04em}
.logo span{background:linear-gradient(90deg,var(--teal),var(--violet),var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent}
.pill nav{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.pill nav a{padding:8px 15px;border-radius:999px;font-size:14px;color:var(--muted);transition:.25s}
.pill nav a:hover,.pill nav a.on{background:rgba(255,255,255,.08);color:#fff}
.btn{display:inline-block;padding:13px 26px;border-radius:999px;font-weight:600;font-size:15px;transition:.25s;border:1px solid transparent;cursor:pointer}
.btn.pri{background:linear-gradient(90deg,var(--teal),#7af0d9);color:#04231d;box-shadow:0 8px 28px rgba(53,224,194,.28)}
.btn.pri:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(53,224,194,.4)}
.btn.ghost{border-color:rgba(255,255,255,.25);color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.08)}
.btn.sm{padding:10px 20px;font-size:14px}

/* hero */
.hero{padding:70px 0 90px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.hero h1{font-size:clamp(46px,7vw,92px);margin:20px 0 22px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--teal),var(--violet) 55%,var(--coral));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{color:var(--muted);font-size:19px;max-width:540px}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0 20px}
.age{font-size:13px;color:var(--coral);letter-spacing:.08em}
.art{position:relative;aspect-ratio:1/1.05}
.orb{position:absolute;inset:6% 6% 6% 6%;border-radius:40% 60% 55% 45%/50% 40% 60% 50%;background:conic-gradient(from 200deg,var(--violet),var(--coral),var(--teal),var(--violet));filter:blur(.5px);animation:morph 14s ease-in-out infinite;opacity:.9}
.orb::after{content:"";position:absolute;inset:14%;border-radius:inherit;background:var(--bg);opacity:.82}
@keyframes morph{50%{border-radius:60% 40% 45% 55%/40% 55% 45% 60%;transform:rotate(18deg)}}
.chip{position:absolute;padding:14px 18px;border-radius:18px;background:rgba(23,19,50,.85);border:1px solid var(--line);backdrop-filter:blur(10px);font-size:14px;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.chip b{display:block;font-family:'Syne',sans-serif;font-size:20px;color:var(--teal)}
.c1{top:6%;left:-2%}.c2{top:42%;right:-4%}.c3{bottom:6%;left:8%}
.c2 b{color:var(--coral)}.c3 b{color:#b9a8ff}

/* marquee */
.marq{overflow:hidden;border-block:1px solid var(--line);background:var(--bg2);padding:18px 0}
.marq div{display:flex;gap:48px;width:max-content;animation:slide 30s linear infinite;font-family:'Syne',sans-serif;font-size:22px;font-weight:700;color:rgba(255,255,255,.55)}
.marq span::after{content:"✦";margin-left:48px;color:var(--coral)}
@keyframes slide{to{transform:translateX(-50%)}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.stat{padding:28px;border-radius:var(--r);background:var(--card);border:1px solid var(--line)}
.stat b{display:block;font-family:'Syne',sans-serif;font-size:48px;background:linear-gradient(90deg,var(--teal),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat span{color:var(--muted);font-size:14px;letter-spacing:.06em}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.panel{border-radius:30px;min-height:380px;background:linear-gradient(145deg,var(--violet),#2a1d6e 45%,var(--coral));position:relative;overflow:hidden}
.panel::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 2px,transparent 2px 22px)}
.panel .tag{position:absolute;left:24px;bottom:24px;padding:12px 18px;border-radius:14px;background:rgba(10,8,23,.75);font-weight:600}
.ticks{list-style:none;margin:22px 0}
.ticks li{padding:10px 0 10px 34px;position:relative;border-bottom:1px solid var(--line);color:var(--muted)}
.ticks li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}

/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:40px}
.tile{padding:30px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);transition:.3s;position:relative;overflow:hidden}
.tile:hover{transform:translateY(-6px);border-color:rgba(53,224,194,.5)}
.tile.big{grid-column:span 3;grid-row:span 2;background:linear-gradient(160deg,var(--card2),#2a1a5a)}
.tile.mid{grid-column:span 3}.tile.sm{grid-column:span 2}.tile.w4{grid-column:span 4}
.tile small{color:var(--teal);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:600}
.tile h3{font-size:26px;margin:10px 0}
.tile p{color:var(--muted);font-size:15px}
.meta{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);font-size:13px;color:#cfcbf5}
.glow{position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:var(--coral);filter:blur(70px);opacity:.25}

/* banner */
.banner{border-radius:34px;padding:64px;background:linear-gradient(120deg,#1b1442,#2c1768 50%,#4a1b57);border:1px solid var(--line);display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center}
.banner .ticks{margin:0}

/* hscroll dining */
.hrow{display:flex;gap:18px;margin-top:40px;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x mandatory}
.hrow .tile{min-width:330px;scroll-snap-align:start}
.hrow::-webkit-scrollbar{height:6px}.hrow::-webkit-scrollbar-thumb{background:var(--violet);border-radius:9px}

/* timeline */
.tl{margin-top:40px;position:relative;padding-left:34px;border-left:2px dashed rgba(255,255,255,.2)}
.tl .ev{position:relative;padding:22px 26px;margin-bottom:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.tl .ev::before{content:"";position:absolute;left:-43px;top:30px;width:16px;height:16px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 5px var(--bg),0 0 18px var(--teal)}
.tl .ev h3{font-size:22px}.tl .ev small{color:var(--coral);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.tl .ev p{color:var(--muted);font-size:15px}

/* amenities */
.chips{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.am{flex:1 1 260px;padding:22px 24px;border-radius:999px;background:var(--card);border:1px solid var(--line);display:flex;gap:16px;align-items:center}
.am i{font-style:normal;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--violet),var(--coral));font-size:20px}
.am b{display:block;font-family:'Syne',sans-serif}.am span{font-size:14px;color:var(--muted)}

/* faq */
details{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 26px;margin-top:14px}
summary{cursor:pointer;font-family:'Syne',sans-serif;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::after{content:"+";color:var(--teal);font-size:26px;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin-top:12px}

/* final cta */
.final{text-align:center;padding:90px 30px;border-radius:40px;background:radial-gradient(600px 300px at 50% 0,rgba(124,92,255,.5),transparent 70%),var(--card);border:1px solid var(--line)}
.final .cta{justify-content:center}

/* sub page hero */
.phero{padding:80px 0 30px;text-align:center}
.phero h1{font-size:clamp(40px,6vw,76px);margin:16px 0}
.phero p{color:var(--muted);max-width:640px;margin:auto;font-size:18px}
.legal{max-width:820px;margin:auto;padding:30px 0 90px}
.legal h2{font-size:26px;margin:38px 0 10px;color:var(--teal)}
.legal p,.legal li{color:#c9c6e6;margin-bottom:12px}
.legal ul{padding-left:22px}
.legal a{color:var(--coral);text-decoration:underline}

footer{border-top:1px solid var(--line);background:var(--bg2);padding:64px 0 28px;margin-top:40px}
.fg{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px}
footer h4{font-size:15px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px;color:var(--teal)}
footer p,footer li,footer a{color:var(--muted);font-size:14px}
footer ul{list-style:none}footer li{margin-bottom:8px}footer a:hover{color:#fff}
.fb{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted)}

@media(max-width:900px){
 .hero .wrap,.split,.banner,.fg{grid-template-columns:1fr}
 .stats{grid-template-columns:1fr 1fr}
 .bento{grid-template-columns:1fr}.tile.big,.tile.mid,.tile.sm,.tile.w4{grid-column:auto;grid-row:auto}
 .pill{border-radius:28px;flex-wrap:wrap;justify-content:center;padding:14px}
 .banner{padding:34px}.art{max-width:420px;margin:auto}section{padding:70px 0}
}
