:root,[data-theme="dark"]{
  --bg:#121212; --surface:#1c1c1c; --line:#2c2c2c;
  --text:#fff; --muted:#b3b3b3; --accent:#1ed760; --accent-d:#169c46; --glass:rgba(18,18,18,.88);
  color-scheme:dark;
}
[data-theme="light"]{
  --bg:#fff; --surface:#f3f3f3; --line:#e0e0e0;
  --text:#121212; --muted:#5c5c5c; --accent:#0e8a3a; --accent-d:#1ed760; --glass:rgba(255,255,255,.88);
  color-scheme:light;
}
:root{
  --btn:#1ed760; --btn-hover:#3be477;
  --display:"Unbounded",system-ui,sans-serif; --body:"DM Sans",system-ui,sans-serif; --max:1080px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--bg);color:var(--text);font:400 1.05rem/1.6 var(--body);-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}
a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}

.top{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:.7rem clamp(1rem,4vw,2.5rem);background:var(--glass);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;font:700 1.15rem var(--display);text-decoration:none}
.top nav{display:flex;align-items:center;gap:1rem}
.top nav a:not(.btn){color:var(--muted);text-decoration:none}
.top nav a:not(.btn):hover{color:var(--text)}

.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:999px;background:var(--btn);color:#000;
  font-weight:700;text-decoration:none;transition:background .15s,transform .15s}
.btn:hover{background:var(--btn-hover);transform:scale(1.03)}
.btn-small{padding:.5rem 1.1rem;font-size:.95rem}
.btn-ghost{background:transparent;color:var(--text);box-shadow:inset 0 0 0 2px var(--line)}
.btn-ghost:hover{background:var(--surface)}
.btn-icon,.chip{border:2px solid var(--line);background:none;color:var(--text);cursor:pointer;font:700 .85rem var(--body)}
.btn-icon{width:44px;height:44px;border-radius:50%;font-size:1.4rem;line-height:1;display:grid;place-items:center}
.chip{height:44px;padding:0 .9rem;border-radius:999px}
.btn-icon:hover,.chip:hover{border-color:var(--accent);color:var(--accent)}

.hero,.block,.foot,.eq-wrap{max-width:var(--max);margin-inline:auto;padding-inline:clamp(1rem,4vw,2.5rem)}
.hero{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;align-items:center;padding-top:clamp(3rem,8vw,6rem)}
h1{font:700 clamp(2.4rem,7vw,4.8rem)/1.05 var(--display);letter-spacing:-.03em}
h2{font:700 clamp(1.5rem,3.5vw,2.2rem)/1.15 var(--display);letter-spacing:-.02em;margin-bottom:1.5rem}
.lead{max-width:34rem;margin:1.5rem 0 2rem;color:var(--muted);font-size:1.2rem}
.actions{display:flex;flex-wrap:wrap;gap:.8rem}

/* Reproductor demo */
.player{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:1.4rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center}
.cover{width:84px;height:84px;border-radius:18px;background:#000;display:grid;place-items:center}
.meta{display:grid;line-height:1.3}
.meta span{color:var(--muted);font-size:.95rem}
.play{width:56px;height:56px;border-radius:50%;border:0;background:var(--btn);color:#000;cursor:pointer;display:grid;place-items:center;transition:transform .15s}
.play:hover{transform:scale(1.08)}
.progress{grid-column:1/-1;height:6px;border-radius:6px;background:var(--line);overflow:hidden;cursor:pointer}
.progress span{display:block;height:100%;width:0;background:var(--accent);border-radius:6px}
.time{grid-column:1/-1;display:flex;justify-content:space-between;margin-top:-.5rem;color:var(--muted);font-size:.8rem;font-variant-numeric:tabular-nums}

/* Ecualizador */
.eq-wrap{padding-top:clamp(2rem,5vw,3.5rem)}
.eq{display:flex;align-items:flex-end;gap:5px;height:140px}
.eq i{flex:1;min-width:3px;height:100%;border-radius:4px 4px 0 0;background:linear-gradient(var(--btn),var(--accent-d));
  transform-origin:bottom;animation:bounce var(--d,1.2s) ease-in-out var(--delay,0s) infinite alternate}
.eq.paused i{animation-play-state:paused}
@keyframes bounce{from{transform:scaleY(.12)}to{transform:scaleY(var(--h,1))}}

.block{padding-block:clamp(3.5rem,8vw,6rem)}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.features div{padding:1.4rem 1.4rem 1.4rem 0;border-top:1px solid var(--line)}
.features dt{font:500 1.05rem var(--display);margin-bottom:.5rem}
.features dd{color:var(--muted)}

.steps{list-style:none;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.5rem}
.steps li{counter-increment:s;display:grid;gap:.3rem;padding-left:3.2rem;position:relative}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:2.3rem;height:2.3rem;border-radius:50%;
  background:var(--btn);color:#000;font:700 1rem var(--display);display:grid;place-items:center}
.steps span{color:var(--muted)}

.row-head{display:flex;justify-content:space-between;align-items:flex-start}
.arrows{display:flex;gap:.5rem}
.shots{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:thin}
.shot{flex:0 0 var(--shot-w);width:var(--shot-w);height:auto;aspect-ratio:738/1600;scroll-snap-align:center;border-radius:22px;
  background:var(--surface);border:1px solid var(--line);display:block;color:var(--muted);object-fit:cover;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.shot:first-child{margin-left:auto}.shot:last-child{margin-right:auto}

.download{text-align:center;background:var(--surface);border-radius:32px;max-width:calc(var(--max) - 2rem);margin-block:2rem}
.download p{color:var(--muted);margin-bottom:1.5rem}
.download strong{color:var(--accent)}
.download .actions{justify-content:center}
.download .note{margin:1.5rem 0 0;font-size:.92rem}

details{border-top:1px solid var(--line);padding:1.1rem 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between}
summary::after{content:"+";color:var(--accent);font-size:1.4rem;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin-top:.7rem;max-width:40rem}

.foot{padding-block:2.5rem 3rem;color:var(--muted);font-size:.92rem;display:grid;gap:.4rem}
.foot a:hover{color:var(--accent)}

@media (max-width:820px){.hero{grid-template-columns:1fr}}
@media (max-width:640px){.top nav a:not(.btn){display:none}.btn-small{display:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  body{transition:none}
  .eq i{animation:none;transform:scaleY(var(--h,.6))}
}

/* ===== Mejoras v3 ===== */
:root{--shot-w:clamp(135px,15vw,172px)}
[hidden]{display:none!important}
.skip{position:absolute;left:-999px;top:0;background:var(--btn);color:#000;padding:.6rem 1rem;border-radius:0 0 12px 0;z-index:20;font-weight:700}
.skip:focus{left:0}
.muted{color:var(--muted)}
.top nav a[aria-current="true"]{color:var(--text)}
.top nav a[aria-current="true"]:not(.btn){box-shadow:0 2px 0 var(--accent)}

.news{display:grid}
.rel{border-top:1px solid var(--line);padding:1.5rem 0;display:grid;grid-template-columns:170px 1fr;gap:1rem 2.5rem}
.rel-head{display:grid;gap:.4rem;align-content:start;justify-items:start}
.rel-head b{font:700 1.15rem var(--display)}
.rel-head time{color:var(--muted);font-size:.9rem}
.badge{font-size:.75rem;font-weight:700;padding:.15rem .6rem;border-radius:999px;background:var(--btn);color:#000}
.badge.beta{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.rel-body{color:var(--muted)}
.rel-body h4{color:var(--text);margin:1rem 0 .3rem;font-size:1rem}
.rel-body h4:first-child{margin-top:0}
.rel-body ul{padding-left:1.2rem;display:grid;gap:.3rem}
.rel-body code{background:var(--surface);padding:.1rem .4rem;border-radius:6px;font-size:.9em}
.rel-body a{color:var(--accent)}
.rel-dl{display:inline-block;margin-top:.9rem;color:var(--accent);font-weight:700;text-decoration:none}
.rel-dl:hover{text-decoration:underline}

.foot{display:block;padding-block:1rem 3rem}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:2rem;border-top:1px solid var(--line);padding-top:2.2rem}
.foot-tag{margin-top:.6rem;max-width:18rem}
.foot-links{display:grid;gap:.5rem;align-content:start}
.foot strong{color:var(--text);display:block;margin-bottom:.8rem}
.socials{display:flex;flex-wrap:wrap;gap:.5rem}
.socials a{padding:.4rem .9rem;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);text-decoration:none;transition:background .15s,color .15s}
.socials a:hover{background:var(--btn);color:#000}
.legal{margin-top:2rem;font-size:.85rem}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

@media (max-width:860px){.top nav a:not(.btn){display:none}.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.rel{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.foot-links a{text-decoration:none}