:root{
  --pink:#ff66a3;
  --pink-2:#ffc0dc;
  --black:#111111;
  --paper:#fff7fb;
  --ring:rgba(255,102,163,.35);
}
*{box-sizing:border-box}
html,body{
  margin:0;background:
    radial-gradient(1200px 800px at 20% -10%, var(--pink-2), transparent 60%),
    radial-gradient(1000px 600px at 110% 10%, rgba(255,255,255,.15), transparent 50%),
    var(--black);
  color:var(--paper);
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
}
a{color:var(--pink);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(1100px,92%);margin:0 auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(17,17,17,.85);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav .inner{display:flex;align-items:center;gap:16px;padding:10px 0}
.nav img.logo{height:44px;width:auto;border-radius:10px}
.nav .spacer{flex:1 1 auto}
.nav a.link{padding:8px 10px;border-radius:10px;color:#fff;font-weight:600}
.nav a.link.active{background:rgba(255,102,163,.12);border:1px solid rgba(255,102,163,.35)}
.nav a.btn{background:var(--pink);color:var(--black);padding:10px 14px;border-radius:999px;font-weight:700;box-shadow:0 6px 20px var(--ring);border:2px solid transparent}
.nav a.btn:hover{transform:translateY(-1px);box-shadow:0 8px 26px var(--ring)}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding:48px 0 24px}
.hero .card,.card{background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.hero h1{font-size:clamp(36px,5vw,56px);margin:0 0 8px}
.hero p.lead{font-size:18px;color:#ffe7f3;margin:0 0 18px}
.badges{display:flex;gap:10px;flex-wrap:wrap}
.badges .pill{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 12px;font-weight:700;background:rgba(255,255,255,.06)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card img{display:block;width:100%;height:220px;object-fit:cover;border-radius:14px;margin-bottom:10px}
.card .content{padding:6px 2px 0}
.section{padding:36px 0}
.section h2{margin:0 0 16px;font-size:clamp(24px,4vw,36px)}
.reviews .review{background:rgba(255,255,255,.05);border:1px dashed rgba(255,255,255,.2);border-radius:16px;padding:16px}
.reviews .by{margin-top:6px;color:#ffd1e6;font-weight:700}
.footer{margin-top:40px;border-top:1px solid rgba(255,255,255,.1);padding:28px 0 44px;color:#ffe7f3}
.menu-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.menu-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:14px 16px}
.menu-item h4{margin:0 0 10px}
.tag{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:700;color:#fff}
.gallery-grid{columns:3 280px;column-gap:14px}
.gallery-grid img{width:100%;margin:0 0 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14)}
.callout{background:linear-gradient(180deg, rgba(255,102,163,.15), rgba(255,102,163,.05));border:1px solid rgba(255,102,163,.45);border-radius:18px;padding:14px 18px;color:#fff}
.cta-banner{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;background:rgba(255,102,163,.12);border:1px solid rgba(255,102,163,.35);border-radius:16px;padding:14px 18px;margin-top:14px}
@media (max-width:880px){.hero{grid-template-columns:1fr}}
