
@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#050805;--acid:#c9ff5c;--ink:#f5f7f0;--muted:#a2aa9a;--line:rgba(201,255,92,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;pointer-events:none;opacity:.045;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.top{position:fixed;top:0;left:0;right:0;z-index:30;padding:18px 0}.wrap{width:min(1180px,calc(100% - 34px));margin:auto}.top .wrap{display:flex;justify-content:space-between;align-items:center}.logo{font:700 .8rem 'DM Mono';letter-spacing:.12em}.guest{background:rgba(5,8,5,.55);backdrop-filter:blur(12px);border:1px solid var(--line);padding:9px 12px;border-radius:999px;font:500 .72rem 'DM Mono'}.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;padding:90px 0 42px;isolation:isolate}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('https://images.unsplash.com/photo-1492684223066-81342ee5ff30?auto=format&fit=crop&w=1700&q=90') center/cover}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,#050805 0%,rgba(5,8,5,.42) 52%,rgba(5,8,5,.72)),linear-gradient(90deg,rgba(3,6,3,.82) 0%,rgba(3,6,3,.28) 54%,rgba(3,6,3,.06) 78%)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;align-items:end;gap:30px}.hero h1{font:800 clamp(6rem,18vw,14rem)/.68 'Inter';letter-spacing:-.09em;margin:0;text-transform:uppercase}.hero h1 span{color:var(--acid)}.hero-right{padding-bottom:12px}.eyebrow{font:500 .72rem 'DM Mono';letter-spacing:.16em;text-transform:uppercase;color:var(--acid)}.hero-right p{font-size:1.1rem;line-height:1.6;max-width:460px;color:#d8ddd3}.cta{display:inline-flex;margin-top:18px;background:var(--acid);color:#0a0d08;padding:14px 19px;border-radius:6px;text-decoration:none;font-weight:800}.poster{padding:90px 0}.poster-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:16px}.ticket{border:1px solid var(--line);padding:26px;min-height:480px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(150deg,#0c120c,#070a07)}.ticket .age{font:800 9rem/.72 'Inter';color:var(--acid);letter-spacing:-.09em}.ticket .meta{font:500 .78rem/1.8 'DM Mono';text-transform:uppercase;color:#cbd2c5}.ticket .barcode{height:56px;background:repeating-linear-gradient(90deg,#dbe2d5 0 2px,transparent 2px 5px,#dbe2d5 5px 6px,transparent 6px 10px);opacity:.7}.poster-photo{min-height:620px;position:relative;background:url('https://images.unsplash.com/photo-1514525253161-7a46d19cd819?auto=format&fit=crop&w=1300&q=90') center/cover}.poster-photo:after{content:'SAT 28 NOV / 23:00';position:absolute;right:0;bottom:0;background:var(--acid);color:#0a0d08;padding:16px;font:700 .82rem 'DM Mono'}.count-section{padding:90px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.count-head{display:flex;justify-content:space-between;gap:30px;align-items:end}.count-head h2{font:800 clamp(3rem,8vw,7rem)/.85 'Inter';letter-spacing:-.07em;margin:12px 0}.count{display:grid;grid-template-columns:repeat(4,1fr);margin-top:35px;border-left:1px solid var(--line)}.count div{padding:28px 14px;border-right:1px solid var(--line)}.count strong{display:block;font:800 clamp(3rem,8vw,7rem)/.8 'Inter';letter-spacing:-.08em;color:var(--acid)}.count span{font:500 .68rem 'DM Mono';text-transform:uppercase;letter-spacing:.14em}.info{padding:100px 0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{border:1px solid var(--line);min-height:330px;padding:28px;display:flex;flex-direction:column;justify-content:space-between}.panel.photo{padding:0;background:url('https://images.unsplash.com/photo-1524368535928-5b5e00ddc76b?auto=format&fit=crop&w=1200&q=88') center/cover;min-height:520px}.panel .n{font:700 3rem 'DM Mono';color:var(--acid)}.panel h3{font:800 clamp(2rem,5vw,4rem)/.9 'Inter';letter-spacing:-.05em;margin:15px 0}.panel p{color:var(--muted);line-height:1.65}.panel button{align-self:flex-start;background:transparent;color:var(--ink);border:1px solid var(--line);padding:12px 14px;border-radius:6px;font-weight:700}.playlist{padding:100px 0;background:var(--acid);color:#0b0e09}.playlist-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end}.playlist h2{font:800 clamp(4rem,10vw,8rem)/.77 'Inter';letter-spacing:-.08em;margin:0}.playlist p{font-size:1.08rem;line-height:1.6}.songform{display:grid;gap:10px;margin-top:24px}.songform input{background:transparent;border:0;border-bottom:2px solid #0b0e09;padding:14px 0;font:700 1rem 'Inter';outline:none}.songform button{justify-self:start;background:#0b0e09;color:var(--acid);border:0;padding:13px 16px;border-radius:6px;font-weight:800}.guestlist{padding:110px 0;text-align:center}.guestlist h2{font:800 clamp(4rem,10vw,8rem)/.8 'Inter';letter-spacing:-.08em;margin:12px 0}.guestlist p{color:var(--muted);max-width:560px;margin:20px auto 28px;line-height:1.7}.guestlist button{background:var(--acid);color:#0a0d08;border:0;padding:16px 24px;border-radius:6px;font-weight:800}.footer{padding:28px 0;color:#687065;border-top:1px solid var(--line);font:500 .75rem 'DM Mono'}.footer .wrap{display:flex;justify-content:space-between}.modal{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.7);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s}.modal.open{opacity:1;visibility:visible}.box{width:min(560px,calc(100% - 30px));background:#0b100b;border:1px solid var(--line);padding:28px}.box-head{display:flex;justify-content:space-between}.box h3{font:800 2.5rem 'Inter';margin:6px 0 20px}.box .close{border:1px solid var(--line);background:none;color:white;width:38px;height:38px}.form{display:grid;gap:12px}.form input,.form select{background:#060906;border:1px solid var(--line);color:#fff;padding:14px;font:600 .95rem 'Inter'}.form option{color:#111}.form button{background:var(--acid);color:#0a0d08;border:0;padding:14px;font-weight:800}.reveal{opacity:0;transform:translateY(24px);transition:.65s}.reveal.is-in{opacity:1;transform:none}#toast{position:fixed;left:50%;bottom:20px;transform:translate(-50%,12px);background:var(--acid);color:#0a0d08;padding:12px 18px;border-radius:6px;opacity:0;visibility:hidden;transition:.3s;z-index:100;font-weight:800}#toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}@media(max-width:820px){.hero-grid,.poster-grid,.playlist-grid{grid-template-columns:1fr}.hero{min-height:92svh}.hero-right{padding-top:22px}.poster-photo{min-height:520px;order:-1}.count-head{display:block}.count{grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.count div:nth-child(2){border-bottom:1px solid var(--line)}.count div:nth-child(1){border-bottom:1px solid var(--line)}.info-grid{grid-template-columns:1fr}.footer .wrap{flex-direction:column;gap:8px}.top{position:absolute}}


/* V4 polish: stronger opening contrast and cleaner club-poster rhythm */
body.modal-open{overflow:hidden}
.hero h1{position:relative;z-index:2;text-shadow:0 12px 60px rgba(0,0,0,.7);filter:drop-shadow(0 2px 2px rgba(0,0,0,.35))}
.hero-grid{position:relative}
.hero-grid::before{content:'';position:absolute;left:-28px;bottom:-16px;width:min(650px,62vw);height:78%;background:radial-gradient(ellipse at left bottom,rgba(0,0,0,.38),transparent 70%);z-index:-1;pointer-events:none}
.hero-right{background:rgba(5,8,5,.3);border:1px solid rgba(201,255,92,.12);backdrop-filter:blur(10px);padding:20px;border-radius:10px}
.hero-stamp{display:flex;align-items:center;gap:10px;margin-top:20px;font:500 .72rem 'DM Mono';letter-spacing:.12em;text-transform:uppercase}
.hero-stamp b{display:grid;place-items:center;width:42px;height:42px;background:var(--acid);color:#081006;border-radius:50%}
.hero-stamp span{color:#f5f7f0}
.ticket,.panel,.box{box-shadow:inset 0 0 0 1px rgba(255,255,255,.015)}
.panel.photo{background-position:center 44%}
.cta,.panel button,.songform button,.guestlist button,.close,.form button{cursor:pointer}
@media(max-width:820px){
  .hero{min-height:100svh;padding:108px 0 34px;align-items:flex-end}
  .hero:before{background-position:center 45%}
  .hero:after{background:linear-gradient(to top,#050805 0%,rgba(5,8,5,.42) 48%,rgba(5,8,5,.66)),linear-gradient(90deg,rgba(2,5,2,.83),rgba(2,5,2,.18) 82%)}
  .hero-grid{gap:18px}
  .hero h1{font-size:clamp(5rem,28vw,8.5rem);line-height:.69;letter-spacing:-.095em}
  .hero-right{padding:16px;background:rgba(4,7,4,.62);backdrop-filter:blur(14px)}
  .hero-right p{font-size:1rem;color:#edf1e9}
  .hero-stamp{margin-top:14px}
  .top .wrap{align-items:flex-start}
  .guest{background:rgba(3,6,3,.75)}
  .poster{padding-top:70px}
  .ticket{min-height:410px}
  .poster-photo{min-height:460px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Pulido final CIVRA */
.brand-credit{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.brand-credit img{display:block;width:64px;height:auto;opacity:.9;object-fit:contain}
#guest{scroll-margin-top:24px}
@media(max-width:820px){
  .footer{padding:24px 0 30px}
  .brand-credit{width:max-content}
  .brand-credit img{width:60px}
  .hero{min-height:100svh;padding-bottom:34px}
  .hero:after{background:linear-gradient(to top,#050805 0%,rgba(5,8,5,.62) 52%,rgba(5,8,5,.78)),linear-gradient(90deg,rgba(2,5,2,.94) 0%,rgba(2,5,2,.67) 62%,rgba(2,5,2,.30) 100%)}
  .hero h1{text-shadow:0 12px 40px rgba(0,0,0,.62)}
  .hero-right p{text-shadow:0 3px 16px rgba(0,0,0,.65);color:#f1f4ed}
  .hero-stamp{box-shadow:0 12px 30px rgba(0,0,0,.25)}
}


/* Opening gate · Luca 18 */
body.eighteen-lock{overflow:hidden}
.eighteen-gate{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:20px;background:#050805;transition:opacity .65s ease,visibility .65s ease}
.eighteen-gate::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 22% 18%,rgba(201,255,92,.16),transparent 24%),radial-gradient(circle at 78% 82%,rgba(75,147,89,.12),transparent 25%)}
.eighteen-gate-inner{position:relative;width:min(620px,100%);min-height:min(720px,88svh);display:flex;flex-direction:column;border:1px solid rgba(201,255,92,.32);padding:26px;background:linear-gradient(160deg,rgba(201,255,92,.045),rgba(255,255,255,.008));box-shadow:0 30px 100px rgba(0,0,0,.5)}
.eighteen-gate-top{display:flex;justify-content:space-between;font:500 .67rem 'DM Mono';letter-spacing:.15em;color:#c9ff5c}
.eighteen-gate-name{font:800 clamp(4rem,20vw,8.4rem)/.78 'Inter';letter-spacing:-.085em;margin-top:auto;color:#f5f7f0}
.eighteen-gate-age{font:800 clamp(8rem,42vw,17rem)/.66 'Inter';letter-spacing:-.11em;color:#c9ff5c;margin-left:-8px}
.eighteen-gate-bottom{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:auto;border-top:1px solid rgba(201,255,92,.18);padding-top:20px}
.eighteen-gate-bottom div{display:grid;gap:6px;font:500 .67rem 'DM Mono';letter-spacing:.11em}
.eighteen-gate-bottom div span{color:#7e8878}.eighteen-gate-bottom div b{font-weight:500;color:#e8eee3}
.eighteen-gate button{border:0;background:#c9ff5c;color:#081006;padding:13px 18px;font-weight:800;cursor:pointer;white-space:nowrap}
.eighteen-gate.opening{opacity:.98}.eighteen-gate.off{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:560px){.eighteen-gate-inner{min-height:84svh;padding:20px}.eighteen-gate-bottom{align-items:stretch;flex-direction:column}.eighteen-gate button{width:100%}}
