
:root{
  --bg:#02080c;
  --surface:#071117;
  --surface-2:#0a151b;
  --gold:#dda03a;
  --gold-bright:#f5bd54;
  --cream:#fff8ed;
  --muted:#bcb3a6;
  --line:rgba(221,160,58,.42);
  --shadow:0 22px 65px rgba(0,0,0,.50);
}
*{box-sizing:border-box}
html{background:#000;scroll-behavior:smooth}
body{margin:0;background:#000;color:var(--cream);font-family:Arial,Helvetica,sans-serif}
button,input{font:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent}
.app-shell{
  width:min(100%,1080px);min-height:100vh;margin:auto;overflow:hidden;
  background:
    radial-gradient(circle at 50% 7%,rgba(16,39,48,.88),transparent 30%),
    linear-gradient(180deg,#030b10,#02070b);
}
.hero{height:845px;position:relative;overflow:hidden}
.hero-photo{
  position:absolute;inset:-3%;
  background:url("../assets/images/cabecera-panel-sonido-gramofono.webp") center 44%/cover no-repeat;
  filter:contrast(1.12) saturate(1.12) brightness(.76);
  animation:heroBreath 18s ease-in-out infinite alternate;
  will-change:transform,filter;
}
.hero-vignette{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(0,4,7,.55),rgba(0,0,0,.05) 50%,rgba(0,4,7,.25)),
    linear-gradient(180deg,rgba(0,3,6,.12),rgba(0,3,6,.08) 52%,rgba(2,8,12,.84) 82%,#02080c 100%);
}
.hero-light{
  position:absolute;inset:0;
  background:radial-gradient(circle at 78% 29%,rgba(232,141,50,.18),transparent 33%);
  animation:lightPulse 8s ease-in-out infinite alternate;
}
@keyframes heroBreath{
  from{transform:scale(1.035) translate3d(0,0,0);filter:contrast(1.12) saturate(1.12) brightness(.74)}
  to{transform:scale(1.085) translate3d(-.8%,.5%,0);filter:contrast(1.15) saturate(1.18) brightness(.80)}
}
@keyframes lightPulse{from{opacity:.62}to{opacity:1}}
.back-button{
  position:absolute;top:35px;left:35px;width:75px;height:75px;border-radius:50%;
  border:2px solid var(--gold);background:rgba(2,8,12,.62);color:var(--gold-bright);
  display:grid;place-items:center;font-size:41px;backdrop-filter:blur(12px)
}
.brand{position:absolute;top:28px;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 5px 20px #000}
.brand-lily{font-size:78px;line-height:.85;color:var(--gold-bright);filter:drop-shadow(0 0 10px rgba(245,189,84,.24))}
.brand-name{font-family:Georgia,serif;font-size:48px;letter-spacing:8px;margin-top:9px}
.brand-caption{font-family:Georgia,serif;color:var(--gold-bright);font-size:15px;line-height:1.45;letter-spacing:1.2px;margin-top:6px}


/* =========================================================
   COMPONENTE REUTILIZABLE: CLOCK WIDGET
   Jerarquía: hora > período > fecha > clima
   ========================================================= */
.clock-widget{
  position:absolute;
  top:34px;
  right:35px;
  width:224px;
  min-height:190px;
  padding:20px 22px 18px;
  border:2px solid var(--gold);
  border-radius:28px;
  background:rgba(3,9,13,.82);
  color:var(--cream);
  text-align:left;
  backdrop-filter:blur(16px);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.clock-widget::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 40%);
}

.clock-widget__time-row{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:36px 1fr;
  align-items:start;
  column-gap:14px;
}

.clock-widget__icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  margin-top:9px;
  color:var(--gold-bright);
  font-size:31px;
  line-height:1;
}

.clock-widget__time-block{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
}

.clock-widget__time-block strong{
  display:block;
  color:#fff;
  font-size:56px;
  font-weight:500;
  line-height:.95;
  letter-spacing:1px;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.clock-widget__period{
  display:block;
  margin-top:6px;
  color:rgba(255,255,255,.88);
  font-size:21px;
  line-height:1;
  letter-spacing:.6px;
}

.clock-widget__date{
  position:relative;
  z-index:1;
  margin-top:18px;
  color:var(--gold-bright);
  font-size:16px;
  line-height:1.25;
  text-align:center;
  text-transform:lowercase;
  white-space:nowrap;
}

.clock-widget__divider{
  position:relative;
  z-index:1;
  height:1px;
  margin:14px 0 13px;
  background:linear-gradient(90deg,transparent,var(--line),transparent);
}

.clock-widget__weather{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
}

.clock-widget__weather-icon{
  color:var(--gold-bright);
  font-size:28px;
  line-height:1;
}

.clock-widget__temperature{
  color:var(--gold-bright);
  font-size:28px;
  font-weight:500;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

.clock-widget__time-block,
.clock-widget__date,
.clock-widget__weather{
  transition:opacity .18s ease;
}

.clock-widget.is-updating .clock-widget__time-block,
.clock-widget.is-updating .clock-widget__date{
  opacity:.45;
}

.hero-heading{
  position:absolute;left:42px;right:42px;bottom:105px;display:grid;grid-template-columns:132px 1fr;gap:25px;align-items:center
}
.sound-icon{
  width:132px;height:132px;border:2px solid var(--gold);border-radius:50%;background:rgba(2,8,12,.72);
  display:flex;align-items:center;justify-content:center;gap:7px
}
.sound-icon i{width:8px;border-radius:8px;background:var(--gold-bright)}
.sound-icon i:nth-child(1),.sound-icon i:nth-child(5){height:36px}
.sound-icon i:nth-child(2),.sound-icon i:nth-child(4){height:64px}
.sound-icon i:nth-child(3){height:87px}
.hero-heading h1{font-family:Georgia,serif;font-size:69px;font-weight:400;letter-spacing:.5px;line-height:.96;margin:0;text-shadow:0 4px 22px #000}
.hero-heading p{font-family:Georgia,serif;font-size:26px;margin:12px 0 0;color:#f1e9df}
.divider,.footer-divider{position:absolute;left:42px;right:42px;bottom:34px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;color:var(--gold-bright)}
.divider span,.footer-divider span{height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.divider b,.footer-divider b{font-size:38px}
.library{padding:0 35px 20px}
.search-row{display:grid;grid-template-columns:1fr 218px;gap:15px}
.search-box,.filter-button{
  height:73px;border:1px solid var(--line);border-radius:20px;background:rgba(7,17,23,.97);color:var(--cream);
  display:flex;align-items:center;box-shadow:0 12px 28px rgba(0,0,0,.25)
}
.search-box{padding:0 24px;gap:16px}.search-box>span{color:var(--gold-bright);font-size:35px}
.search-box input{width:100%;background:transparent;border:0;outline:0;color:#fff;font-size:21px}
.filter-button{justify-content:space-around;color:var(--gold-bright);font-size:22px;padding:0 17px}.filter-button b{color:#fff;font-weight:400}.filter-button i{font-style:normal}
.category-chips{display:flex;flex-wrap:wrap;gap:10px;padding:14px 0 16px}
.category-chip{
  border:1px solid var(--line);border-radius:999px;padding:12px 18px;background:#071117;color:#ede5d9;font-size:15px
}
.category-chip.active{background:linear-gradient(180deg,#f5c564,#d28e27);color:#15100a;font-weight:700}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;margin:11px 5px 15px}
.section-title h2{font-family:Georgia,serif;font-size:36px;font-weight:400;margin:0}
.section-title span{color:var(--gold-bright);font-size:17px}
.track-list{display:grid;gap:13px}
.track-row{
  min-height:125px;border:1px solid rgba(221,160,58,.28);border-radius:20px;background:linear-gradient(145deg,rgba(10,21,27,.98),rgba(4,10,14,.98));
  display:grid;grid-template-columns:105px 1fr 70px 26px;align-items:center;gap:16px;padding:14px 18px;color:#fff;text-align:left;
  box-shadow:0 15px 35px rgba(0,0,0,.28)
}
.track-row.active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(221,160,58,.10),0 18px 42px rgba(0,0,0,.4)}
.track-thumb{
  width:105px;height:92px;border-radius:14px;overflow:hidden;position:relative;border:1px solid rgba(221,160,58,.35);
  background:url("../assets/images/gramofono-rignac.jpg") center 44%/cover no-repeat
}
.track-thumb::after{content:"⚜";position:absolute;inset:0;display:grid;place-items:center;color:var(--gold-bright);font-size:38px;text-shadow:0 3px 12px #000;background:rgba(0,0,0,.12)}
.track-copy{min-width:0}.track-copy small{color:var(--gold-bright);font-size:12px;letter-spacing:1.8px}
.track-copy h3{font-family:Georgia,serif;font-size:27px;font-weight:400;margin:8px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.track-copy p{margin:0;color:var(--muted);font-size:15px}
.row-play{
  width:55px;height:55px;border-radius:50%;border:2px solid var(--gold);background:transparent;color:var(--gold-bright);
  display:grid;place-items:center;padding:0
}
.row-play .triangle{
  width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-left:15px solid currentColor;
  transform:translateX(2px)
}
.row-play .pause-mini{display:flex;gap:5px}.row-play .pause-mini i{width:5px;height:19px;background:currentColor;border-radius:3px}
.row-menu{font-size:26px;color:var(--gold-bright)}
.empty-state{padding:42px;border:1px dashed var(--line);border-radius:20px;text-align:center;color:var(--muted)}
.player-card{
  margin:0 35px 18px;padding:20px 26px 25px;border:2px solid var(--gold);border-radius:22px;
  background:linear-gradient(145deg,rgba(7,18,24,.99),rgba(2,9,13,.99));box-shadow:var(--shadow)
}
.now-playing{display:grid;grid-template-columns:118px 1fr 72px;gap:24px;align-items:center}
.track-cover{
  width:118px;height:110px;border-radius:16px;border:1px solid var(--line);position:relative;overflow:hidden;
  background:url("../assets/images/gramofono-rignac.jpg") center 44%/cover no-repeat
}
.animated-cover::before{
  content:"";position:absolute;inset:-12%;background:inherit;
  animation:coverLoop 12s ease-in-out infinite alternate;filter:saturate(1.10) brightness(.88)
}
.animated-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(245,189,84,.18) 48%,transparent 72%);transform:translateX(-120%);animation:coverShine 7s ease-in-out infinite}
.cover-lily{position:absolute;z-index:2;inset:0;display:grid;place-items:center;color:var(--gold-bright);font-size:42px;text-shadow:0 3px 14px #000}
@keyframes coverLoop{from{transform:scale(1.03) translate(-1%,-1%)}to{transform:scale(1.16) translate(2%,1%)}}
@keyframes coverShine{0%,30%{transform:translateX(-130%)}70%,100%{transform:translateX(130%)}}
.now-copy{min-width:0}.now-copy small{color:var(--gold-bright);font-size:13px;letter-spacing:1.8px}
.now-copy h3{font-family:Georgia,serif;font-size:31px;font-weight:400;margin:8px 0 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.now-copy p{margin:0;color:var(--muted);font-size:17px}
.favorite-button{border:0;background:transparent;color:var(--gold-bright);font-size:57px;line-height:1}.favorite-button.active{filter:drop-shadow(0 0 10px rgba(245,189,84,.6))}
.progress-row{display:grid;grid-template-columns:60px 1fr 60px;align-items:center;gap:16px;margin:19px 0 8px;font-size:17px}
input[type=range]{width:100%;accent-color:var(--gold-bright)}
.playback-controls{display:flex;align-items:center;justify-content:center;gap:42px;margin:8px 0 17px}
.playback-controls>button:not(.primary-control){width:57px;height:57px;border:0;background:transparent;color:var(--gold-bright);font-size:29px}
.playback-controls>button.enabled{border:1px solid var(--gold);border-radius:50%;background:rgba(221,160,58,.13)}
.primary-control{
  width:106px;height:106px;border-radius:50%;border:2px solid #ffcf71;background:linear-gradient(180deg,#f7c260,#d99329);
  color:#111;display:grid;place-items:center;padding:0;box-shadow:0 0 0 8px rgba(221,160,58,.09),0 0 27px rgba(245,189,84,.25)
}
.play-symbol{display:block;font-size:0;line-height:1}
.play-symbol.play{
  width:0;height:0;border-top:17px solid transparent;border-bottom:17px solid transparent;border-left:27px solid #111;
  transform:translateX(3px)
}
.play-symbol.pause{width:35px;height:40px;display:flex;justify-content:space-between;align-items:center}
.play-symbol.pause::before,.play-symbol.pause::after{content:"";width:11px;height:40px;background:#111;border-radius:4px}
.volume-row{display:grid;grid-template-columns:48px 1fr 38px;align-items:center;gap:15px}
.volume-row button{border:0;background:transparent;color:#fff;font-size:24px}
.bottom-navigation{
  margin:0 35px 20px;min-height:89px;border:1px solid rgba(221,160,58,.34);border-radius:21px;
  display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;background:rgba(7,17,23,.98)
}
.bottom-navigation button{border:0;border-right:1px solid rgba(221,160,58,.18);background:transparent;color:#eee4d7;font-family:Georgia,serif;font-size:18px}
.bottom-navigation button:last-child{border:0}.bottom-navigation span{color:var(--gold-bright);font-family:Arial;font-size:30px;margin-right:11px}.bottom-navigation .active{color:var(--gold-bright)}
.footer-divider{position:static;margin:0 36px 22px}
dialog{width:min(92%,700px);border:1px solid var(--gold);border-radius:22px;background:#071117;color:#fff;padding:22px;box-shadow:0 35px 100px #000}
dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(7px)}
dialog header{display:flex;justify-content:space-between;align-items:center}dialog h2{font-family:Georgia,serif;font-size:30px;margin:0}dialog header button{border:0;background:transparent;color:var(--gold-bright);font-size:40px}
.history-item{padding:14px 0;border-bottom:1px solid rgba(221,160,58,.18)}.history-item b{display:block}.history-item span{color:var(--muted)}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#101b20;border:1px solid var(--gold);color:#fff;padding:12px 20px;border-radius:999px;transition:.25s;z-index:20}
.toast.visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:720px), (min-width:900px) and (orientation:landscape){

  .clock-widget{
    top:18px;
    right:15px;
    width:158px;
    min-height:134px;
    padding:12px 13px 11px;
    border-radius:20px;
  }
  .clock-widget__time-row{
    grid-template-columns:26px 1fr;
    column-gap:8px;
  }
  .clock-widget__icon{
    width:26px;
    height:26px;
    margin-top:5px;
    font-size:23px;
  }
  .clock-widget__time-block strong{
    font-size:36px;
  }
  .clock-widget__period{
    margin-top:3px;
    font-size:13px;
  }
  .clock-widget__date{
    margin-top:10px;
    font-size:10px;
  }
  .clock-widget__divider{
    margin:8px 0 8px;
  }
  .clock-widget__weather{
    gap:8px;
  }
  .clock-widget__weather-icon,
  .clock-widget__temperature{
    font-size:19px;
  }

  .hero{height:640px}.back-button{top:20px;left:16px;width:55px;height:55px;font-size:29px}.brand{top:16px}.brand-lily{font-size:54px}.brand-name{font-size:33px;letter-spacing:5px}.brand-caption{font-size:9px}
  
  .hero-heading{left:17px;right:17px;bottom:78px;grid-template-columns:79px 1fr;gap:14px}.sound-icon{width:79px;height:79px}.sound-icon i{width:5px}.sound-icon i:nth-child(1),.sound-icon i:nth-child(5){height:23px}.sound-icon i:nth-child(2),.sound-icon i:nth-child(4){height:39px}.sound-icon i:nth-child(3){height:55px}
  .hero-heading h1{font-size:40px}.hero-heading p{font-size:15px;margin-top:7px}.divider{left:17px;right:17px;bottom:25px}
  .library{padding:0 15px 15px}.search-row{grid-template-columns:1fr 112px;gap:8px}.search-box,.filter-button{height:59px;border-radius:15px}.search-box{padding:0 14px}.search-box input{font-size:15px}.filter-button b{display:none}
  .category-chip{padding:9px 12px;font-size:12px}.section-title h2{font-size:29px}.section-title span{font-size:13px}
  .track-row{grid-template-columns:73px 1fr 49px 16px;gap:10px;min-height:98px;padding:10px}.track-thumb{width:73px;height:72px}.track-thumb::after{font-size:28px}.track-copy h3{font-size:19px}.track-copy small{font-size:9px}.track-copy p{font-size:12px}.row-play{width:43px;height:43px}.row-menu{font-size:20px}
  .player-card{margin:0 15px 14px;padding:15px 15px 19px}.now-playing{grid-template-columns:75px 1fr 45px;gap:12px}.track-cover{width:75px;height:75px}.cover-lily{font-size:31px}.now-copy h3{font-size:21px}.now-copy small{font-size:9px}.now-copy p{font-size:13px}.favorite-button{font-size:39px}
  .progress-row{grid-template-columns:42px 1fr 42px;gap:8px;font-size:12px}.playback-controls{gap:12px}.playback-controls>button:not(.primary-control){width:42px;height:42px;font-size:22px}.primary-control{width:78px;height:78px}.play-symbol.play{border-top-width:13px;border-bottom-width:13px;border-left-width:21px}.play-symbol.pause{width:26px;height:31px}.play-symbol.pause::before,.play-symbol.pause::after{width:8px;height:31px}
  .bottom-navigation{margin:0 15px 16px;min-height:69px}.bottom-navigation b{display:none}.bottom-navigation span{margin:0;font-size:27px}.footer-divider{margin:0 16px 16px}
}
@media(prefers-reduced-motion:reduce){
  .hero-photo,.hero-light,.animated-cover::before,.animated-cover::after{animation:none!important}
}


/* =========================================================
   AJUSTE FINAL SEGÚN REFERENCIA VISUAL OBLIGATORIA
   ========================================================= */
.hero{
  height:820px;
}
.hero-photo{
  background-position:center 44%;
  filter:contrast(1.14) saturate(1.08) brightness(.72);
}
.hero-vignette{
  background:
    linear-gradient(90deg,rgba(0,4,7,.50),rgba(0,0,0,.04) 50%,rgba(0,4,7,.19)),
    linear-gradient(180deg,rgba(0,3,6,.10),rgba(0,3,6,.05) 52%,rgba(2,8,12,.82) 82%,#02080c 100%);
}
.brand{
  top:26px;
}
.hero-heading{
  bottom:102px;
}
.hero-heading h1{
  font-size:66px;
}
.library{
  padding-top:2px;
}
.track-list{
  gap:10px;
}
.track-row{
  min-height:112px;
}
.player-card{
  padding-top:18px;
}
.favorite-button{
  font-size:53px;
}
.bottom-navigation{
  grid-template-columns:repeat(5,1fr);
}
@media(max-width:720px), (min-width:900px) and (orientation:landscape){
  .hero{height:620px}
  .hero-heading h1{font-size:38px}
  .track-row{min-height:92px}
  .bottom-navigation{grid-template-columns:repeat(5,1fr)}
}

/* v4.4 3D icons */
.back-button{overflow:hidden;padding:0}
.back-button .r3d-icon{width:100%;height:100%;transform:scale(1.04)}
.sound-icon{padding:0!important;overflow:hidden;gap:0!important}
.sound-icon .r3d-icon{width:100%;height:100%}
.bottom-navigation button{gap:7px}
.primary-control{overflow:hidden;padding:0}
.primary-control .r3d-control-icon{width:100%;height:100%;transform:scale(1.08)}


/* =========================================================
   v5.0 — CABECERA COMPLETA SIN RECORTE
   La fotografía original se muestra completa. El espacio libre se
   integra con un degradado oscuro para recibir el título del módulo.
   ========================================================= */
.hero-photo{
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.04) 46%,rgba(2,8,12,.22) 60%,rgba(2,8,12,.98) 82%,#02080c 100%),
    url("../assets/images/cabecera-panel-sonido-gramofono.webp") center top / 100% auto no-repeat,
    radial-gradient(circle at 76% 18%,#9c6537 0%,#5f4028 28%,#261b15 58%,#02080c 100%);
  filter:contrast(1.08) saturate(1.06) brightness(.86);
  animation:none!important;
  transform:none!important;
}
.hero-light{
  background:
    radial-gradient(circle at 82% 22%,rgba(232,141,50,.16),transparent 30%),
    linear-gradient(180deg,transparent 0 58%,rgba(0,0,0,.20) 72%,rgba(0,0,0,.55) 100%);
}

@media(max-width:720px), (min-width:900px) and (orientation:landscape){
  .hero{height:660px}
  .hero-photo{
    background:
      linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.02) 43%,rgba(2,8,12,.08) 50%,rgba(2,8,12,.96) 66%,#02080c 100%),
      url("../assets/images/cabecera-panel-sonido-gramofono.webp") center top / 100% auto no-repeat,
      radial-gradient(circle at 75% 14%,#9f6a3d 0%,#64442d 30%,#2c2018 58%,#02080c 100%);
    filter:contrast(1.05) saturate(1.05) brightness(.92);
  }
  .brand{top:22px}
  .hero-heading{bottom:66px}
  .divider{bottom:18px}
}

/* =========================================================
   v5.1 — CABECERA COMPACTA
   Mantiene la foto completa y elimina el gran vacío entre la imagen
   y el título. El título se integra inmediatamente bajo la fotografía.
   ========================================================= */
@media(max-width:720px){
  .hero{height:535px}
  .hero-photo{
    background:
      linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.02) 48%,rgba(2,8,12,.20) 63%,rgba(2,8,12,.92) 79%,#02080c 100%),
      url("../assets/images/cabecera-panel-sonido-gramofono.webp") center top / 100% auto no-repeat,
      linear-gradient(180deg,#6c472d 0%,#281c16 50%,#02080c 100%);
    filter:contrast(1.06) saturate(1.05) brightness(.91);
  }
  .hero-vignette{
    background:
      linear-gradient(90deg,rgba(0,4,7,.26),transparent 48%,rgba(0,4,7,.12)),
      linear-gradient(180deg,transparent 0 50%,rgba(2,8,12,.20) 64%,#02080c 88%,#02080c 100%);
  }
  .hero-heading{
    left:20px;right:20px;bottom:58px;
    grid-template-columns:92px 1fr;gap:16px;
  }
  .sound-icon{width:92px;height:92px}
  .hero-heading h1{font-size:40px;line-height:.94}
  .hero-heading p{font-size:15px;line-height:1.25;margin-top:8px}
  .divider{left:20px;right:20px;bottom:14px}
}

/* =========================================================
   v5.2 — COMPOSICIÓN FINAL BASADA EN EL ANCHO REAL DEL PANEL
   Evita el vacío vertical cuando la app 9:16 se muestra dentro de
   una pantalla de escritorio. La fotografía conserva su proporción
   completa (3:2) y el título queda inmediatamente debajo.
   ========================================================= */
.hero{
  height:calc(66.666cqw + 205px) !important;
  min-height:0 !important;
}
.hero-photo{
  inset:0 !important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.01) 70%,rgba(2,8,12,.20) 86%,#02080c 100%),
    url("../assets/images/cabecera-panel-sonido-gramofono.webp") center top / 100% auto no-repeat,
    linear-gradient(180deg,#765036 0%,#35251b 55%,#02080c 100%) !important;
  filter:contrast(1.06) saturate(1.05) brightness(.93) !important;
  animation:none !important;
  transform:none !important;
}
.hero-vignette{
  background:
    linear-gradient(90deg,rgba(0,4,7,.20),transparent 48%,rgba(0,4,7,.10)),
    linear-gradient(180deg,transparent 0 69%,rgba(2,8,12,.05) 75%,rgba(2,8,12,.68) 91%,#02080c 100%) !important;
}
.hero-light{opacity:.55}
.hero-heading{
  top:calc(66.666cqw - 26px) !important;
  bottom:auto !important;
  left:5.2cqw !important;
  right:5.2cqw !important;
  grid-template-columns:18.5cqw 1fr !important;
  gap:3.5cqw !important;
  align-items:center !important;
}
.sound-icon{
  width:18.5cqw !important;
  height:18.5cqw !important;
  max-width:132px;max-height:132px;
}
.hero-heading h1{
  font-size:clamp(38px,8.6cqw,68px) !important;
  line-height:.94 !important;
}
.hero-heading p{
  font-size:clamp(15px,3.35cqw,26px) !important;
  line-height:1.22 !important;
  margin-top:8px !important;
}
.divider{
  bottom:16px !important;
  left:5.2cqw !important;
  right:5.2cqw !important;
}

/* Ajustes basados en el ancho del contenedor 9:16, no en el viewport. */
@container (max-width:720px){
  .back-button{top:18px !important;left:16px !important;width:58px !important;height:58px !important}
  .brand{top:17px !important}
  .brand-lily{font-size:54px !important}
  .brand-name{font-size:clamp(31px,7.2cqw,40px) !important;letter-spacing:5px !important}
  .brand-caption{font-size:clamp(9px,2.1cqw,12px) !important}
  .clock-widget{
    top:18px !important;right:15px !important;width:29cqw !important;min-width:136px !important;max-width:158px !important;
    min-height:0 !important;padding:11px 12px 10px !important;border-radius:17px !important;
  }
  .clock-widget__time-row{grid-template-columns:22px 1fr !important;column-gap:6px !important}
  .clock-widget__icon{width:22px !important;height:22px !important;margin-top:4px !important;font-size:19px !important}
  .clock-widget__time-block strong{font-size:clamp(28px,7cqw,36px) !important}
  .clock-widget__period{display:none !important}
  .clock-widget__date{margin-top:8px !important;font-size:clamp(8px,2cqw,10px) !important}
  .clock-widget__divider{margin:7px 0 !important}
  .clock-widget__weather{gap:5px !important}
  .clock-widget__weather-icon{font-size:16px !important}
  .clock-widget__temperature{font-size:0 !important}
  .clock-widget__temperature::after{content:"Clima local";font-size:clamp(11px,2.6cqw,14px);font-weight:700;white-space:nowrap}
  .library{padding:0 15px 15px !important}
  .search-row{grid-template-columns:1fr 112px !important;gap:8px !important}
  .search-box,.filter-button{height:59px !important;border-radius:15px !important}
  .search-box{padding:0 14px !important}.search-box input{font-size:15px !important}.filter-button b{display:none !important}
  .category-chip{padding:9px 12px !important;font-size:12px !important}
  .section-title h2{font-size:29px !important}.section-title span{font-size:13px !important}
  .track-row{grid-template-columns:73px 1fr 49px 16px !important;gap:10px !important;min-height:98px !important;padding:10px !important}
  .track-thumb{width:73px !important;height:72px !important}.track-copy h3{font-size:19px !important}.track-copy p{font-size:12px !important}
}
