
:root{
  --purple:#813181; --green:#6ECF7E;
  --bg:#0b0b0c; --panel:#141216; --panel2:#1a1720; --ring:#27222c;
  --text:#f8fafc; --muted:#c9c5cf
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font:16px/1.65 Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
a{color:var(--purple);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

.container{max-width:1000px;margin:0 auto;padding:16px 14px;padding-bottom:90px}
.header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.1rem}
.brand .dot{width:10px;height:10px;border-radius:999px;background:var(--purple)}

.btn{display:inline-block;padding:12px 14px;border-radius:12px;font-weight:800;border:1px solid var(--purple);color:var(--purple);text-align:center;white-space:nowrap}
.btn.primary{background:var(--green);border-color:var(--green);color:#05240f}
.btn.ghost{background:transparent}

.hero{display:grid;grid-template-columns:1fr;gap:14px;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--ring);border-radius:18px;padding:14px}
.hero h1{font-size:1.5rem;margin:0 0 6px}
.hero p{margin:0 0 6px}
.hero .book-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}

.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gallery a{display:block;outline:0;border-radius:12px}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid var(--ring);background:#0e0d11;transition:transform .08s ease}
.gallery a:focus img, .gallery a:hover img{transform:translateY(-1px)}

.card{background:var(--panel);border:1px solid var(--ring);border-radius:14px;padding:14px;margin-top:16px}
.grid.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid.cards .card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--ring);margin-bottom:8px}
.grid.cards .card h3{margin:6px 0 6px;font-size:1.0rem}

.small{font-size:.92rem;color:var(--muted)}
.footer{color:var(--muted);text-align:center;margin:26px 0 8px}

/* Sticky mobile booking bar */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:50;
  background:rgba(20,18,22,.98);backdrop-filter:saturate(160%) blur(6px);
  border-top:1px solid var(--ring);padding:10px 12px calc(10px + env(safe-area-inset-bottom));
}
.sticky-rail{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scroll-snap-type:x mandatory}
.sticky-rail a{scroll-snap-align:start;flex:0 0 auto}
.sticky-rail .btn{padding:11px 12px;border-radius:999px}

/* Larger screens */
@media(min-width:860px){
  .container{padding:22px 22px 22px}
  .hero{grid-template-columns:1.1fr .9fr;padding:18px}
  .hero h1{font-size:1.8rem}
  .hero .book-grid{grid-template-columns:repeat(3,1fr);gap:10px}
  .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid.cards{grid-template-columns:repeat(3,1fr)}
  .sticky-cta{display:none}
}
