/* ══════════════════════════════════════════════════════════
   MUSEO DIGITAL · ESTHER MARISOL
   index.css — Hoja de estilos exclusiva de la portada
   Paleta tierra · Mobile-first · © 2026 E.A.S.M
══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400;1,600&family=Cinzel:wght@400;600;700&family=IM+Fell+English:ital@0;1&display=swap');

/* ── VARIABLES ── */
:root {
  --arena:       #D7CCC8;
  --marron:      #4E342E;
  --terracota:   #A0522D;
  --ocre:        #C19A6B;
  --blanco:      #FFFDF8;
  --tinta:       #1C1008;
  --marron-deep: #160D06;
  --ocre-light:  #DDB97A;
  --ocre-dim:    rgba(193,154,107,.22);
  --arena-dim:   rgba(215,204,200,.55);
  --serif:  'Cormorant Garamond', Georgia, serif;
  --cinzel: 'Cinzel', serif;
  --fell:   'IM Fell English', serif;
  --ease:   cubic-bezier(.4,0,.2,1);
}

/* ── RESET ── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{
  font-family:var(--serif);
  background:var(--marron-deep);
  color:var(--arena);
  overflow-x:hidden;
  /* Protección visual */
  user-select:none;
  -webkit-user-select:none;
}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}

/* Textura de grano */
body::before{
  content:'';
  position:fixed;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
  pointer-events:none;z-index:9999;mix-blend-mode:overlay;
}

/* ══════════════════════════════════════════════
   CONTROL DE MÚSICA — rediseñado
══════════════════════════════════════════════ */
.audio-control{
  position:fixed;
  bottom:2rem;right:2rem;
  z-index:1000;
}

.audio-btn{
  width:52px;height:52px;
  border-radius:50%;
  background:rgba(28,16,8,.85);
  border:1.5px solid var(--ocre);
  color:var(--ocre-light);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 4px 28px rgba(0,0,0,.6), 0 0 0 0 rgba(193,154,107,.3);
  transition:border-color .3s,box-shadow .3s,transform .3s;
  position:relative;overflow:hidden;
}

.audio-btn:hover{
  border-color:var(--ocre-light);
  transform:scale(1.08);
  box-shadow:0 6px 32px rgba(0,0,0,.7), 0 0 0 8px rgba(193,154,107,.1);
}

.audio-btn.playing{
  box-shadow:0 4px 28px rgba(0,0,0,.6), 0 0 0 6px rgba(193,154,107,.15);
  animation:audioPulse 2s ease-in-out infinite;
}

@keyframes audioPulse{
  0%,100%{box-shadow:0 4px 28px rgba(0,0,0,.6),0 0 0 0 rgba(193,154,107,.3);}
  50%    {box-shadow:0 4px 28px rgba(0,0,0,.6),0 0 0 10px rgba(193,154,107,.0);}
}

.audio-icon{font-size:1.1rem;position:relative;z-index:1;}

/* Barras de onda (visibles cuando reproduce) */
.audio-waves{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;gap:2px;
  opacity:0;transition:opacity .3s;
}
.audio-btn.playing .audio-icon{opacity:0;}
.audio-btn.playing .audio-waves{opacity:1;}

.audio-waves span{
  display:block;width:3px;
  background:var(--ocre-light);
  border-radius:2px;
  animation:wave 1.1s ease-in-out infinite;
}
.audio-waves span:nth-child(1){height:8px; animation-delay:0s;}
.audio-waves span:nth-child(2){height:16px;animation-delay:.15s;}
.audio-waves span:nth-child(3){height:10px;animation-delay:.3s;}
.audio-waves span:nth-child(4){height:14px;animation-delay:.45s;}

@keyframes wave{
  0%,100%{transform:scaleY(.4);}
  50%    {transform:scaleY(1);}
}

/* ══════════════════════════════════════════════
   NAVEGACIÓN
══════════════════════════════════════════════ */
#navbar{
  position:fixed;top:0;left:0;right:0;
  z-index:500;
  padding:0;
  transition:background .5s,border-color .5s,padding .4s;
  border-bottom:1px solid transparent;
}

#navbar.scrolled{
  background:rgba(16,8,3,.94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom-color:rgba(193,154,107,.14);
}

.nav-inner{
  max-width:1440px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:1rem 2rem;
  transition:padding .4s;
}

#navbar.scrolled .nav-inner{padding:.7rem 2rem;}

/* Logo */
.nav-logo{
  display:flex;align-items:center;gap:.75rem;
  flex-shrink:0;
}

.nav-logo img{
  height:40px;width:40px;
  object-fit:contain;border-radius:50%;
  border:1px solid rgba(193,154,107,.3);
  transition:border-color .3s;
}

.nav-logo:hover img{border-color:var(--ocre);}

.nav-logo-text{
  font-family:var(--cinzel);
  font-size:.7rem;letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--ocre-light);line-height:1.4;
}

.nav-logo-text span{
  display:block;font-size:.48rem;
  color:rgba(215,204,200,.45);letter-spacing:.28em;
}

/* Links */
.nav-links{
  display:flex;align-items:center;gap:1.4rem;
}

.nav-links a{
  font-family:var(--cinzel);
  font-size:.54rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(215,204,200,.5);
  position:relative;padding-bottom:3px;
  transition:color .3s;
  white-space:nowrap;
}

.nav-links a::after{
  content:'';position:absolute;
  bottom:0;left:0;width:0;height:1px;
  background:var(--ocre);
  transition:width .35s var(--ease);
}

.nav-links a:hover,
.nav-links a.active{color:var(--ocre-light);}

.nav-links a:hover::after,
.nav-links a.active::after{width:100%;}

/* Hamburguesa */
.nav-ham{
  display:none;
  flex-direction:column;gap:5px;
  background:none;border:none;cursor:pointer;padding:5px;
}

.nav-ham span{
  display:block;width:24px;height:1.5px;
  background:var(--ocre-light);
  transition:transform .35s var(--ease),opacity .35s,width .35s;
}

.nav-ham.open span:nth-child(1){transform:rotate(45deg) translate(4.8px,4.8px);}
.nav-ham.open span:nth-child(2){opacity:0;width:0;}
.nav-ham.open span:nth-child(3){transform:rotate(-45deg) translate(4.8px,-4.8px);}

/* Overlay móvil */
.nav-overlay{
  position:fixed;inset:0;z-index:800;
  background:var(--marron-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1.6rem;
  opacity:0;pointer-events:none;
  transition:opacity .45s var(--ease);
}

.nav-overlay.open{opacity:1;pointer-events:all;}

.nav-overlay-close{
  position:absolute;top:1.5rem;right:1.8rem;
  background:none;border:none;
  color:var(--ocre);font-size:1.8rem;cursor:pointer;
  transition:transform .3s,color .3s;
}

.nav-overlay-close:hover{transform:rotate(90deg);color:var(--ocre-light);}

.nav-overlay-logo img{
  height:64px;width:64px;object-fit:contain;
  border-radius:50%;border:1px solid var(--ocre-dim);
  margin-bottom:.5rem;
}

.nav-overlay-links{
  display:flex;flex-direction:column;align-items:center;gap:1rem;
}

.nav-overlay-links a{
  font-family:var(--fell);font-style:italic;
  font-size:clamp(1.4rem,4.5vw,2rem);
  color:rgba(215,204,200,.8);
  letter-spacing:.03em;
  transition:color .3s,transform .3s;
}

.nav-overlay-links a:hover{color:var(--ocre);transform:translateX(6px);}

.nav-overlay-sign{
  font-family:var(--fell);font-style:italic;
  font-size:1.2rem;color:rgba(193,154,107,.3);
  letter-spacing:.2em;margin-top:.5rem;
}

/* ══════════════════════════════════════════════
   HERO
══════════════════════════════════════════════ */
.hero{
  position:relative;
  height:100vh;min-height:600px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}

.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(165deg,rgba(22,13,6,.15) 0%,rgba(22,13,6,.6) 45%,rgba(22,13,6,.95) 100%),
    url('../img/principal.jpg') center/cover no-repeat;
  transform:scale(1.04);
  animation:heroBgZoom 18s ease-in-out infinite alternate;
}

@keyframes heroBgZoom{
  from{transform:scale(1.04);}
  to  {transform:scale(1.0);}
}

/* Partículas */
.hero-particles{
  position:absolute;inset:0;pointer-events:none;z-index:1;
}

/* Líneas verticales decorativas */
.hero-line{
  position:absolute;top:0;bottom:0;width:1px;z-index:1;
  background:linear-gradient(to bottom,transparent 0%,var(--ocre-dim) 25%,var(--ocre-dim) 75%,transparent 100%);
}

.hero-line-left {left:8%;}
.hero-line-right{right:8%;}

/* Contenido */
.hero-content{
  position:relative;z-index:2;
  text-align:center;
  padding:0 1.5rem;
  max-width:950px;
}

.hero-eyebrow{
  display:inline-flex;align-items:center;gap:1.2rem;
  font-family:var(--cinzel);font-size:.6rem;
  letter-spacing:.48em;text-transform:uppercase;
  color:var(--ocre);margin-bottom:1.8rem;
  animation:fadeSlideUp .9s .3s ease both;
}

.hero-eyebrow-line{
  display:block;width:32px;height:1px;
  background:var(--ocre);flex-shrink:0;
}

.hero-title{
  display:block;line-height:.88;
  margin-bottom:1.2rem;
  animation:fadeSlideUp .9s .5s ease both;
}

.hero-title-top{
  display:block;
  font-family:var(--cinzel);
  font-size:clamp(2.2rem,7vw,5.5rem);
  font-weight:400;
  letter-spacing:.35em;
  color:rgba(253,250,248,.75);
  text-transform:uppercase;
  margin-bottom:.15em;
}

.hero-title-main{
  display:block;
  font-family:var(--fell);
  font-style:italic;
  font-size:clamp(5rem,16vw,13rem);
  color:var(--blanco);
  letter-spacing:-.02em;
  text-shadow:0 8px 60px rgba(0,0,0,.5);
  line-height:.85;
}

.hero-subtitle{
  font-family:var(--serif);font-weight:300;
  font-size:clamp(.85rem,2vw,1.1rem);
  color:var(--arena-dim);
  letter-spacing:.1em;text-transform:uppercase;
  line-height:2;margin-bottom:2.8rem;
  animation:fadeSlideUp .9s .7s ease both;
}

.hero-subtitle em{
  display:block;font-style:italic;
  font-family:var(--fell);font-size:1.1em;
  text-transform:none;letter-spacing:.03em;
  color:rgba(215,204,200,.45);margin-top:.3rem;
}

.hero-actions{
  display:flex;align-items:center;justify-content:center;
  gap:1.2rem;flex-wrap:wrap;
  animation:fadeSlideUp .9s .9s ease both;
}

/* Botones globales */
.btn-primary{
  display:inline-flex;align-items:center;gap:.8rem;
  font-family:var(--cinzel);font-size:.6rem;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--tinta);
  background:var(--ocre);
  padding:1rem 2.4rem;
  border:none;cursor:pointer;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:background .3s,transform .3s var(--ease),box-shadow .3s;
  box-shadow:0 4px 20px rgba(193,154,107,.3);
}

.btn-primary:hover{
  background:var(--ocre-light);
  transform:translateY(-3px);
  box-shadow:0 8px 32px rgba(193,154,107,.4);
}

.btn-ghost{
  display:inline-flex;align-items:center;gap:.8rem;
  font-family:var(--cinzel);font-size:.6rem;
  letter-spacing:.28em;text-transform:uppercase;
  color:var(--ocre);
  border:1px solid rgba(193,154,107,.35);
  padding:1rem 2.4rem;
  transition:all .3s var(--ease);
}

.btn-ghost:hover{
  background:rgba(193,154,107,.1);
  border-color:var(--ocre);
  transform:translateY(-2px);
}

/* Estadísticas hero */
.hero-stats{
  position:absolute;bottom:4rem;left:50%;transform:translateX(-50%);
  z-index:2;
  display:flex;align-items:center;gap:0;
  background:rgba(16,8,3,.65);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(193,154,107,.15);
  animation:fadeSlideUp .9s 1.1s ease both;
}

.hero-stat{
  padding:1rem 2.2rem;text-align:center;
}

.hero-stat-num{
  display:block;
  font-family:var(--fell);font-style:italic;
  font-size:clamp(1.6rem,3.5vw,2.4rem);
  color:var(--ocre);line-height:1;
}

.hero-stat-label{
  display:block;
  font-family:var(--cinzel);font-size:.48rem;
  letter-spacing:.28em;text-transform:uppercase;
  color:rgba(215,204,200,.4);margin-top:.25rem;
}

.hero-stat-sep{
  width:1px;height:40px;
  background:rgba(193,154,107,.15);
  flex-shrink:0;
}

/* Scroll hint */
.hero-scroll-hint{
  position:absolute;left:2rem;bottom:2rem;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  font-family:var(--cinzel);font-size:.45rem;
  letter-spacing:.35em;text-transform:uppercase;
  color:rgba(193,154,107,.35);
  animation:fadeSlideUp .9s 1.3s ease both;
}

.hero-scroll-line{
  width:1px;height:44px;
  background:linear-gradient(to bottom,rgba(193,154,107,.35),transparent);
  animation:scrollDrop 2.4s ease-in-out infinite;
}

@keyframes scrollDrop{
  0%  {transform:scaleY(0);transform-origin:top;}
  50% {transform:scaleY(1);transform-origin:top;}
  51% {transform:scaleY(1);transform-origin:bottom;}
  100%{transform:scaleY(0);transform-origin:bottom;}
}

/* ══════════════════════════════════════════════
   CARRUSEL PRINCIPAL DE IMÁGENES
══════════════════════════════════════════════ */
.carousel-section{
  position:relative;
  height:clamp(260px,40vw,480px);
  overflow:hidden;
  border-top:1px solid rgba(193,154,107,.1);
  border-bottom:1px solid rgba(193,154,107,.1);
}

.carousel-track-wrap{
  width:100%;height:100%;overflow:hidden;
}

.carousel-track{
  display:flex;height:100%;
  transition:transform .65s var(--ease);
}

.carousel-slide{
  flex:0 0 clamp(260px,33.333vw,480px);
  height:100%;
  position:relative;overflow:hidden;
  border-right:1px solid rgba(193,154,107,.08);
}

.carousel-slide img{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  filter:sepia(18%) contrast(1.06) brightness(.92);
  transition:transform .6s var(--ease),filter .6s;
}

.carousel-slide:hover img{
  transform:scale(1.05);
  filter:sepia(6%) contrast(1.08) brightness(.98);
}

.carousel-slide-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(22,13,6,.85) 0%,transparent 55%);
  display:flex;align-items:flex-end;
  padding:1.2rem 1.4rem;
  opacity:0;transition:opacity .4s;
}

.carousel-slide:hover .carousel-slide-overlay{opacity:1;}

.carousel-slide-overlay span{
  font-family:var(--cinzel);font-size:.58rem;
  letter-spacing:.25em;text-transform:uppercase;
  color:var(--ocre-light);
}

.carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  z-index:10;
  width:44px;height:44px;
  background:rgba(16,8,3,.75);
  border:1px solid rgba(193,154,107,.25);
  color:var(--ocre-light);
  font-size:.9rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(8px);
  transition:background .3s,border-color .3s,transform .3s;
}

.carousel-btn:hover{
  background:rgba(193,154,107,.2);
  border-color:var(--ocre);
  transform:translateY(-50%) scale(1.08);
}

.carousel-prev{left:1rem;}
.carousel-next{right:1rem;}

.carousel-dots{
  position:absolute;bottom:1rem;left:50%;transform:translateX(-50%);
  display:flex;gap:.5rem;z-index:10;
}

.carousel-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(193,154,107,.3);
  cursor:pointer;transition:background .3s,transform .3s;
  border:none;
}

.carousel-dot.active{
  background:var(--ocre);
  transform:scale(1.3);
}

/* ══════════════════════════════════════════════
   SEPARADOR ORNAMENTAL
══════════════════════════════════════════════ */
.ornament{
  display:flex;align-items:center;gap:1.2rem;
  padding:3.5rem 2rem;
  max-width:1300px;margin:0 auto;
}

.ornament-line{
  flex:1;height:1px;
  background:linear-gradient(to right,transparent,rgba(193,154,107,.2),transparent);
}

.ornament-icon{
  font-size:.85rem;color:rgba(193,154,107,.35);
  width:36px;height:36px;
  border:1px solid rgba(193,154,107,.15);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}

/* ══════════════════════════════════════════════
   SECCIÓN: ENCABEZADOS COMUNES
══════════════════════════════════════════════ */
.section-tag{
  font-family:var(--cinzel);font-size:.56rem;
  letter-spacing:.4em;text-transform:uppercase;
  color:var(--ocre);margin-bottom:1rem;
  display:flex;align-items:center;gap:.8rem;
}

.section-tag::before{
  content:'';display:block;
  width:22px;height:1px;background:var(--ocre);
  flex-shrink:0;
}

.section-title{
  font-family:var(--fell);font-style:italic;
  font-size:clamp(2rem,4.5vw,3.4rem);
  color:var(--blanco);line-height:1.05;
}

.section-title em{
  font-style:normal;color:var(--ocre-light);
}

.section-header{
  text-align:center;margin-bottom:3.5rem;
}

.section-header .section-tag{
  justify-content:center;
}

.section-header .section-tag::before{display:none;}

/* ══════════════════════════════════════════════
   SALAS DEL MUSEO — grid uniforme
══════════════════════════════════════════════ */
.salas-section{
  padding:5rem 2rem 6rem;
  max-width:1440px;margin:0 auto;
}

.salas-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(193,154,107,.08);
  border:1px solid rgba(193,154,107,.08);
}

.sala-card{
  display:flex;flex-direction:column;
  background:rgba(28,22,14,.7);
  position:relative;overflow:hidden;
  transition:background .4s var(--ease);
  cursor:pointer;
}

.sala-card:hover{
  background:rgba(44,30,18,.9);
}

/* Imagen — altura fija igual en todas */
.sala-card-img{
  width:100%;height:220px;overflow:hidden;
  flex-shrink:0;position:relative;
}

.sala-card-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 30%,rgba(22,13,6,.9) 100%);
}

.sala-card-img img{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  filter:sepia(20%) contrast(1.05) brightness(.85);
  transition:transform .7s var(--ease),filter .7s;
}

.sala-card:hover .sala-card-img img{
  transform:scale(1.06);
  filter:sepia(8%) contrast(1.08) brightness(.95);
}

.sala-card-body{
  padding:1.8rem 1.8rem 2.2rem;
  display:flex;flex-direction:column;flex:1;
}

.sala-card-num{
  font-family:var(--cinzel);font-size:.48rem;
  letter-spacing:.38em;text-transform:uppercase;
  color:rgba(193,154,107,.4);
  margin-bottom:1rem;
  transition:color .3s;
}

.sala-card:hover .sala-card-num{color:var(--ocre);}

.sala-card-icon{
  font-size:1.6rem;color:var(--ocre);
  margin-bottom:1rem;
  transition:transform .4s var(--ease),color .3s;
}

.sala-card:hover .sala-card-icon{
  transform:translateY(-3px) scale(1.1);
  color:var(--ocre-light);
}

.sala-card-title{
  font-family:var(--fell);font-style:italic;
  font-size:clamp(1.25rem,2vw,1.6rem);
  color:var(--blanco);margin-bottom:.7rem;line-height:1.1;
}

.sala-card-desc{
  font-family:var(--serif);font-size:.9rem;font-weight:300;
  color:rgba(215,204,200,.5);line-height:1.8;flex:1;
}

.sala-card-link{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--cinzel);font-size:.5rem;
  letter-spacing:.25em;text-transform:uppercase;
  color:var(--ocre);margin-top:1.5rem;
  border-bottom:1px solid transparent;
  transition:border-color .3s,gap .3s;
}

.sala-card:hover .sala-card-link{
  border-bottom-color:var(--ocre);
  gap:.9rem;
}

.sala-card-link i{
  font-size:.6rem;
  transition:transform .3s var(--ease);
}

.sala-card:hover .sala-card-link i{transform:translateX(4px);}

/* Barra inferior animada */
.sala-card-bar{
  position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--ocre),transparent);
  transform:scaleX(0);transition:transform .5s var(--ease);
  transform-origin:left;
}

.sala-card:hover .sala-card-bar{transform:scaleX(1);}

/* ══════════════════════════════════════════════
   FRANJA BIOGRÁFICA
══════════════════════════════════════════════ */
.bio-franja{
  background:
    linear-gradient(135deg,rgba(78,52,46,.18) 0%,rgba(22,13,6,.6) 100%);
  border-top:1px solid rgba(193,154,107,.1);
  border-bottom:1px solid rgba(193,154,107,.1);
  padding:7rem 2rem;
}

.bio-franja-inner{
  max-width:1200px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.15fr;
  gap:6rem;align-items:center;
}

/* Imagen con frame decorativo */
.bio-franja-img{position:relative;}

.bio-franja-img-frame{
  position:relative;overflow:hidden;
}

.bio-franja-img-frame img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;object-position:top;
  filter:sepia(12%) contrast(1.06) brightness(.94);
  display:block;
}

/* Marco decorativo offset */
.bio-franja-img-frame::before{
  content:'';position:absolute;
  inset:18px -18px -18px 18px;
  border:1px solid rgba(193,154,107,.2);
  z-index:-1;pointer-events:none;
}

/* Sombra inferior */
.bio-franja-img-frame::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(22,13,6,.65) 0%,transparent 45%);
}

/* Badge año */
.bio-franja-badge{
  position:absolute;bottom:-1.5rem;right:-1rem;
  background:var(--marron);
  border:1px solid rgba(193,154,107,.25);
  padding:.9rem 1.3rem;
  text-align:center;
  box-shadow:0 8px 32px rgba(0,0,0,.5);
}

.bio-franja-badge-num{
  display:block;
  font-family:var(--fell);font-style:italic;
  font-size:2rem;color:var(--ocre);line-height:1;
}

.bio-franja-badge-text{
  display:block;
  font-family:var(--cinzel);font-size:.46rem;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(215,204,200,.45);margin-top:.2rem;
}

/* Texto biográfico */
.bio-franja-text .section-title{margin-bottom:0;}

.bio-franja-divider{
  width:48px;height:1px;
  background:var(--ocre);
  margin:1.8rem 0;
  position:relative;
}

.bio-franja-divider::after{
  content:'';position:absolute;
  left:56px;top:0;
  width:8px;height:1px;background:rgba(193,154,107,.35);
}

.bio-franja-text p{
  font-family:var(--serif);font-size:1.06rem;font-weight:300;
  color:rgba(215,204,200,.7);line-height:1.95;margin-bottom:1.2rem;
}

.bio-franja-text p strong{color:var(--ocre-light);font-weight:400;}

.bio-franja-tags{
  display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 2rem;
}

.bio-franja-tags span{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--cinzel);font-size:.5rem;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(193,154,107,.6);
  border:1px solid rgba(193,154,107,.18);
  padding:.4rem .9rem;
  transition:border-color .3s,color .3s;
}

.bio-franja-tags span:hover{
  border-color:var(--ocre);color:var(--ocre);
}

.bio-franja-tags i{font-size:.7rem;color:var(--ocre);}

/* ══════════════════════════════════════════════
   SECCIÓN ÁLBUMES — CARRUSEL
══════════════════════════════════════════════ */
.albums-section{
  padding:6rem 2rem 5rem;
  background:rgba(0,0,0,.15);
  border-top:1px solid rgba(193,154,107,.06);
}

.albums-carousel-wrap{
  position:relative;
  margin-top:3rem;
  overflow:hidden;
  padding:0 3.5rem;
}

.albums-carousel{
  display:flex;gap:1.5rem;
  transition:transform .55s var(--ease);
}

/* Tarjeta de álbum — todas el mismo tamaño */
.album-card{
  flex:0 0 calc(16.666% - 1.25rem);
  min-width:160px;
  display:flex;flex-direction:column;
  cursor:pointer;
  transition:transform .35s var(--ease);
}

.album-card:hover{transform:translateY(-6px);}

.album-cover{
  position:relative;overflow:hidden;
  aspect-ratio:1/1;
  border:1px solid rgba(193,154,107,.1);
  background:var(--marron);
}

.album-cover img{
  width:100%;height:100%;
  object-fit:cover;
  filter:sepia(15%) contrast(1.05);
  transition:transform .6s var(--ease),filter .6s;
}

.album-card:hover .album-cover img{
  transform:scale(1.06);
  filter:sepia(5%) contrast(1.08);
}

.album-play{
  position:absolute;inset:0;
  background:rgba(22,13,6,.5);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .35s;
}

.album-play i{
  font-size:1.6rem;color:var(--ocre-light);
  filter:drop-shadow(0 2px 8px rgba(0,0,0,.6));
}

.album-card:hover .album-play{opacity:1;}

.album-info{
  padding:.8rem .4rem .4rem;
}

.album-year{
  display:block;
  font-family:var(--cinzel);font-size:.48rem;
  letter-spacing:.25em;text-transform:uppercase;
  color:var(--ocre);margin-bottom:.25rem;
}

.album-title{
  font-family:var(--fell);font-style:italic;
  font-size:.95rem;color:var(--arena);
  line-height:1.2;
}

/* Botones carrusel álbumes */
.albums-btn{
  position:absolute;top:40%;transform:translateY(-50%);
  z-index:10;
  width:40px;height:40px;
  background:rgba(16,8,3,.8);
  border:1px solid rgba(193,154,107,.2);
  color:var(--ocre-light);font-size:.85rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .3s,border-color .3s,transform .3s;
  backdrop-filter:blur(8px);
}

.albums-btn:hover{
  background:rgba(193,154,107,.15);
  border-color:var(--ocre);
  transform:translateY(-50%) scale(1.1);
}

.albums-prev{left:.2rem;}
.albums-next{right:.2rem;}

.albums-footer{
  text-align:center;margin-top:3rem;
}

/* ══════════════════════════════════════════════
   ANIMACIÓN SCROLL REVEAL
══════════════════════════════════════════════ */
.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .75s ease,transform .75s ease;
}

.reveal.visible{
  opacity:1;transform:translateY(0);
}

@keyframes fadeSlideUp{
  from{opacity:0;transform:translateY(22px);}
  to  {opacity:1;transform:translateY(0);}
}

/* ══════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════ */
footer{
  background:var(--marron-deep);
  border-top:1px solid rgba(193,154,107,.1);
  padding:5rem 2rem 0;
  position:relative;
  overflow:hidden;
}

/* Resplandor decorativo */
.footer-glow{
  position:absolute;
  top:-120px;left:50%;transform:translateX(-50%);
  width:600px;height:200px;
  background:radial-gradient(ellipse,rgba(193,154,107,.06) 0%,transparent 70%);
  pointer-events:none;
}

.footer-inner{
  max-width:1200px;margin:0 auto;
}

.footer-top{
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr;
  gap:4rem;
  padding-bottom:3rem;
  border-bottom:1px solid rgba(193,154,107,.1);
  margin-bottom:0;
}

.footer-logo{
  height:52px;width:52px;object-fit:contain;
  border-radius:50%;border:1px solid var(--ocre-dim);
  margin-bottom:1rem;
}

.footer-brand{
  font-family:var(--fell);font-style:italic;
  font-size:clamp(1.8rem,3.5vw,2.6rem);
  color:var(--ocre-light);line-height:1;margin-bottom:.7rem;
}

.footer-tagline{
  font-family:var(--cinzel);font-size:.5rem;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(215,204,200,.28);line-height:2;max-width:340px;
}

.footer-nav-title{
  font-family:var(--cinzel);font-size:.56rem;
  letter-spacing:.3em;text-transform:uppercase;
  color:rgba(193,154,107,.5);margin-bottom:1.4rem;
}

.footer-nav{
  display:flex;flex-direction:column;gap:.75rem;
}

.footer-nav a{
  font-family:var(--cinzel);font-size:.52rem;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgba(215,204,200,.32);
  transition:color .3s,transform .3s;
  display:inline-block;
}

.footer-nav a:hover{color:var(--ocre);transform:translateX(4px);}

/* Footer bottom — EASM centrado */
.footer-bottom{
  display:flex;flex-direction:column;
  align-items:center;
  text-align:center;
  padding:2.5rem 0 7rem;/* 7rem deja espacio al botón música */
  gap:1.2rem;
}

.footer-copy{
  font-family:var(--serif);font-size:.78rem;
  color:rgba(215,204,200,.25);letter-spacing:.07em;
}

/* EASM con líneas decorativas */
.footer-sign{
  display:flex;align-items:center;gap:1.6rem;
  font-family:var(--fell);font-style:italic;
  font-size:clamp(2rem,5vw,3.2rem);
  color:rgba(193,154,107,.38);
  letter-spacing:.2em;line-height:1;
}

.footer-sign-line{
  display:block;
  width:clamp(30px,6vw,70px);height:1px;
  background:linear-gradient(to right,transparent,rgba(193,154,107,.3));
}

.footer-sign::after + .footer-sign-line{
  background:linear-gradient(to left,transparent,rgba(193,154,107,.3));
}

/* ══════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════ */

/* 1280px */
@media(max-width:1280px){
  .nav-links{gap:1rem;}
  .nav-links a{font-size:.5rem;}
  .salas-grid{grid-template-columns:repeat(2,1fr);}
  .album-card{flex-basis:calc(25% - 1.1rem);}
}

/* 1024px */
@media(max-width:1024px){
  .nav-links{display:none;}
  .nav-ham{display:flex;}
  .hero-line{display:none;}
  .bio-franja-inner{grid-template-columns:1fr;gap:4rem;}
  .bio-franja-img{max-width:480px;margin:0 auto;}
  .bio-franja-img-frame img{aspect-ratio:16/9;object-position:center 20%;}
  .bio-franja-img-frame::before{display:none;}
  .bio-franja-badge{bottom:-1rem;right:0;}
  .footer-top{grid-template-columns:1fr 1fr;gap:2.5rem;}
  .footer-brand-col{grid-column:1/-1;}
  .album-card{flex-basis:calc(33.333% - 1rem);}
}

/* 768px */
@media(max-width:768px){
  .salas-grid{grid-template-columns:repeat(2,1fr);}
  .hero-stats{
    position:relative;bottom:auto;left:auto;transform:none;
    margin-top:2rem;width:100%;
  }
  .hero-content{padding-bottom:1rem;}
  .hero{height:auto;min-height:100svh;padding-top:5rem;align-items:flex-start;padding-bottom:3rem;}
  .hero-bg{position:fixed;}
  .carousel-slide{flex-basis:50%;}
  .albums-carousel-wrap{padding:0 2.5rem;}
  .album-card{flex-basis:calc(50% - .75rem);}
  .footer-top{grid-template-columns:1fr;}
  .footer-brand-col{grid-column:auto;}
}

/* 480px */
@media(max-width:480px){
  .nav-inner{padding:.8rem 1.2rem;}
  .salas-grid{grid-template-columns:1fr;}
  .sala-card-img{height:180px;}
  .hero-title-main{font-size:clamp(3.5rem,18vw,7rem);}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .btn-primary,.btn-ghost{justify-content:center;padding:.9rem 1.5rem;}
  .hero-stats{flex-direction:column;gap:0;}
  .hero-stat-sep{width:60px;height:1px;}
  .hero-stat{padding:.8rem 1.5rem;}
  .carousel-slide{flex-basis:80%;}
  .carousel-section{height:220px;}
  .ornament{padding:2rem 1.2rem;}
  .salas-section,.albums-section{padding:4rem 1.2rem;}
  .bio-franja{padding:4rem 1.2rem;}
  .album-card{flex-basis:calc(50% - .75rem);}
  footer{padding:4rem 1.2rem 0;}
  .footer-bottom{padding:2rem 0 8rem;}
  .audio-control{bottom:1.5rem;right:1.5rem;}
}
