/* Velvet Voltage — neon disco cafe-bar. Self-contained, system fonts only. */
:root{
  --night:#0e0b1a;
  --night-2:#16112b;
  --panel:#1c1638;
  --ink:#f4f0ff;
  --muted:#b9b0d6;
  --magenta:#ff2d95;
  --cyan:#21e6c1;
  --amber:#ffc24b;
  --violet:#8b5cf6;
  --line:rgba(255,255,255,.10);
  --maxw:1140px;
  --head: "Trebuchet MS","Segoe UI",Verdana,sans-serif;
  --body: "Helvetica Neue",Arial,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:var(--body);color:var(--ink);
  background:var(--night);
  background-image:
    radial-gradient(900px 500px at 85% -10%, rgba(255,45,149,.18), transparent 60%),
    radial-gradient(800px 480px at 0% 0%, rgba(33,230,193,.14), transparent 55%),
    linear-gradient(180deg,#0e0b1a 0%, #120e22 100%);
  background-attachment:fixed;
  line-height:1.6;
}
a{color:var(--cyan);text-decoration:none}
a:hover{color:var(--magenta)}
img{max-width:100%;display:block}
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}
h1,h2,h3{font-family:var(--head);line-height:1.12;margin:0 0 .5em;letter-spacing:.2px}
h1{font-size:clamp(2.1rem,5vw,3.6rem)}
h2{font-size:clamp(1.5rem,3vw,2.3rem)}
.eyebrow{font-family:var(--head);text-transform:uppercase;letter-spacing:.28em;
  font-size:.72rem;color:var(--cyan);margin:0 0 .8rem}
.neon{color:#fff;text-shadow:0 0 6px var(--magenta),0 0 18px rgba(255,45,149,.6)}

/* Header / nav */
.site-head{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);
  background:rgba(14,11,26,.78);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;max-width:var(--maxw);margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--head);font-weight:bold;
  font-size:1.18rem;letter-spacing:.5px;color:#fff}
.brand .dot{width:14px;height:14px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,#fff,var(--magenta));
  box-shadow:0 0 10px var(--magenta),0 0 22px rgba(255,45,149,.6)}
.brand span{color:var(--cyan)}
.nav-links{display:flex;gap:6px;align-items:center;list-style:none;margin:0;padding:0}
.nav-links a{color:var(--muted);padding:8px 14px;border-radius:999px;font-size:.95rem;letter-spacing:.3px}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav-links a.active{color:#0e0b1a;background:var(--cyan);font-weight:bold}
.nav-cta{background:var(--magenta)!important;color:#fff!important;box-shadow:0 0 16px rgba(255,45,149,.5)}
.burger{display:none;background:none;border:1px solid var(--line);color:#fff;
  border-radius:10px;padding:8px 12px;font-size:1.1rem;cursor:pointer}

/* Hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;
  filter:brightness(.62) saturate(1.15);transform:scale(1.03)}
.hero-veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,11,26,.5),rgba(14,11,26,.82)),
  radial-gradient(700px 360px at 80% 10%,rgba(255,45,149,.35),transparent 60%)}
.hero-inner{position:relative;max-width:var(--maxw);margin:0 auto;padding:120px 22px 110px}
.hero p.lead{max-width:560px;color:#e9e3ff;font-size:1.15rem}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.btn{display:inline-block;padding:13px 24px;border-radius:999px;font-weight:bold;
  font-family:var(--head);letter-spacing:.4px;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--magenta);color:#fff;box-shadow:0 0 18px rgba(255,45,149,.55)}
.btn-primary:hover{background:#ff52a9;color:#fff}
.btn-ghost{border-color:var(--cyan);color:var(--cyan);background:transparent}
.btn-ghost:hover{background:rgba(33,230,193,.12);color:#fff}

/* Sections */
section.block{padding:74px 0}
.section-head{max-width:640px;margin-bottom:34px}
.section-head p{color:var(--muted);margin:0}
.grid{display:grid;gap:22px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:1.1fr .9fr;align-items:center}
.card{background:linear-gradient(180deg,var(--panel),var(--night-2));
  border:1px solid var(--line);border-radius:16px;padding:24px;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-4px);border-color:rgba(255,45,149,.5)}
.card h3{color:#fff;margin-bottom:.35em}
.card .tag{font-family:var(--head);color:var(--amber);font-size:.78rem;text-transform:uppercase;letter-spacing:.2em}
.card p{color:var(--muted);margin:.4em 0 0}
.media{border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.media img{width:100%;height:100%;object-fit:cover}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery a{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);aspect-ratio:1/1}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s,filter .3s;filter:saturate(1.05)}
.gallery a:hover img{transform:scale(1.08);filter:saturate(1.3)}

/* Strip / stats */
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center}
.strip .n{font-family:var(--head);font-size:2.2rem;color:#fff;text-shadow:0 0 12px rgba(33,230,193,.5)}
.strip .l{color:var(--muted);text-transform:uppercase;letter-spacing:.16em;font-size:.74rem}

/* Menu list */
.menu-group{margin-bottom:40px}
.menu-group h3{color:var(--cyan);border-bottom:1px solid var(--line);padding-bottom:10px}
.menu-item{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed rgba(255,255,255,.08)}
.menu-item .name{color:#fff;font-weight:bold;font-family:var(--head)}
.menu-item .desc{color:var(--muted);font-size:.92rem}
.menu-item .price{color:var(--amber);font-family:var(--head);white-space:nowrap}

/* Events */
.event{display:grid;grid-template-columns:90px 1fr auto;gap:18px;align-items:center;
  background:linear-gradient(180deg,var(--panel),var(--night-2));border:1px solid var(--line);
  border-radius:14px;padding:16px 20px;margin-bottom:14px}
.event .date{text-align:center;font-family:var(--head)}
.event .date .d{font-size:1.7rem;color:#fff;line-height:1}
.event .date .m{font-size:.72rem;letter-spacing:.2em;color:var(--cyan);text-transform:uppercase}
.event h3{margin:0;color:#fff}
.event .meta{color:var(--muted);font-size:.9rem}
.event .when{color:var(--amber);font-family:var(--head);font-size:.9rem;text-align:right}

/* Testimonials */
.quote{background:linear-gradient(180deg,var(--panel),var(--night-2));border:1px solid var(--line);
  border-radius:16px;padding:24px}
.quote p{color:#ece7ff;font-style:italic;margin:0 0 14px}
.quote .who{color:var(--cyan);font-family:var(--head);font-size:.9rem}
.stars{color:var(--amber);letter-spacing:2px;margin-bottom:10px}

/* Forms */
.form{display:grid;gap:14px;max-width:520px}
.form label{font-size:.85rem;color:var(--muted);font-family:var(--head);letter-spacing:.04em}
.form input,.form textarea,.form select{width:100%;padding:12px 14px;border-radius:10px;
  border:1px solid var(--line);background:#120e22;color:#fff;font:inherit}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--cyan)}
.form-note{color:var(--cyan);font-family:var(--head);display:none;margin-top:6px}

/* Contact info */
.info-row{display:flex;gap:12px;margin-bottom:16px;color:var(--muted)}
.info-row b{color:#fff;font-family:var(--head);display:block}

/* Footer */
.site-foot{border-top:1px solid var(--line);background:rgba(8,6,16,.6);margin-top:30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;padding:52px 0 28px}
.foot-grid h4{font-family:var(--head);color:#fff;margin:0 0 14px;font-size:1rem;letter-spacing:.04em}
.foot-grid p,.foot-grid li{color:var(--muted);font-size:.92rem}
.foot-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.social{display:flex;gap:10px;margin-top:14px}
.social a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;color:#fff;font-family:var(--head);font-size:.85rem}
.social a:hover{border-color:var(--magenta);color:var(--magenta)}
.foot-bottom{border-top:1px solid var(--line);padding:18px 0;display:flex;
  justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.85rem}

/* Lightbox */
.lb{position:fixed;inset:0;background:rgba(6,4,12,.92);display:none;place-items:center;z-index:100;padding:24px}
.lb.open{display:grid}
.lb img{max-width:92vw;max-height:86vh;border-radius:12px;border:1px solid var(--line)}
.lb .x{position:absolute;top:20px;right:26px;color:#fff;font-size:2rem;cursor:pointer;font-family:var(--head)}

/* Album / media */
.album{margin-bottom:54px}
.album-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.album-head h3{color:#fff;margin:0}
.album-head .meta{color:var(--muted);font-size:.9rem;margin-top:4px}
.album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.album-grid a,.album-grid .vcard{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);
  position:relative;aspect-ratio:1/1;cursor:pointer}
.album-grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s,filter .3s;filter:saturate(1.06) brightness(.92)}
.album-grid a:hover img,.vcard:hover img{transform:scale(1.07);filter:saturate(1.3) brightness(1)}
/* Video card */
.vcard{grid-column:span 2;aspect-ratio:auto}
.vcard .poster{position:relative;aspect-ratio:16/9}
.vcard .poster img{width:100%;height:100%;object-fit:cover}
.vcard .play{position:absolute;inset:0;display:grid;place-items:center}
.vcard .play span{width:64px;height:64px;border-radius:50%;background:rgba(255,45,149,.85);
  display:grid;place-items:center;box-shadow:0 0 26px rgba(255,45,149,.7);transition:transform .2s}
.vcard:hover .play span{transform:scale(1.1)}
.vcard .play span::after{content:"";border-style:solid;border-width:11px 0 11px 18px;
  border-color:transparent transparent transparent #fff;margin-left:4px}
.vcard .vmeta{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;
  background:linear-gradient(0deg,rgba(8,5,16,.92),transparent);font-family:var(--head)}
.vcard .vmeta b{color:#fff;display:block}
.vcard .vmeta small{color:var(--cyan)}
.vcard .dur{position:absolute;top:10px;right:10px;background:rgba(8,5,16,.8);color:#fff;
  font-family:var(--head);font-size:.74rem;padding:3px 8px;border-radius:6px}
/* Locked archive bar */
.lockbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  margin-top:16px;padding:16px 20px;border:1px dashed rgba(255,194,75,.5);border-radius:12px;
  background:rgba(255,194,75,.06)}
.lockbar .t{color:var(--ink);font-size:.95rem}
.lockbar .t b{font-family:var(--head)}
.lock{display:inline-block;margin-right:8px}
/* Members panel */
.members{max-width:440px;margin:0 auto;background:linear-gradient(180deg,var(--panel),var(--night-2));
  border:1px solid var(--line);border-radius:18px;padding:30px}
.members h2{color:#fff}
.perk{display:flex;gap:10px;color:var(--muted);margin:10px 0;font-size:.94rem}
.perk b{color:var(--cyan);font-family:var(--head)}
.alt{text-align:center;color:var(--muted);font-size:.88rem;margin-top:16px}

@media(max-width:860px){
  .album-grid{grid-template-columns:repeat(2,1fr)}
  .vcard{grid-column:span 2}
  .grid-3,.gallery{grid-template-columns:repeat(2,1fr)}
  .grid-2{grid-template-columns:1fr}
  .strip{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .event{grid-template-columns:70px 1fr;}
  .event .when{grid-column:2;text-align:left}
  .nav-links{position:absolute;top:62px;left:0;right:0;flex-direction:column;
    background:var(--night-2);border-bottom:1px solid var(--line);padding:14px 22px;display:none}
  .nav-links.show{display:flex}
  .nav-links a{width:100%}
  .burger{display:block}
}
