
/* =============================================
   VARIABLES & RESET
============================================= */
:root {
  --black:    #060606;
  --deep:     #0c0c0c;
  --dark:     #111111;
  --dark2:    #181818;
  --dark3:    #222222;
  --gray:     #2e2e2e;
  --gray2:    #444444;
  --muted:    #777777;
  --light:    #bbbbbb;
  --white:    #f0f0f0;
  --gold:     #c9a84c;
  --gold2:    #e0bb6a;
  --gold3:    #f5d98a;

  --ff-display:   'Bebas Neue', sans-serif;
  --ff-cond:      'Barlow Condensed', sans-serif;
  --ff-body:      'Barlow', sans-serif;

  --ease:     cubic-bezier(0.4,0,0.2,1);
  --t:        0.3s;
  --ts:       0.6s;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--black); color:var(--light);
  font-family:var(--ff-body); font-weight:300;
  line-height:1.6; overflow-x:hidden; cursor:none;
}
::-webkit-scrollbar { width:3px; }
::-webkit-scrollbar-track { background:var(--dark); }
::-webkit-scrollbar-thumb { background:var(--gold); }

/* CURSOR */
.cur { position:fixed; pointer-events:none; z-index:99999; transform:translate(-50%,-50%); border-radius:50%; }
#cd { width:8px; height:8px; background:var(--gold); transition:width .15s,height .15s; }
#cr { width:32px; height:32px; border:1px solid rgba(201,168,76,.5); opacity:.6; transition:width .3s,height .3s; }
#cd.h { width:16px; height:16px; }
#cr.h { width:52px; height:52px; opacity:.25; }

/* NOISE */
body::after {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:9990; opacity:.3;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='.05'/%3E%3C/svg%3E");
}

/* =============================================
   LOADER
============================================= */
#loader {
  position:fixed; inset:0; background:var(--black); z-index:99999;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2rem;
  transition:opacity .8s var(--ease), visibility .8s;
}
#loader.hide { opacity:0; visibility:hidden; pointer-events:none; }
.ld-logo { display:flex; align-items:center; justify-content:center; }
.ld-logo img { width:200px; filter:brightness(1.1); }
.ld-track { width:120px; height:1px; background:var(--gray); overflow:hidden; }
.ld-bar   { height:100%; background:var(--gold); width:0; animation:ldA 1.8s var(--ease) forwards; }
.ld-pct   { font-family:var(--ff-cond); font-size:.65rem; letter-spacing:3px; color:var(--muted); }
@keyframes ldA { to { width:100%; } }

/* =============================================
   NAV
============================================= */
nav {
  position:fixed; top:0; left:0; right:0; z-index:9000;
  height:76px; padding:0 clamp(1.25rem,4vw,4rem);
  display:flex; align-items:center; justify-content:space-between;
  background:linear-gradient(180deg,rgba(6,6,6,.88),transparent);
  transition:background var(--t), border-color var(--t),height var(--t);
}
nav.scrolled {
  background:rgba(6,6,6,.96); backdrop-filter:blur(24px);
  border-bottom:1px solid rgba(201,168,76,.1);
  height:66px;
}
.nav-logo{display:flex;align-items:center;height:100%;position:relative;z-index:2;}
.nav-logo img {
  height:68px; width:auto; max-width:110px; object-fit:contain;
  filter:brightness(1.18) drop-shadow(0 5px 18px rgba(0,0,0,.4));
}

.nav-links { display:flex; align-items:center; gap:clamp(1rem,1.7vw,2rem); list-style:none; }
.nav-links a {
  font-family:var(--ff-cond); font-size:.7rem; font-weight:700;
  letter-spacing:2px; text-transform:uppercase; color:var(--light);
  text-decoration:none; transition:color var(--t); position:relative; cursor:none;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:1px; background:var(--gold); transition:width var(--t);
}
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { width:100%; }
.nav-btn {
  border:1px solid var(--gold) !important;
  color:var(--gold) !important;
  padding:.45rem 1.1rem !important;
}
.nav-btn:hover { background:var(--gold) !important; color:var(--black) !important; }
.nav-btn::after { display:none !important; }

.ham {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; cursor:pointer; padding:10px;
}
.ham span { display:block; width:25px; height:1.5px; background:var(--white);transition:transform var(--t); }

.mob {
  display:none; position:fixed; inset:0; background:rgba(6,6,6,.98);
  z-index:8999; flex-direction:column; align-items:center; justify-content:center; gap:2rem;
}
.mob.open { display:flex; animation:fadeIn .25s ease both; }
.mob a {
  font-family:var(--ff-display); font-size:clamp(1.8rem,7vw,3.2rem);
  letter-spacing:3px; color:var(--white); text-decoration:none; cursor:pointer; transition:color var(--t);
}
.mob a:hover { color:var(--gold); }
.mob-x {
  position:absolute; top:1.5rem; right:2rem; font-size:1.8rem;
  color:var(--muted); background:none; border:none; cursor:none;
  font-family:var(--ff-cond); transition:color var(--t);
}
.mob-x:hover { color:var(--white); }

@media(max-width:1020px) { .nav-links{display:none;} .ham{display:flex;} }

/* =============================================
   UTILITY
============================================= */
.max { max-width:1320px; margin:0 auto; }
.sec { padding:clamp(4rem,10vw,9rem) clamp(1.5rem,5vw,5rem); }
.divider { width:100%; height:1px; background:linear-gradient(90deg,transparent,rgba(201,168,76,.25),transparent); }

.ey { display:flex; align-items:center; gap:.9rem; margin-bottom:.8rem; }
.ey-line { width:28px; height:1px; background:var(--gold); flex-shrink:0; }
.ey-txt { font-family:var(--ff-cond); font-size:.7rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--gold); }

.st { font-family:var(--ff-display); font-size:clamp(2.5rem,5.5vw,5rem); line-height:.92; letter-spacing:1px; color:var(--white); margin-bottom:1rem; }
.st .g { color:var(--gold); }
.st .o { -webkit-text-stroke:1px rgba(255,255,255,.22); color:transparent; }
.sl { font-size:.95rem; font-weight:300; color:var(--muted); max-width:560px; line-height:1.85; }

/* REVEAL */
.rv { opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.rv.vis { opacity:1; transform:translateY(0); }
.rv.d1{transition-delay:.1s;} .rv.d2{transition-delay:.2s;} .rv.d3{transition-delay:.3s;}
.rv.d4{transition-delay:.4s;} .rv.d5{transition-delay:.5s;}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* BUTTONS */
.btn {
  display:inline-flex; align-items:center; gap:.65rem; cursor:none;
  font-family:var(--ff-cond); font-weight:800; letter-spacing:2px;
  text-transform:uppercase; text-decoration:none; transition:all var(--t);
  position:relative; overflow:hidden; flex-shrink:0;
}
.btn-gold {
  background:var(--gold); color:var(--black); padding:.85rem 1.8rem; font-size:.82rem;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
}
.btn-gold::before { content:''; position:absolute; inset:0; background:var(--gold2); transform:translateX(-100%); transition:transform var(--t); }
.btn-gold:hover::before { transform:translateX(0); }
.btn-gold span, .btn-gold svg { position:relative; z-index:1; }
.btn-ghost { background:transparent; border:1px solid rgba(255,255,255,.2); color:var(--white); padding:.85rem 1.8rem; font-size:.82rem; }
.btn-ghost:hover { border-color:var(--white); background:rgba(255,255,255,.05); }
.btn-sm { padding:.45rem 1rem; font-size:.68rem; letter-spacing:1.8px; }
.btn-sp { background:#1DB954; color:#fff; clip-path:none; }
.btn-sp:hover { background:#17a349; }
.btn-yt { background:#FF0000; color:#fff; clip-path:none; }
.btn-yt:hover { background:#cc0000; }
.btn-wa {
  background:#25D366; color:#fff;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
}
.btn-wa:hover { background:#20ba5a; }

/* =============================================
   HERO
============================================= */
#hero {
  position:relative; height:100vh; min-height:680px;
  display:flex; align-items:center; overflow:hidden;
}
.hero-bg {
  position:absolute; inset:0;
  background-image: url("image-882a0787a0b69a99.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.hero-bg::after {
  content:'';
  position:absolute; inset:0;
  background:
    linear-gradient(0deg,rgba(6,6,6,.98) 0%,rgba(6,6,6,.72) 45%,rgba(6,6,6,.66) 100%),
    linear-gradient(90deg,rgba(6,6,6,.35),transparent 45%,rgba(6,6,6,.35));
}
.hero-grid {
  position:absolute; inset:0; pointer-events:none;
  background-image: linear-gradient(rgba(201,168,76,.02) 1px,transparent 1px), linear-gradient(90deg,rgba(201,168,76,.02) 1px,transparent 1px);
  background-size:70px 70px;
  mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 20%,transparent 75%);
  z-index:1;
}
.hero-vig {
  position:absolute; inset:0;
  background:radial-gradient(ellipse 120% 100% at 50% 50%,transparent 20%,rgba(6,6,6,.55) 65%,var(--black) 100%);
}
.hero-bot { position:absolute; bottom:0; left:0; right:0; height:30%; background:linear-gradient(0deg,var(--black),transparent); }

.hero-body { position:relative; z-index:2; padding:0 clamp(1.5rem,8vw,9rem); width:100%; }
.hero-center-logo{transform:scale(1.45);transform-origin:center;margin-bottom:1.4rem;opacity:0;animation:fadeUp .8s var(--ease) .35s forwards;}
.hero-title{font-family:var(--ff-display);font-size:clamp(2.8rem,6.4vw,6rem);line-height:.88;letter-spacing:1px;color:var(--white);margin:0 0 1.55rem;text-wrap:balance;opacity:0;animation:fadeUp .9s var(--ease) .58s forwards;}
.hero-title .g{color:var(--gold);}
.hero-kicker{font-family:var(--ff-cond);font-size:.7rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--light);margin-top:.85rem;opacity:0;animation:fadeIn .8s var(--ease) 1.05s forwards;}

.hero-ey {
  display:flex; align-items:center; gap:1rem; margin-bottom:1.8rem;
  opacity:0; animation:fadeUp .8s var(--ease) .4s forwards;
}
.hero-ey-line { width:36px; height:1px; background:var(--gold); }
.hero-ey span { font-family:var(--ff-cond); font-size:.72rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--gold); }

/* BIG LOGO IN HERO */
.hero-logo-img {
  margin-bottom:1.5rem;
  opacity:0; animation:fadeUp .9s var(--ease) .5s forwards;
}
.hero-logo-img img {
  width:120px; height:auto;
  filter:drop-shadow(0 0 50px rgba(201,168,76,.3)) drop-shadow(0 0 20px rgba(201,168,76,.2));
}

.hero-sub {
  font-family:var(--ff-cond); font-size:clamp(.82rem,1.4vw,1.05rem);
  font-weight:400; letter-spacing:3px; text-transform:uppercase;
  color:var(--muted); margin-bottom:2.2rem; max-width:760px;
  opacity:0; animation:fadeUp .8s var(--ease) .75s forwards;
}
.hero-sub em { color:var(--light); font-style:normal; }

.hero-btns {
  display:flex; gap:1rem; flex-wrap:wrap;
  opacity:0; animation:fadeUp .8s var(--ease) .9s forwards;
}
.hero-achievements{
  width:min(760px,100%);display:grid;grid-template-columns:repeat(3,1fr);
  margin-top:1.8rem;border-top:1px solid rgba(201,168,76,.28);border-bottom:1px solid rgba(201,168,76,.28);
  background:rgba(6,6,6,.42);backdrop-filter:blur(8px);
  opacity:0;animation:fadeUp .8s var(--ease) 1s forwards;
}
.hero-achievement{padding:.8rem 1rem;display:flex;align-items:center;justify-content:center;gap:.65rem;min-width:0;}
.hero-achievement+.hero-achievement{border-left:1px solid rgba(201,168,76,.18);}
.hero-achievement-icon{font-size:1.25rem;line-height:1;filter:drop-shadow(0 0 10px rgba(201,168,76,.25));}
.hero-achievement strong{font-family:var(--ff-display);font-size:1.55rem;font-weight:400;line-height:1;color:var(--gold);display:block;white-space:nowrap;}
.hero-achievement span{font-family:var(--ff-cond);font-size:.56rem;font-weight:700;letter-spacing:1.6px;line-height:1.35;text-transform:uppercase;color:var(--light);display:block;text-align:left;}

/* Platforms */
.hero-plat {
  position:absolute; bottom:2.5rem; left:clamp(1.5rem,8vw,9rem);
  display:flex; align-items:center; gap:1.5rem;
  opacity:0; animation:fadeIn 1s var(--ease) 1.3s forwards;
}
.hero-plat > span { font-family:var(--ff-cond); font-size:.62rem; letter-spacing:3px; text-transform:uppercase; color:var(--gray2); }
.plat-icons { display:flex; gap:1rem; align-items:center; }
.plat-icon {
  width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.1); cursor:none;
  transition:border-color var(--t), background var(--t);
}
.plat-icon:hover { border-color:rgba(201,168,76,.4); background:rgba(201,168,76,.06); }

.hero-stats {
  position:absolute; bottom:2.5rem; right:clamp(1.5rem,8vw,9rem);
  display:flex; gap:2.5rem;
  opacity:0; animation:fadeIn 1s var(--ease) 1.3s forwards;
}
.hero-plat,.hero-stats{display:none !important;}
.hs-num { font-family:var(--ff-display); font-size:2.4rem; color:var(--gold); display:block; line-height:1; }
.hs-lbl { font-family:var(--ff-cond); font-size:.62rem; letter-spacing:2px; text-transform:uppercase; color:var(--muted); }

@media(max-width:600px) { .hero-stats,.hero-plat{display:none;} }
@media(max-width:600px){
  #hero{min-height:720px;}
  .hero-title{font-size:clamp(2.35rem,12vw,3.8rem);line-height:.9;}
  .hero-ey span{font-size:.6rem;letter-spacing:2.5px;}
  .hero-main-logo{width:150px !important;max-width:150px !important;}
  .hero-btns{width:100%;flex-direction:column;}
  .hero-btns .btn{width:100%;justify-content:center;}
  .hero-achievements{margin-top:1.25rem;}
  .hero-achievement{padding:.7rem .35rem;gap:.35rem;flex-direction:column;}
  .hero-achievement strong{font-size:1.25rem;}
  .hero-achievement span{font-size:.48rem;letter-spacing:1px;text-align:center;}
  .hero-achievement-icon{display:none;}
}

/* =============================================
   TICKER
============================================= */
.ticker-wrap { background:var(--gold); overflow:hidden; padding:.75rem 0; }
.ticker-track { display:inline-flex; white-space:nowrap; animation:tickerRoll 35s linear infinite; }
.ticker-track span { font-family:var(--ff-display); font-size:.9rem; letter-spacing:4px; text-transform:uppercase; color:var(--black); padding:0 1.8rem; }
.ticker-track .sep { color:rgba(0,0,0,.35); padding:0 .5rem; }
@keyframes tickerRoll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* =============================================
   LANZAMIENTOS
============================================= */
#lanzamientos { background:var(--deep); position:relative; overflow:hidden; }
#lanzamientos::before {
  content:''; position:absolute; top:-150px; right:-200px; width:600px; height:600px;
  background:radial-gradient(circle,rgba(201,168,76,.04) 0%,transparent 70%); pointer-events:none;
}

.lnz-hdr { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3.5rem; gap:2rem; flex-wrap:wrap; }

.lnz-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1px; background:rgba(201,168,76,.08); }

.lc { background:var(--deep); position:relative; overflow:hidden; cursor:none; transition:background var(--t); }
.lc:hover { background:var(--dark2); }

.lc-cover {
  width:100%; aspect-ratio:1; overflow:hidden; position:relative;
  background:var(--dark3); display:flex; align-items:center; justify-content:center;
}
.lc-cover img { width:100%; height:100%; object-fit:cover; transition:transform var(--ts); display:block; }
.lc:hover .lc-cover img { transform:scale(1.05); }
.lc-badge {
  position:absolute; top:12px; left:12px; z-index:2;
  font-family:var(--ff-cond); font-size:.6rem; font-weight:900;
  letter-spacing:2.5px; text-transform:uppercase;
  padding:.25rem .65rem; background:var(--gold); color:var(--black);
}
.lc-badge.pronto { background:#7c3aed; color:#fff; }

.lc-info { padding:1.4rem 1.5rem; }
.lc-genre { font-family:var(--ff-cond); font-size:.62rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:.3rem; }
.lc-title { font-family:var(--ff-cond); font-size:1.3rem; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin-bottom:.2rem; }
.lc-artist { font-size:.82rem; color:var(--muted); margin-bottom:1.2rem; }
.lc-btns { display:flex; gap:.6rem; flex-wrap:wrap; }

/* Featured */
.lc.feat { grid-column:span 2; }
.lc.feat .lc-cover { aspect-ratio:16/7; }
@media(max-width:640px) { .lc.feat { grid-column:span 1; } }

/* =============================================
   ARTISTAS
============================================= */
#artistas { background:var(--black); }
.art-hdr { text-align:center; margin-bottom:4rem; }
.art-hdr .sl { margin:0 auto; }

.art-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1px; background:rgba(201,168,76,.07); }
@media(max-width:700px) { .art-grid { grid-template-columns:1fr; } }

.ac { background:var(--black); overflow:hidden; cursor:none; position:relative; transition:background var(--t); }
.ac:hover { background:var(--dark2); }

.ac-photo {
  width:100%; aspect-ratio:3/4; overflow:hidden; position:relative;
  background:var(--dark3); display:flex; align-items:center; justify-content:center;
}
.ac-photo img { width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); filter:grayscale(.2); display:block; }
.ac:hover .ac-photo img { transform:scale(1.04); filter:grayscale(0); }

.ac-overlay {
  position:absolute; inset:0;
  background:linear-gradient(0deg,rgba(6,6,6,.96) 0%,rgba(6,6,6,.2) 45%,transparent 70%);
  padding:1.5rem; display:flex; flex-direction:column; justify-content:flex-end;
}
.ac-genre { font-family:var(--ff-cond); font-size:.6rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:.25rem; }
.ac-name { font-family:var(--ff-display); font-size:2rem; letter-spacing:2px; color:var(--white); line-height:1; margin-bottom:.9rem; }
.ac-spotify-listeners { display:flex; align-items:center; gap:.45rem; margin:-.35rem 0 .8rem; font-family:var(--ff-cond); text-transform:uppercase; }
.ac-spotify-listeners strong { color:#1ed760; font-size:1rem; letter-spacing:1px; line-height:1; }
.ac-spotify-listeners span { color:rgba(255,255,255,.62); font-size:.55rem; font-weight:700; letter-spacing:1.7px; }
.ac-spotify-dot { width:6px; height:6px; border-radius:50%; background:#1ed760; box-shadow:0 0 10px rgba(30,215,96,.65); }
.ac-metrics { display:flex; flex-wrap:nowrap; gap:.5rem !important; margin-bottom:.75rem; width:100%; }
.ac-metrics > div { min-width:0; flex:1 1 25%; }
.ac-metrics strong { font-family:var(--ff-cond); font-size:.75rem !important; color:var(--gold); display:block; line-height:1; }
.ac-metrics span { font-family:var(--ff-cond); font-size:.4rem !important; letter-spacing:.65px !important; white-space:nowrap; text-transform:uppercase; color:var(--muted); }

.ac-links {
  display:flex; gap:.5rem;
  opacity:0; transform:translateY(8px);
  transition:opacity var(--t),transform var(--t);
}
.ac:hover .ac-links { opacity:1; transform:translateY(0); }
.ac-slink {
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.2); cursor:none; text-decoration:none; color:var(--light);
  transition:border-color var(--t),background var(--t);
}
.ac-slink:hover { border-color:var(--gold); background:rgba(201,168,76,.12); color:var(--gold); }

/* =============================================
   VIDEOS
============================================= */
#videos { background:var(--deep); }
.vid-hdr { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3.5rem; gap:2rem; flex-wrap:wrap; }
.vid-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:1.5rem; }

.vc { position:relative; cursor:none; overflow:hidden; background:var(--dark2); border:1px solid var(--gray); transition:border-color var(--t); }
.vc:hover { border-color:rgba(201,168,76,.3); }
.vc-embed { position:relative; padding-top:56.25%; background:var(--dark3); }
.vc-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:none; }
.vc-ph {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:1rem;
  background:linear-gradient(145deg,var(--dark3),var(--dark));
}
.vc-play {
  width:54px; height:54px; border:1.5px solid rgba(255,255,255,.3); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:border-color var(--t),background var(--t);
}
.vc:hover .vc-play { border-color:var(--gold); background:rgba(201,168,76,.1); }
.vc-ph-lbl { font-family:var(--ff-cond); font-size:.7rem; letter-spacing:3px; color:var(--muted); text-transform:uppercase; }

.vc-info { padding:1.2rem 1.4rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.vc-title { font-family:var(--ff-cond); font-size:1rem; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin-bottom:.2rem; }
.vc-artist { font-size:.8rem; color:var(--muted); }

/* =============================================
   SERVICIOS
============================================= */
#servicios { background:var(--deep); }
.svc-hdr { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:4rem; gap:2rem; flex-wrap:wrap; }
.svc-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(310px,1fr)); gap:1px; background:rgba(201,168,76,.08); }

.svc {
  background:var(--deep); padding:2.2rem; position:relative; cursor:none;
  overflow:hidden; transition:background var(--t);
}
.svc:hover { background:var(--dark2); }
.svc::before { content:''; position:absolute; top:0; left:0; width:2px; height:0; background:var(--gold); transition:height var(--ts); }
.svc:hover::before { height:100%; }

.svc-num { font-family:var(--ff-display); font-size:4.5rem; line-height:1; color:rgba(201,168,76,.07); margin-bottom:.5rem; transition:color var(--t); }
.svc:hover .svc-num { color:rgba(201,168,76,.13); }
.svc-icon { width:40px; height:40px; border:1px solid rgba(201,168,76,.3); display:flex; align-items:center; justify-content:center; margin-bottom:1.2rem; transition:border-color var(--t),background var(--t); }
.svc:hover .svc-icon { border-color:var(--gold); background:rgba(201,168,76,.08); }
.svc-icon svg { color:var(--gold); }
.svc-name { font-family:var(--ff-cond); font-size:1.25rem; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--white); margin-bottom:.7rem; }
.svc-desc { font-size:.87rem; color:var(--muted); line-height:1.75; margin-bottom:1.4rem; }
.svc-list { list-style:none; margin-bottom:1.5rem; }
.svc-list li { font-size:.8rem; color:var(--muted); padding:.25rem 0; display:flex; align-items:center; gap:.6rem; }
.svc-list li::before { content:'◆'; color:var(--gold); font-size:.45rem; flex-shrink:0; }
.svc-btns { display:flex; gap:.6rem; flex-wrap:wrap; }

.svc.wide { grid-column:1/-1; }
.svc.wide .svc-in { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
@media(max-width:640px) { .svc.wide .svc-in { grid-template-columns:1fr; } }

/* =============================================
   AGENDA
============================================= */
#agenda { background:var(--black); position:relative; }
#agenda::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 60% at 30% 50%,rgba(201,168,76,.04) 0%,transparent 65%);
  pointer-events:none;
}
.ag-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
@media(max-width:860px) { .ag-grid { grid-template-columns:1fr; gap:3rem; } }

.ag-body { font-size:.95rem; color:var(--muted); line-height:1.85; margin-bottom:2rem; }

.note-box { background:var(--dark2); border:1px solid var(--gray); border-left:2px solid var(--gold); padding:1.25rem 1.5rem; margin-bottom:2rem; }
.note-box h4 { font-family:var(--ff-cond); font-size:.85rem; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:var(--gold); margin-bottom:.5rem; }
.note-box p { font-size:.8rem; color:var(--muted); line-height:1.7; }
.note-box code { font-family:monospace; font-size:.78rem; background:var(--dark3); color:var(--gold2); padding:.15rem .4rem; border-radius:2px; }

.ag-form { display:flex; flex-direction:column; gap:1.1rem; }
.fg { position:relative; }
.fg label { display:block; font-family:var(--ff-cond); font-size:.67rem; font-weight:700; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); margin-bottom:.5rem; }
.fg input, .fg select, .fg textarea {
  width:100%; background:var(--dark2); border:1px solid var(--gray); border-bottom-color:rgba(201,168,76,.35);
  color:var(--white); font-family:var(--ff-body); font-size:.88rem; font-weight:300;
  padding:.8rem 1rem; outline:none; cursor:none; transition:border-color var(--t),background var(--t);
  -webkit-appearance:none;
}
.fg input::placeholder, .fg textarea::placeholder { color:var(--gray2); }
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color:var(--gold); background:rgba(201,168,76,.025); }
.fg select option { background:var(--dark2); }
.fg textarea { resize:vertical; min-height:110px; }
.fg-row { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
@media(max-width:480px) { .fg-row { grid-template-columns:1fr; } }

.btn-sub {
  width:100%; background:var(--gold); border:none; color:var(--black);
  font-family:var(--ff-cond); font-size:.82rem; font-weight:900; letter-spacing:2.5px; text-transform:uppercase;
  padding:1.1rem 2rem; cursor:none; position:relative; overflow:hidden;
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  transition:transform var(--t);
}
.btn-sub::before { content:''; position:absolute; inset:0; background:var(--gold2); transform:translateX(-100%); transition:transform var(--t); }
.btn-sub:hover::before { transform:translateX(0); }
.btn-sub span { position:relative; z-index:1; }
.btn-sub:hover { transform:translateY(-1px); }
.form-note { font-size:.72rem; color:var(--muted); text-align:center; margin-top:.5rem; }

.form-ok { display:none; text-align:center; padding:3rem; border:1px solid rgba(201,168,76,.3); background:rgba(201,168,76,.03); }
.form-ok.show { display:block; }
.fok-icon { font-family:var(--ff-display); font-size:3rem; color:var(--gold); display:block; margin-bottom:1rem; }
.fok-title { font-family:var(--ff-cond); font-size:1.4rem; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--white); margin-bottom:.6rem; }
.fok-body { font-size:.85rem; color:var(--muted); }

/* =============================================
   PAGOS
============================================= */
#pagos { background:var(--deep); }
.pagos-hdr { text-align:center; margin-bottom:4rem; }
.pagos-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:1.5rem; }

.pc {
  background:var(--dark2); border:1px solid var(--gray); padding:2.5rem;
  position:relative; cursor:none; text-align:center; transition:border-color var(--t),background var(--t);
}
.pc:hover { border-color:rgba(201,168,76,.3); background:var(--dark3); }
.pc.feat-p { border-color:var(--gold); background:rgba(201,168,76,.04); }
.pc.feat-p::before {
  content:'Más popular'; position:absolute; top:-1px; left:50%; transform:translateX(-50%);
  background:var(--gold); color:var(--black); font-family:var(--ff-cond);
  font-size:.6rem; font-weight:900; letter-spacing:2px; text-transform:uppercase; padding:.3rem .9rem;
}
.pc-icon { font-size:2.5rem; display:block; margin-bottom:1.2rem; }
.pc-title { font-family:var(--ff-cond); font-size:1.3rem; font-weight:900; letter-spacing:2px; text-transform:uppercase; color:var(--white); margin-bottom:.75rem; }
.pc-desc { font-size:.85rem; color:var(--muted); line-height:1.7; margin-bottom:1.75rem; }
.pc-btns { display:flex; flex-direction:column; gap:.75rem; }

.gw-wrap { margin-top:4rem; text-align:center; }
.gw-lbl { font-family:var(--ff-cond); font-size:.68rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--muted); margin-bottom:1.5rem; display:block; }
.gw-logos { display:flex; align-items:center; justify-content:center; gap:1.5rem; flex-wrap:wrap; }
.gw-logo {
  background:var(--dark2); border:1px solid var(--gray); padding:.7rem 1.5rem;
  font-family:var(--ff-cond); font-size:.85rem; font-weight:700; letter-spacing:1px;
  color:var(--muted); cursor:none; transition:border-color var(--t),color var(--t);
}
.gw-logo:hover { border-color:rgba(201,168,76,.3); color:var(--light); }

/* =============================================
   CONTACTO
============================================= */
#contacto { background:var(--deep); }
.ct-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start; }
@media(max-width:860px) { .ct-grid { grid-template-columns:1fr; gap:3rem; } }

.ct-items { display:flex; flex-direction:column; gap:1rem; margin-bottom:2.5rem; }
.ci { display:flex; align-items:center; gap:1rem; border:1px solid var(--gray); padding:1rem 1.2rem; transition:border-color var(--t); }
.ci:hover { border-color:rgba(201,168,76,.3); }
.ci-ico { width:38px; height:38px; border:1px solid rgba(201,168,76,.3); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.ci-ico svg { color:var(--gold); }
.ci-txt { font-family:var(--ff-cond); font-size:.9rem; font-weight:700; letter-spacing:1px; color:var(--light); }
.ci-sub { font-size:.72rem; color:var(--muted); }

/* =============================================
   CTA FINAL
============================================= */
#cta { background:var(--black); }
.cta-box {
  border:1px solid rgba(201,168,76,.2); padding:clamp(3rem,7vw,6rem) clamp(2rem,5vw,5rem);
  text-align:center; position:relative; overflow:hidden;
}
.cta-box::before { content:''; position:absolute; top:-1px; left:20%; right:20%; height:2px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.cta-box::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(201,168,76,.05) 0%,transparent 65%); pointer-events:none; }
.cta-bg-word { position:absolute; font-family:var(--ff-display); font-size:clamp(5rem,18vw,16rem); color:rgba(201,168,76,.025); white-space:nowrap; top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; letter-spacing:4px; user-select:none; }
.cta-ey { font-family:var(--ff-cond); font-size:.7rem; font-weight:700; letter-spacing:5px; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; position:relative; z-index:1; }
.cta-title { font-family:var(--ff-display); font-size:clamp(3rem,7.5vw,7rem); line-height:.92; color:var(--white); margin-bottom:1.5rem; position:relative; z-index:1; }
.cta-title .g { color:var(--gold); }
.cta-body { font-size:1rem; font-weight:300; color:var(--muted); max-width:540px; margin:0 auto 2.5rem; line-height:1.85; position:relative; z-index:1; }
.cta-body strong { color:var(--light); }
.cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; z-index:1; }
.urgency { margin-top:2.5rem; position:relative; z-index:1; font-family:var(--ff-cond); font-size:.75rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); }
.urgency span { color:var(--gold); animation:pulse 2s ease-in-out infinite; }

/* =============================================
   FOOTER
============================================= */
footer { background:var(--deep); border-top:1px solid rgba(201,168,76,.1); }
.ft-top {
  padding:4rem clamp(1.5rem,5vw,5rem) 3rem;
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem;
  max-width:1320px; margin:0 auto;
}
@media(max-width:800px) { .ft-top { grid-template-columns:1fr 1fr; gap:2.5rem; } }
@media(max-width:500px) { .ft-top { grid-template-columns:1fr; } }

.ft-brand {}
.ft-logo { display:block; margin-bottom:1rem; }
.ft-logo img { mix-blend-mode:screen; filter:brightness(1.1); }
.ft-logo img { height:40px; width:auto; filter:brightness(1.1); }
.ft-slogan { font-family:var(--ff-cond); font-size:.7rem; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--muted); margin-bottom:1.5rem; }
.ft-soc { display:flex; gap:.75rem; }
.ft-soc a {
  width:34px; height:34px; border:1px solid var(--gray);
  display:flex; align-items:center; justify-content:center; cursor:none;
  color:var(--muted); transition:border-color var(--t),color var(--t),background var(--t); text-decoration:none;
}
.ft-soc a:hover { border-color:var(--gold); color:var(--gold); background:rgba(201,168,76,.08); }

.ft-col h5 { font-family:var(--ff-cond); font-size:.7rem; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:var(--gold); margin-bottom:1.2rem; }
.ft-col ul { list-style:none; display:flex; flex-direction:column; gap:.7rem; }
.ft-col ul li a { font-size:.83rem; color:var(--muted); text-decoration:none; cursor:none; transition:color var(--t); }
.ft-col ul li a:hover { color:var(--white); }

.ft-bot {
  border-top:1px solid rgba(201,168,76,.08); padding:1.5rem clamp(1.5rem,5vw,5rem);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
  max-width:1320px; margin:0 auto;
}
.ft-copy { font-size:.75rem; color:var(--muted); }

/* FLOATING WA */
.wa-float {
  position:fixed; bottom:2rem; right:2rem; z-index:9990;
  width:54px; height:54px; background:#25D366; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:none; text-decoration:none;
  box-shadow:0 4px 20px rgba(37,211,102,.4);
  transition:transform var(--t),box-shadow var(--t);
  animation:waPulse 3s ease-in-out infinite;
}
.wa-float:hover { transform:scale(1.1); box-shadow:0 6px 30px rgba(37,211,102,.6); }
@keyframes waPulse { 0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.4)}50%{box-shadow:0 4px 40px rgba(37,211,102,.7)} }

/* SCROLL TOP */
.scroll-top {
  position:fixed; bottom:2rem; left:2rem; z-index:9990;
  width:42px; height:42px; border:1px solid rgba(201,168,76,.4);
  display:flex; align-items:center; justify-content:center;
  cursor:none; background:rgba(6,6,6,.8); backdrop-filter:blur(10px);
  transition:all var(--t); opacity:0; pointer-events:none;
}
.scroll-top.show { opacity:1; pointer-events:all; }
.scroll-top:hover { background:rgba(201,168,76,.1); border-color:var(--gold); }
.scroll-top svg { color:var(--gold); }

/* SVG icons inline */
.ic-sp { fill:#1DB954; }
.ic-yt { fill:#FF0000; }
.ic-ig { fill:none; stroke:currentColor; stroke-width:1.5; }

/* LOGROS */
.lgc-card{background:var(--black);padding:2rem;text-align:center;cursor:none;transition:background .3s;position:relative;overflow:hidden;}
.lgc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.lgc-card:hover{background:rgba(201,168,76,.04);}
.lgc-num{font-family:var(--ff-display);font-size:3.2rem;color:var(--gold);line-height:1;display:block;}
.lgc-lbl{font-family:var(--ff-cond);font-size:.85rem;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:var(--white);margin:.4rem 0 .5rem;display:block;}
.lgc-sub{font-size:.72rem;color:var(--muted);line-height:1.6;}
.met-card{background:var(--black);padding:2.5rem 2rem;text-align:center;cursor:none;transition:background .3s;}
.met-card:hover{background:var(--dark2);}
.met-num{font-family:var(--ff-display);font-size:clamp(2.5rem,5vw,4rem);color:var(--gold);line-height:1;display:block;}
.met-lbl{font-family:var(--ff-cond);font-size:.68rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted);margin-top:.4rem;}
.disc-row{background:var(--deep);padding:1.5rem;display:flex;align-items:center;gap:1rem;cursor:none;transition:background .3s;}
.disc-row:hover{background:var(--dark2);}
.disc-title{font-family:var(--ff-cond);font-size:1rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--white);}
.disc-sub{font-size:.72rem;color:var(--muted);margin-top:.2rem;}

/* COLABORACIONES */
.colab-ticker{display:inline-flex;white-space:nowrap;animation:tickerRoll 28s linear infinite;}
.colab-ticker:hover{animation-play-state:paused;}
.ct-name{font-family:var(--ff-display);font-size:1.1rem;letter-spacing:3px;color:var(--muted);padding:0 1.5rem;}
.ct-sep{color:var(--gold);padding:0 .5rem;}
.colab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1px;background:rgba(201,168,76,.07);}
.colab-card{background:var(--deep);padding:1.25rem;text-align:center;cursor:none;transition:background .3s;border-bottom:2px solid transparent;}
.colab-card:hover{background:var(--dark2);border-bottom-color:var(--gold);}
.colab-init{width:48px;height:48px;border:1px solid rgba(201,168,76,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;font-family:var(--ff-display);font-size:1rem;color:var(--gold);}
.colab-card:hover .colab-init{border-color:var(--gold);background:rgba(201,168,76,.08);}
.colab-name{font-family:var(--ff-cond);font-size:.78rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--white);}
.colab-card img{height:36px;display:block;margin:0 auto .5rem;filter:brightness(0) invert(1);opacity:.6;}

/* MERCH TABS */
.merch-tab{background:transparent;border:1px solid var(--gray);color:var(--muted);font-family:var(--ff-cond);font-size:.78rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:.5rem 1.2rem;cursor:none;transition:all .3s;}
.merch-tab:hover{border-color:rgba(201,168,76,.4);color:var(--light);}
.merch-tab.active{background:var(--gold);border-color:var(--gold);color:var(--black);}
.merch-grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(201,168,76,.07);}
@media(max-width:700px){.merch-grid-5{grid-template-columns:repeat(2,1fr);}}
@media(max-width:400px){.merch-grid-5{grid-template-columns:1fr;}}
.mc2{background:var(--black);overflow:hidden;cursor:none;transition:background .3s;}
.mc2:hover{background:var(--dark2);}
.mc2-img{width:100%;aspect-ratio:1;background:linear-gradient(145deg,var(--dark3),var(--dark));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;font-size:2.5rem;}
.mc2-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.mc2-badge{position:absolute;top:10px;right:10px;background:var(--gold);color:var(--black);font-family:var(--ff-cond);font-size:.55rem;font-weight:900;letter-spacing:2px;text-transform:uppercase;padding:.2rem .55rem;}
.mc2-pronto2{background:#7c3aed;color:#fff;}
.mc2-info{padding:1.1rem 1.2rem;}
.mc2-cat{font-family:var(--ff-cond);font-size:.58rem;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;}
.mc2-name{font-family:var(--ff-cond);font-size:1rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--white);margin-bottom:.4rem;}
.mc2-price{font-family:var(--ff-display);font-size:1.4rem;color:var(--gold);line-height:1;margin-bottom:.9rem;}

/* Nav for new sections */

/* Lanzamiento cover clickable */
.lc-cover-link { display:block; cursor:none; }
.lc-play-btn {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:56px; height:56px; background:rgba(0,0,0,.6); border:2px solid rgba(255,255,255,.8);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .3s;
}
.lc-cover-link:hover .lc-play-btn { opacity:1; }
.lc-cover-link:hover img { transform:scale(1.05); }


/* Colab cards as links */
a.colab-card { display:block; }
a.colab-card .colab-name { transition:color .3s; }
a.colab-card:hover .colab-name { color:var(--gold); }
a.colab-card:hover .colab-init { border-color:var(--gold); background:rgba(201,168,76,.12); color:var(--gold); }

/* Chema artist card */
.ac-photo-placeholder { width:100%; aspect-ratio:3/4; background:linear-gradient(160deg,#1a1a1a,#0d0d0d); display:flex; align-items:center; justify-content:center; }


.eq-brand {
  color: rgba(255,255,255,.35);
  transition: color .3s, transform .3s;
  cursor: default;
  display: flex; align-items: center;
}
.eq-brand:hover {
  color: rgba(255,255,255,.85);
  transform: translateY(-2px);
}


/* Multipage layout: readable without scripts or a forced loading screen. */
html{scroll-padding-top:100px} body,a,button,input,select,textarea{cursor:auto!important}
#loader,.cur{display:none!important}.rv{opacity:1!important;transform:none!important}
.nav-links{gap:clamp(.65rem,1.5vw,1.8rem)}.nav-links a{white-space:nowrap}
.nav-links a[aria-current="page"]{color:var(--gold)}
body:not(.home) main{padding-top:90px}body:not(.home) main>.sec:first-child{padding-top:55px}
.home #hero{height:auto!important;min-height:0!important;padding:110px 20px 40px!important}
.home .hero-body{padding:0!important;height:auto!important;gap:0}
.home .hero-center-logo{margin:0 auto 14px!important;transform:none!important}.home .hero-center-logo img{max-height:110px;width:auto}
.home .hero-title{font-size:clamp(2.1rem,4.8vw,4.8rem)!important;line-height:1.06!important;margin-bottom:20px}
.home .hero-sub{margin-bottom:24px!important}.home .hero-kicker{margin-top:24px}
.home-summary{padding:35px 24px;border-top:1px solid rgba(201,168,76,.15);text-align:center}
.home-summary h2{font-family:var(--ff-display);font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:14px}
.home-summary .hero-achievements{margin:0 auto 20px!important;max-width:800px}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:1040px;margin:auto;text-align:left;align-items:center}
.location-grid p{color:var(--muted);line-height:1.8}.location-actions{display:flex;gap:12px;flex-wrap:wrap}
.compact-footer{padding:28px 24px!important;border-top:1px solid rgba(201,168,76,.15)}
.footer-inner{max-width:1200px;margin:auto;display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.footer-links{display:flex;flex-wrap:wrap;gap:16px}.footer-links a{color:var(--muted);font-size:.85rem;text-decoration:none}.footer-links a:hover{color:var(--gold)}
.compact-footer .ft-soc{margin:0}.footer-note{font-size:.72rem;color:var(--muted);margin-top:15px;text-align:center}
@media(max-width:800px){.location-grid{grid-template-columns:1fr;gap:18px}.home #hero{padding-top:100px!important}.home-summary{padding:28px 20px}.hero-ey{font-size:.6rem}.nav-links{display:none!important}.ham{display:flex!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-center-logo,.hero-title,.hero-sub,.hero-ey,.hero-btns,.hero-achievements,.hero-kicker{opacity:1!important;transform:none!important}}
