@font-face{
  font-family:'Inter';
  src:url('InterVariable.ttf') format('truetype');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Inter';
  src:url('InterVariable-Italic.ttf') format('truetype');
  font-weight:100 900;
  font-style:italic;
  font-display:swap;
}
:root{
  --bg:#d3d3d6;
  --ink:#111111;
  --muted:rgba(17,17,17,.74);
  --line:rgba(17,17,17,.14);
  --paper:rgba(255,255,255,.34);
  --paper-strong:rgba(255,255,255,.5);
  --paper-mobile:rgba(255,255,255,.6);
}
*{box-sizing:border-box}
*{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
html,body{
  margin:0;
  min-height:100%;
  font-family:'Inter',Helvetica,Arial,sans-serif;
  font-weight:350;
  color:var(--ink);
  background:var(--bg);
}
body{
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:url('fondo_web.webp');
  background-size:clamp(720px, 86vw, 1320px) auto;
  background-position:center bottom;
  background-repeat:no-repeat;
  z-index:0;
  pointer-events:none;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  background:transparent;
  z-index:-1;
  pointer-events:none;
}
.site-header,
.page,
.footer{
  position:relative;
  z-index:2;
}
a{color:inherit;text-decoration:none}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem 1rem;z-index:10}
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px clamp(16px,4vw,44px);
  z-index:20;
}
.brand{
  display:inline-flex;
  align-items:center;
  width:min(34vw, 420px);
  min-width:190px;
}
.brand img{display:block;width:100%;height:auto}
.menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,17,17,.16);
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  border-radius:999px;
  padding:.7rem 1rem;
  font:inherit;
  font-weight:500;
  letter-spacing:.02em;
  color:var(--ink);
}
.main-nav{
  position:fixed;
  left:16px;
  right:16px;
  top:84px;
  display:none;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  padding:16px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  box-shadow:0 16px 50px rgba(0,0,0,.12);
}
.main-nav.open{display:flex}
.main-nav a{
  position:relative;
  display:block;
  padding:12px 4px;
  font-size:.95rem;
  font-weight:500;
  letter-spacing:.03em;
  text-transform:uppercase;
  border-bottom:1px solid rgba(17,17,17,.08);
}
.main-nav a:last-child{border-bottom:0}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:8px;
  width:36px;
  height:2px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:.18s;
}
.main-nav a:hover::after,.main-nav a.active::after{transform:scaleX(1)}
.page{
  min-height:100vh;
  padding:124px clamp(16px,4vw,44px) 28px;
  display:grid;
  align-items:start;
}
.home-page{
  align-items:start;
  padding-top:122px;
  padding-bottom:34vh;
}
.hero{
  max-width:560px;
  padding:18px 0 0;
}
.kicker{
  margin:0 0 14px;
  font-size:.78rem;
  font-weight:520;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
}
.title{
  margin:0 0 18px;
  font-size:clamp(2.6rem,11vw,7rem);
  line-height:.9;
  letter-spacing:-.075em;
  text-transform:uppercase;
}
.home-title{
  font-size:clamp(2rem,7.4vw,4.75rem);
  line-height:.95;
  max-width:9ch;
}
.quote-ref{
  margin:.55rem 0 0;
  font-size:clamp(.82rem,2.2vw,.98rem);
  line-height:1.35;
  font-weight:350;
  color:var(--muted);
}
.lead{
  max-width:34rem;
  margin:0;
  font-size:clamp(1rem,3.2vw,1.2rem);
  line-height:1.45;
  font-weight:400;
}
.button-row{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  border:2px solid var(--ink);
  border-radius:999px;
  padding:13px 20px;
  font-weight:520;
  text-transform:uppercase;
  background:var(--ink);
  color:#fff;
  letter-spacing:.04em;
  transition:.18s;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.btn.secondary{background:rgba(255,255,255,.45);color:var(--ink)}
.content-card{
  width:min(100%, 980px);
  background:var(--paper);
  backdrop-filter:blur(10px);
  border:0;
  border-radius:24px;
  padding:clamp(20px,4.2vw,44px);
  box-shadow:0 20px 60px rgba(0,0,0,.08);
}
.grid{display:grid;grid-template-columns:1fr;gap:14px}
.tile{
  border:0;
  border-radius:20px;
  padding:20px;
  background:var(--paper-strong);
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.tile h2,.tile h3{
  margin:0;
  font-size:clamp(1.35rem,5vw,2.2rem);
  letter-spacing:-.05em;
  text-transform:uppercase;
}
.tile p{margin:14px 0 0;color:var(--muted);font-weight:400;line-height:1.38}
.list{display:grid;gap:10px;margin-top:20px}
.list > a,.list > div{
  border-top:1px solid var(--line);
  padding:15px 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  font-weight:520;
  text-transform:uppercase;
}
.list span{color:var(--muted);font-weight:450;text-transform:none}
.form{display:grid;gap:14px;max-width:680px}
.form input,.form textarea{
  width:100%;
  padding:15px 16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.82);
  font:inherit;
  font-weight:400;
}
.form textarea{min-height:150px;resize:vertical}
.footer{
  padding:18px clamp(16px,4vw,44px) 28px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  font-weight:500;
  font-size:.82rem;
  text-transform:uppercase;
}
.social{display:flex;gap:14px;flex-wrap:wrap}
@media(min-width:700px){
  .page{padding-top:142px;padding-bottom:42px}
  .home-page{padding-top:156px;padding-bottom:24vh}
  .button-row .btn{min-width:180px}
  .list > a,.list > div{flex-direction:row;justify-content:space-between;align-items:center;gap:20px}
  .footer{flex-direction:row;justify-content:space-between;align-items:center}
}
@media(min-width:901px){
  .site-header{align-items:flex-start;padding-top:22px;padding-bottom:16px}
  .menu-toggle{display:none}
  .main-nav{
    position:static;
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:clamp(14px,2vw,30px);
    padding:12px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.22);
    box-shadow:none;
  }
  .main-nav a{
    padding:0;
    border-bottom:0;
    font-size:clamp(.78rem,1.1vw,1rem);
  }
  .main-nav a::after{left:0;right:0;bottom:-4px;width:auto}
  .page{padding:166px clamp(18px,4vw,54px) 64px;align-items:end}
  .home-page{padding-top:182px;padding-bottom:90px;align-items:start}
  .hero{padding-top:14px}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer{
    position:relative;
    left:0;
    right:0;
    bottom:0;
    padding-top:14px;
    padding-bottom:16px;
    background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.18));
  }
}
@media(min-width:521px) and (max-width:900px){
  body::before{background-size:106vw auto;background-position:center bottom}
}
@media(min-width:1400px){
  body::before{background-size:clamp(980px, 74vw, 1480px) auto}
}
@media(max-width:520px){
  body::before{background-size:118vw auto;background-position:center bottom}
  .brand{width:min(56vw,260px);min-width:160px}
  .home-page{padding-bottom:44vh}
  .hero{
    max-width:none;
    background:var(--paper-mobile);
    backdrop-filter:blur(8px);
    border:0;
    border-radius:22px;
    padding:18px;
  }
  .button-row{flex-direction:column}
  .button-row .btn{width:100%}
}

/* Ajustes solicitados */
.brand,
.menu-toggle{
  position:relative;
  z-index:50;
}

.page{
  padding-bottom:130px;
}
.home-page{
  padding-bottom:170px;
}

.footer{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:20;
  padding:14px clamp(16px,4vw,44px) calc(16px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(211,211,214,0),rgba(211,211,214,.52));
  backdrop-filter:blur(8px);
}

.home-hero{
  opacity:0;
  transform:translateY(14px);
  pointer-events:none;
  background:rgba(255,255,255,.22);
  backdrop-filter:blur(5px);
  border:0;
  border-radius:24px;
  padding:clamp(18px,3vw,30px);
  box-shadow:0 18px 55px rgba(0,0,0,.06);
  animation:homeHeroReveal .7s ease 5s forwards;
}

@keyframes homeHeroReveal{
  to{
    opacity:1;
    transform:translateY(0);
    pointer-events:auto;
  }
}

@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .site-header{z-index:40}
  .main-nav{
    position:fixed;
    inset:0;
    top:0;
    left:0;
    right:0;
    width:100vw;
    min-height:100vh;
    z-index:30;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:clamp(12px,3vh,24px);
    padding:clamp(116px,18vh,150px) clamp(24px,7vw,64px) 56px;
    background:rgba(211,211,214,.68);
    backdrop-filter:blur(18px);
    border:0;
    border-radius:0;
    box-shadow:none;
    opacity:0;
    visibility:hidden;
    transform:translateY(-10px);
    transition:opacity .25s ease, visibility .25s ease, transform .25s ease;
    pointer-events:none;
  }
  .main-nav.open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
  .main-nav a{
    width:min(100%,520px);
    padding:clamp(14px,3vh,22px) 0;
    text-align:center;
    font-size:clamp(1.45rem,7vw,3rem);
    letter-spacing:-.04em;
    border-bottom:1px solid rgba(17,17,17,.14);
  }
  .main-nav a:last-child{border-bottom:0}
  .main-nav a::after{
    left:50%;
    bottom:8px;
    width:56px;
    transform:translateX(-50%) scaleX(0);
    transform-origin:center;
  }
  .main-nav a:hover::after,
  .main-nav a.active::after{
    transform:translateX(-50%) scaleX(1);
  }
}

@media(min-width:901px){
  .footer{
    position:fixed;
    padding-top:14px;
    padding-bottom:16px;
  }
  .page{padding-bottom:130px}
  .home-page{padding-bottom:150px}
}

@media(max-width:520px){
  .home-page{padding-bottom:190px}
  .home-hero{
    max-width:none;
    background:rgba(255,255,255,.24);
    backdrop-filter:blur(5px);
    border:0;
    border-radius:22px;
    padding:18px;
  }
}

/* Ajustes finales: menu movil compacto, fondo centrado y tarjetas visibles */
body::before{
  background-position:center center;
}

@media(min-width:521px) and (max-width:900px){
  body::before{
    background-position:center center;
  }
}

@media(max-width:520px){
  body::before{
    background-position:center center;
  }
}

@media(max-width:900px){
  .main-nav{
    justify-content:center;
    gap:clamp(4px,1.1vh,10px);
    padding:clamp(92px,15vh,126px) clamp(22px,7vw,56px) clamp(34px,7vh,52px);
  }
  .main-nav a{
    padding:clamp(7px,1.5vh,12px) 0;
    font-size:clamp(1.12rem,5.8vw,2.15rem);
    line-height:.98;
  }
  .main-nav a::after{
    bottom:3px;
  }
}

@media(max-width:900px) and (max-height:620px){
  .main-nav{
    justify-content:flex-start;
    padding-top:86px;
    gap:2px;
    overflow-y:auto;
  }
  .main-nav a{
    padding:7px 0;
    font-size:clamp(1rem,5vw,1.55rem);
  }
}

@media(min-width:901px){
  .page{
    min-height:100dvh;
    align-items:center;
    padding-top:clamp(118px,16vh,166px);
    padding-bottom:clamp(86px,13vh,130px);
  }
  .home-page{
    align-items:center;
    padding-top:clamp(126px,17vh,182px);
    padding-bottom:clamp(92px,14vh,150px);
  }
  .content-card,
  .home-hero{
    max-height:calc(100dvh - 230px);
    overflow:auto;
  }
  .content-card{
    padding:clamp(20px,3.2vw,38px);
  }
  .title{
    font-size:clamp(2.3rem, min(8.5vw, 11vh), 7rem);
  }
  .home-title{
    font-size:clamp(2rem, min(6.6vw, 8.4vh), 4.75rem);
  }
  .lead{
    font-size:clamp(.95rem, min(1.25vw, 2.2vh), 1.2rem);
  }
  .tile{
    min-height:clamp(118px,18vh,150px);
  }
}

@media(min-width:901px) and (max-height:720px){
  .site-header{
    padding-top:14px;
    padding-bottom:10px;
  }
  .brand{
    width:min(28vw, 340px);
    min-width:170px;
  }
  .main-nav{
    padding:9px 16px;
  }
  .page{
    padding-top:104px;
    padding-bottom:84px;
  }
  .home-page{
    padding-top:108px;
    padding-bottom:88px;
  }
  .content-card,
  .home-hero{
    max-height:calc(100dvh - 190px);
  }
  .button-row{
    margin-top:16px;
  }
  .btn{
    min-height:42px;
    padding:10px 16px;
  }
  .tile{
    min-height:104px;
    padding:16px;
  }
  .footer{
    padding-top:10px;
    padding-bottom:10px;
  }
}

/* Ajuste extra responsive: menu mas compacto y figuras centradas sobre el area visible */
@media(max-width:900px){
  .site-header{
    padding-top:12px;
    padding-bottom:10px;
  }
  .brand{
    width:min(48vw,220px);
    min-width:138px;
  }
  .menu-toggle{
    padding:.48rem .72rem;
    font-size:.86rem;
  }
  .main-nav{
    justify-content:center;
    gap:0;
    padding:74px clamp(18px,6vw,44px) 78px;
  }
  .main-nav a{
    width:min(100%,360px);
    padding:6px 0;
    font-size:clamp(.95rem,4.85vw,1.55rem);
    line-height:.9;
    letter-spacing:-.045em;
    border-bottom:1px solid rgba(17,17,17,.1);
  }
  .main-nav a::after{
    bottom:1px;
    width:42px;
    height:1px;
  }
  body::before{
    background-size:min(134vw,860px) auto;
    background-position:center calc(50% - 58px);
  }
}

@media(max-width:520px){
  body::before{
    background-size:min(160vw,760px) auto;
    background-position:center calc(50% - 72px);
  }
  .brand{
    width:min(48vw,205px);
    min-width:132px;
  }
  .main-nav{
    padding-top:66px;
    padding-bottom:74px;
  }
  .main-nav a{
    width:min(100%,320px);
    padding:5px 0;
    font-size:clamp(.9rem,4.7vw,1.34rem);
    line-height:.88;
  }
}

@media(max-width:900px) and (max-height:740px){
  .main-nav{
    justify-content:center;
    padding-top:58px;
    padding-bottom:64px;
    gap:0;
  }
  .main-nav a{
    padding:4px 0;
    font-size:clamp(.82rem,4.2vw,1.18rem);
    line-height:.84;
  }
}

@media(max-width:900px) and (max-height:620px){
  .main-nav{
    justify-content:center;
    padding-top:52px;
    padding-bottom:56px;
    overflow:hidden;
  }
  .main-nav a{
    padding:3px 0;
    font-size:clamp(.76rem,3.8vw,1rem);
  }
}


/* Ajuste solicitado: menu responsive menos compacto, manteniendo cabida en movil */
@media(max-width:900px){
  .main-nav{
    gap:clamp(3px,.8vh,8px);
    padding:72px clamp(20px,6.5vw,48px) 76px;
  }
  .main-nav a{
    width:min(100%,420px);
    padding:8px 0;
    font-size:clamp(1.08rem,5.2vw,1.74rem);
    line-height:.96;
  }
}

@media(max-width:520px){
  .main-nav{
    padding-top:68px;
    padding-bottom:74px;
  }
  .main-nav a{
    width:min(100%,360px);
    padding:7px 0;
    font-size:clamp(1.02rem,5.15vw,1.48rem);
    line-height:.94;
  }
}

@media(max-width:900px) and (max-height:740px){
  .main-nav{
    gap:2px;
    padding-top:62px;
    padding-bottom:64px;
  }
  .main-nav a{
    padding:6px 0;
    font-size:clamp(.95rem,4.55vw,1.32rem);
    line-height:.9;
  }
}

@media(max-width:900px) and (max-height:620px){
  .main-nav{
    gap:0;
    padding-top:54px;
    padding-bottom:56px;
  }
  .main-nav a{
    padding:4px 0;
    font-size:clamp(.86rem,4vw,1.08rem);
    line-height:.86;
  }
}


/* Ajuste responsive solicitado: menu con mas separacion, sin ocupar toda la pantalla */
@media(max-width:900px){
  .main-nav{
    left:50%;
    right:auto;
    top:clamp(88px,12vh,112px);
    bottom:clamp(78px,10vh,104px);
    width:min(86vw,420px);
    min-height:auto;
    height:auto;
    justify-content:center;
    align-items:center;
    gap:clamp(14px,2.4vh,28px);
    padding:clamp(22px,4vh,38px) clamp(18px,5vw,32px);
    border-radius:28px;
    background:rgba(211,211,214,.58);
    border:1px solid rgba(17,17,17,.08);
    box-shadow:0 18px 55px rgba(0,0,0,.10);
    transform:translate(-50%,-8px);
    overflow:hidden;
  }
  .main-nav.open{
    transform:translate(-50%,0);
  }
  .main-nav a{
    width:min(100%,360px);
    padding:clamp(8px,1.5vh,14px) 0;
    font-size:clamp(1.04rem,5.15vw,1.52rem);
    line-height:1;
  }
}

@media(max-width:520px){
  .main-nav{
    width:min(84vw,360px);
    top:clamp(82px,10vh,96px);
    bottom:clamp(76px,9.5vh,96px);
    gap:clamp(13px,2.2vh,24px);
    padding:clamp(22px,3.8vh,34px) clamp(16px,5vw,28px);
  }
  .main-nav a{
    width:min(100%,320px);
    padding:clamp(8px,1.35vh,12px) 0;
    font-size:clamp(1.02rem,5.1vw,1.42rem);
  }
}

@media(max-width:900px) and (max-height:680px){
  .main-nav{
    top:74px;
    bottom:64px;
    gap:clamp(8px,1.5vh,16px);
    padding-top:18px;
    padding-bottom:18px;
  }
  .main-nav a{
    padding:6px 0;
    font-size:clamp(.92rem,4.4vw,1.18rem);
  }
}

/* Ajuste final solicitado: menu responsive a pantalla completa con mas separacion vertical */
@media(max-width:900px){
  .main-nav{
    position:fixed;
    inset:0;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    width:100vw;
    min-height:100svh;
    height:100svh;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:clamp(18px,3vh,34px);
    padding:clamp(112px,18vh,154px) clamp(24px,7vw,64px) clamp(88px,12vh,122px);
    border:0;
    border-radius:0;
    background:rgba(211,211,214,.68);
    backdrop-filter:blur(18px);
    box-shadow:none;
    overflow-y:auto;
    transform:translateY(-10px);
  }
  .main-nav.open{
    transform:translateY(0);
  }
  .main-nav a{
    width:min(100%,360px);
    padding:clamp(10px,1.8vh,16px) 0;
    font-size:clamp(1.12rem,5.4vw,1.68rem);
    line-height:1;
    text-align:center;
  }
}

@media(max-width:520px){
  .main-nav{
    gap:clamp(18px,2.8vh,30px);
    padding-top:clamp(104px,16vh,138px);
    padding-bottom:clamp(84px,11vh,112px);
  }
  .main-nav a{
    width:min(100%,330px);
    padding:clamp(10px,1.65vh,14px) 0;
    font-size:clamp(1.08rem,5.25vw,1.5rem);
  }
}

@media(max-width:900px) and (max-height:680px){
  .main-nav{
    gap:clamp(12px,2vh,20px);
    padding-top:86px;
    padding-bottom:72px;
  }
  .main-nav a{
    padding:8px 0;
    font-size:clamp(.98rem,4.6vw,1.24rem);
  }
}

/* Ajuste footer: logo imagen, color azul y una sola linea en responsive */
.footer{
  color:#0000ee;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between;
  flex-wrap:nowrap;
  gap:clamp(8px,2.2vw,18px);
}
.footer a,
.footer .social a{
  color:#0000ee;
}
.footer-mark{
  display:inline-flex;
  align-items:center;
  gap:.18em;
  flex:0 0 auto;
  line-height:1;
  white-space:nowrap;
}
.footer-logo{
  display:block;
  height:1.35em;
  width:auto;
}
.footer .social{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:clamp(8px,2.4vw,14px);
  min-width:0;
}
.footer .social a{
  white-space:nowrap;
}

@media(max-width:520px){
  .footer{
    font-size:clamp(.62rem,2.75vw,.74rem);
    padding-top:10px;
    padding-bottom:10px;
    gap:8px;
  }
  .footer-logo{
    height:1.38em;
  }
  .footer .social{
    gap:clamp(6px,2.2vw,10px);
  }
}

/* Ajuste footer: Bandcamp manteniendo una sola linea */
.footer,
.footer .social{
  flex-wrap:nowrap !important;
}
.footer .social{
  justify-content:flex-end;
}
@media(max-width:520px){
  .footer{
    font-size:clamp(.54rem,2.45vw,.68rem);
    gap:clamp(5px,1.8vw,8px);
  }
  .footer-mark{
    gap:3px;
  }
  .footer-logo{
    height:1.3em;
  }
  .footer .social{
    gap:clamp(4px,1.65vw,7px);
  }
}
@media(max-width:380px){
  .footer{
    font-size:clamp(.5rem,2.35vw,.6rem);
    padding-left:10px;
    padding-right:10px;
  }
  .footer-logo{
    height:1.22em;
  }
  .footer .social{
    gap:4px;
  }
}

/* BIO: carrusel de fotos adaptable sin solapes */
.bio-page{
  align-items:center;
  padding-top:clamp(96px,14vh,142px);
  padding-bottom:clamp(62px,10vh,96px);
}
.bio-card{
  width:min(100%, 1120px);
  max-height:calc(100svh - clamp(158px,24svh,230px));
  overflow:hidden;
  padding:clamp(14px,2.6vw,28px);
}
.bio-layout{
  display:grid;
  grid-template-columns:minmax(240px,.86fr) minmax(300px,1fr);
  align-items:center;
  gap:clamp(16px,3vw,34px);
  min-height:0;
}
.bio-carousel{
  order:1;
  display:flex;
  gap:12px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  min-width:0;
  border-radius:22px;
}
.bio-carousel::-webkit-scrollbar{display:none}
.bio-slide{
  flex:0 0 100%;
  scroll-snap-align:start;
  margin:0;
  height:clamp(220px,42svh,430px);
  border-radius:22px;
  overflow:hidden;
  background:rgba(255,255,255,.24);
}
.bio-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.bio-copy{
  order:2;
  min-width:0;
}
.bio-title{
  font-size:clamp(2.15rem, min(7vw, 9vh), 5.9rem);
  margin-bottom:clamp(10px,2vh,18px);
}
.bio-lead{
  max-width:42rem;
  font-size:clamp(.9rem, min(1.15vw, 2vh), 1.12rem);
  line-height:1.38;
}
.bio-actions{
  margin-top:clamp(14px,2.4vh,22px);
}
.bio-actions .btn{
  min-height:clamp(38px,6vh,48px);
  padding:clamp(9px,1.8vh,12px) clamp(14px,2vw,18px);
  font-size:clamp(.74rem, min(1vw, 1.8vh), .95rem);
}

@media(min-width:901px) and (max-height:720px){
  .bio-page{
    padding-top:96px;
    padding-bottom:72px;
  }
  .bio-card{
    max-height:calc(100svh - 168px);
    padding:16px;
  }
  .bio-layout{
    gap:18px;
  }
  .bio-slide{
    height:clamp(190px,38svh,310px);
  }
  .bio-title{
    font-size:clamp(2rem, min(6vw, 8vh), 4.6rem);
    margin-bottom:10px;
  }
  .bio-lead{
    font-size:clamp(.82rem, min(1vw, 1.8vh), .98rem);
    line-height:1.3;
  }
  .bio-actions{
    margin-top:12px;
  }
  .bio-actions .btn{
    min-height:36px;
    padding:8px 13px;
  }
}

@media(max-width:900px){
  .bio-page{
    align-items:center;
    padding-top:clamp(86px,13vh,118px);
    padding-bottom:clamp(56px,10vh,82px);
  }
  .bio-card{
    max-height:calc(100svh - clamp(142px,23svh,196px) - env(safe-area-inset-bottom));
    width:min(100%, 680px);
    padding:clamp(12px,3.2vw,20px);
  }
  .bio-layout{
    display:flex;
    flex-direction:column;
    gap:clamp(10px,2vh,16px);
  }
  .bio-copy{
    order:1;
    width:100%;
  }
  .bio-carousel{
    order:2;
    width:100%;
    gap:10px;
  }
  .bio-slide{
    flex-basis:88%;
    height:clamp(130px,30svh,260px);
  }
  .bio-title{
    font-size:clamp(1.9rem, min(10vw, 8vh), 3.4rem);
    margin-bottom:8px;
  }
  .bio-copy .kicker{
    margin-bottom:7px;
    font-size:clamp(.58rem,2.4vw,.74rem);
  }
  .bio-lead{
    max-width:none;
    font-size:clamp(.78rem, min(3.2vw, 1.85vh), .96rem);
    line-height:1.28;
  }
  .bio-actions{
    margin-top:clamp(10px,1.8vh,14px);
  }
  .bio-actions .btn{
    min-height:36px;
    padding:8px 13px;
    font-size:clamp(.66rem,2.7vw,.82rem);
  }
}

@media(max-width:520px){
  .bio-page{
    padding-top:84px;
    padding-bottom:calc(58px + env(safe-area-inset-bottom));
  }
  .bio-card{
    max-height:calc(100svh - 142px - env(safe-area-inset-bottom));
    padding:12px;
    border-radius:20px;
  }
  .bio-layout{
    gap:10px;
  }
  .bio-slide{
    flex-basis:90%;
    height:clamp(118px,27svh,210px);
    border-radius:18px;
  }
  .bio-title{
    font-size:clamp(1.75rem, min(12vw, 7vh), 2.7rem);
    margin-bottom:6px;
  }
  .bio-lead{
    font-size:clamp(.72rem, min(3.45vw, 1.78vh), .86rem);
    line-height:1.23;
  }
  .bio-actions{
    margin-top:9px;
  }
  .bio-actions .btn{
    width:auto;
    min-height:32px;
    padding:7px 11px;
    font-size:.62rem;
  }
}

@media(max-width:380px), (max-height:620px){
  .bio-card{
    padding:10px;
  }
  .bio-slide{
    height:clamp(98px,24svh,170px);
  }
  .bio-title{
    font-size:clamp(1.55rem, min(10vw, 6vh), 2.2rem);
  }
  .bio-copy .kicker{
    margin-bottom:5px;
    font-size:.56rem;
  }
  .bio-lead{
    font-size:clamp(.64rem, min(3vw, 1.65vh), .78rem);
    line-height:1.18;
  }
  .bio-actions{
    margin-top:7px;
  }
  .bio-actions .btn{
    min-height:29px;
    padding:6px 10px;
    font-size:.56rem;
  }
}

/* BIO: arrastre con raton en escritorio */
.bio-carousel{
  cursor:grab;
  user-select:none;
  touch-action:pan-x;
  overscroll-behavior-x:contain;
}
.bio-carousel.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
}
.bio-carousel img{
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
}

/* Correccion escritorio: cajas fuera del area visual del logo */
@media(min-width:901px){
  :root{
    --desktop-logo-safe-left:clamp(300px,38vw,510px);
    --desktop-side-pad:clamp(18px,4vw,54px);
  }
  .page{
    justify-items:start;
    align-items:center;
    padding-top:clamp(132px,18vh,188px);
    padding-bottom:clamp(92px,13vh,132px);
  }
  .home-page{
    justify-items:start;
    align-items:center;
    padding-top:clamp(140px,18vh,196px);
    padding-bottom:clamp(98px,14vh,150px);
  }
  .content-card,
  .home-hero{
    margin-left:var(--desktop-logo-safe-left);
    width:min(980px, calc(100vw - var(--desktop-logo-safe-left) - var(--desktop-side-pad) - 24px));
    max-width:calc(100vw - var(--desktop-logo-safe-left) - var(--desktop-side-pad) - 24px);
    max-height:calc(100dvh - 250px);
    overflow:auto;
  }
  .bio-card{
    width:min(1120px, calc(100vw - var(--desktop-logo-safe-left) - var(--desktop-side-pad) - 24px));
    max-width:calc(100vw - var(--desktop-logo-safe-left) - var(--desktop-side-pad) - 24px);
  }
  .escucha-card{
    width:min(1080px, calc(100vw - var(--desktop-logo-safe-left) - var(--desktop-side-pad) - 24px));
    max-width:calc(100vw - var(--desktop-logo-safe-left) - var(--desktop-side-pad) - 24px);
  }
}

@media(min-width:901px) and (max-width:1180px){
  .content-card,
  .home-hero,
  .bio-card,
  .escucha-card{
    padding:clamp(16px,2.4vw,26px);
  }
  .title{
    font-size:clamp(2rem, min(7vw, 8vh), 4.8rem);
  }
  .lead{
    font-size:clamp(.86rem, min(1.2vw, 1.8vh), 1rem);
    line-height:1.32;
  }
}

@media(min-width:901px) and (max-height:720px){
  :root{
    --desktop-logo-safe-left:clamp(280px,36vw,450px);
  }
  .page,
  .home-page{
    padding-top:118px;
    padding-bottom:82px;
  }
  .content-card,
  .home-hero,
  .bio-card,
  .escucha-card{
    max-height:calc(100dvh - 205px);
  }
}

/* Correccion final: cajas fijas bajo el header/logo, alineadas a la izquierda */
@media(min-width:901px){
  .page,
  .home-page,
  .bio-page,
  .escucha-page{
    position:fixed;
    top:calc(44px + min(13.4vw, 165px));
    left:clamp(18px,4vw,54px);
    right:clamp(18px,4vw,54px);
    bottom:clamp(64px,9vh,94px);
    min-height:auto;
    height:auto;
    padding:0;
    display:block;
    overflow:visible;
    z-index:2;
  }

  .content-card,
  .home-hero,
  .bio-card,
  .escucha-card{
    margin-left:0 !important;
    width:min(980px,100%) !important;
    max-width:100% !important;
    max-height:100% !important;
    overflow:auto;
  }

  .bio-card{
    width:min(1120px,100%) !important;
  }

  .escucha-card{
    width:min(1080px,100%) !important;
  }

  .content-card,
  .home-hero{
    padding:clamp(16px,2.6vw,34px);
  }

  .title{
    font-size:clamp(2.15rem, min(7.4vw, 8.8vh), 6rem);
  }

  .lead{
    font-size:clamp(.86rem, min(1.15vw, 1.9vh), 1.12rem);
    line-height:1.34;
  }
}

@media(min-width:901px) and (max-height:720px){
  .page,
  .home-page,
  .bio-page,
  .escucha-page{
    top:calc(34px + min(11vw, 132px));
    bottom:60px;
  }
  .content-card,
  .home-hero,
  .bio-card,
  .escucha-card{
    padding:clamp(14px,2vw,22px);
  }
  .title{
    font-size:clamp(1.9rem, min(6vw, 7.5vh), 4.6rem);
  }
}

@media(max-width:900px){
  .page,
  .home-page,
  .bio-page,
  .escucha-page{
    position:fixed;
    top:calc(32px + min(19vw, 86px));
    left:clamp(14px,4vw,28px);
    right:clamp(14px,4vw,28px);
    bottom:clamp(48px,8vh,70px);
    min-height:auto;
    height:auto;
    padding:0;
    display:block;
    overflow:visible;
    z-index:2;
  }

  .content-card,
  .home-hero,
  .bio-card,
  .escucha-card{
    margin-left:0 !important;
    width:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    overflow:auto;
  }
}

@media(max-width:520px){
  .page,
  .home-page,
  .bio-page,
  .escucha-page{
    top:calc(30px + min(19vw, 78px));
    bottom:52px;
  }
}

/* Ajuste final: posicion unica para todas las cajas entre paginas */
:root{
  --laf-content-left:clamp(18px,4vw,54px);
  --laf-content-right:clamp(18px,4vw,54px);
  --laf-content-top:calc(44px + min(13.4vw,165px));
  --laf-content-bottom:clamp(64px,9vh,94px);
}

.page,
.home-page,
.bio-page,
.escucha-page{
  position:fixed !important;
  top:var(--laf-content-top) !important;
  left:var(--laf-content-left) !important;
  right:var(--laf-content-right) !important;
  bottom:var(--laf-content-bottom) !important;
  width:auto !important;
  min-height:auto !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  display:block !important;
  align-items:initial !important;
  justify-items:initial !important;
  overflow:visible !important;
  z-index:2;
}

.content-card,
.home-hero,
.bio-card,
.escucha-card{
  position:relative !important;
  top:0 !important;
  left:0 !important;
  margin:0 !important;
  max-height:100% !important;
  overflow:auto !important;
}

@media(min-width:901px){
  .content-card,
  .home-hero{
    width:min(980px,100%) !important;
    max-width:100% !important;
  }
  .bio-card{
    width:min(1120px,100%) !important;
    max-width:100% !important;
  }
  .escucha-card{
    width:min(1080px,100%) !important;
    max-width:100% !important;
  }
}

@media(min-width:901px) and (max-height:720px){
  :root{
    --laf-content-top:calc(34px + min(11vw,132px));
    --laf-content-bottom:60px;
  }
}

@media(max-width:900px){
  :root{
    --laf-content-left:clamp(14px,4vw,28px);
    --laf-content-right:clamp(14px,4vw,28px);
    --laf-content-top:calc(32px + min(19vw,86px));
    --laf-content-bottom:clamp(48px,8vh,70px);
  }
  .content-card,
  .home-hero,
  .bio-card,
  .escucha-card{
    width:100% !important;
    max-width:100% !important;
  }
}

@media(max-width:520px){
  :root{
    --laf-content-top:calc(30px + min(19vw,78px));
    --laf-content-bottom:52px;
  }
}

/* Titulo home como imagen */
.home-title-logo{
  max-width:min(100%, 676px);
  margin-bottom:18px;
  line-height:0;
}
.home-title-image{
  display:block;
  width:min(100%, 31rem);
  max-width:100%;
  height:auto;
}
@media(max-width:900px){
  .home-title-logo{
    width:100%;
    max-width:100%;
  }
  .home-title-image{
    width:100%;
    max-width:100%;
  }
}

/* Ajuste responsive titulo home: encajar SVG sin desbordes */
.home-title-logo{
  box-sizing:border-box;
  width:100%;
  max-width:min(676px, 100%);
  overflow:visible;
}
.home-title-image{
  box-sizing:border-box;
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
@media(max-width:900px){
  html,
  body{
    overflow-x:hidden;
  }
  .home-hero{
    box-sizing:border-box;
    overflow:hidden;
  }
  .home-title-logo{
    display:block;
    width:100%;
    max-width:100%;
    aspect-ratio:676 / 172;
    margin:0 0 18px;
    min-width:0;
  }
  .home-title-image{
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    object-fit:contain;
  }
}

/* Ajuste Safari iOS: viewport estable + safe area inferior para evitar margen raro en carruseles */
@supports (height:100svh){
  @media(max-width:900px){
    :root{
      --laf-content-bottom:calc(clamp(48px,8svh,70px) + env(safe-area-inset-bottom));
    }
    .bio-card{
      max-height:100% !important;
    }
    .bio-carousel{
      margin-bottom:0;
      padding-bottom:0;
    }
  }
  @media(max-width:520px){
    :root{
      --laf-content-bottom:calc(52px + env(safe-area-inset-bottom));
    }
  }
}


/* Ajustes H1 e iconos escucha: consistencia entre paginas */
:root{
  --laf-link-blue:#0000ee;
  --laf-title-gap:clamp(12px,2vh,18px);
}

h1.title,
.content-card h1.title,
.bio-title,
.escucha-title,
.tienda-title{
  margin-top:0 !important;
  margin-bottom:var(--laf-title-gap) !important;
  color:var(--laf-link-blue) !important;
  font-weight:320 !important;
  letter-spacing:-.065em;
}

.content-card > .list,
.content-card > .grid,
.release-carousel,
.shop-grid{
  margin-top:0 !important;
}

.bio-layout{
  align-items:start !important;
}

.bio-copy{
  align-self:start !important;
}

@media(min-width:901px){
  .content-card,
  .home-hero,
  .bio-card,
  .escucha-card,
  .tienda-card{
    padding:clamp(18px,2.6vw,34px) !important;
  }
  h1.title,
  .bio-title,
  .escucha-title,
  .tienda-title{
    font-size:clamp(2rem, min(6.8vw, 8vh), 5.4rem) !important;
    line-height:.94 !important;
  }
  .escucha-card{
    gap:0 !important;
  }
}

@media(max-width:900px){
  .content-card,
  .home-hero,
  .bio-card,
  .escucha-card,
  .tienda-card{
    padding:clamp(12px,3.5vw,20px) !important;
  }
  h1.title,
  .bio-title,
  .escucha-title,
  .tienda-title{
    font-size:clamp(1.65rem, min(9.2vw, 7.2vh), 3.25rem) !important;
    line-height:.96 !important;
    margin-bottom:clamp(10px,1.7vh,15px) !important;
  }
  .escucha-card{
    gap:0 !important;
  }
}

.release-card{
  color:inherit;
}
.release-links{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:clamp(5px,.8vw,8px);
  margin-top:clamp(9px,1.35svh,14px);
  min-width:0;
}
.release-platform{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:clamp(24px,2.2vw,31px);
  height:clamp(24px,2.2vw,31px);
  border:1px solid currentColor;
  border-radius:999px;
  color:var(--laf-link-blue);
  background:rgba(255,255,255,.22);
  font-size:clamp(.48rem,.72vw,.62rem);
  font-weight:360;
  letter-spacing:-.02em;
  line-height:1;
  text-transform:uppercase;
}
.release-platform:hover,
.release-platform:focus-visible{
  background:rgba(0,0,238,.08);
  outline:0;
}
.release-platform.apple{
  font-size:clamp(.72rem,1vw,.92rem);
  letter-spacing:0;
}
.release-platform.amazon{
  font-size:clamp(.42rem,.64vw,.56rem);
}

@media(max-width:900px){
  .release-links{
    gap:clamp(4px,1.5vw,7px);
    margin-top:8px;
  }
  .release-platform{
    width:clamp(22px,7.1vw,29px);
    height:clamp(22px,7.1vw,29px);
    font-size:clamp(.42rem,1.7vw,.56rem);
  }
  .release-platform.apple{
    font-size:clamp(.66rem,2.5vw,.86rem);
  }
  .release-platform.amazon{
    font-size:clamp(.36rem,1.45vw,.5rem);
  }
}

@media(max-width:380px){
  .release-links{
    gap:3px;
  }
  .release-platform{
    width:21px;
    height:21px;
    font-size:.38rem;
  }
  .release-platform.apple{
    font-size:.64rem;
  }
  .release-platform.amazon{
    font-size:.34rem;
  }
}


/* Iconos de plataformas en ESCUCHA */
.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.release-platform{
  position:relative;
  font-size:0 !important;
  font-weight:320 !important;
}
.release-platform::before,
.release-platform::after{
  content:"";
  display:block;
  color:currentColor;
}
.release-platform.bandcamp::before{
  width:58%;
  height:34%;
  background:currentColor;
  clip-path:polygon(24% 0,100% 0,76% 100%,0 100%);
}
.release-platform.spotify::before{
  content:"≋";
  font-size:17px;
  line-height:1;
  transform:rotate(-8deg) translateY(-1px);
}
.release-platform.apple::before{
  content:"♪";
  font-size:16px;
  line-height:1;
  transform:translateY(-1px);
}
.release-platform.tidal::before{
  width:4px;
  height:4px;
  background:currentColor;
  box-shadow:6px 0 0 currentColor, 3px 5px 0 currentColor, 9px 5px 0 currentColor;
  transform:rotate(45deg) translate(-2px,-1px);
}
.release-platform.deezer::before{
  width:14px;
  height:12px;
  background:linear-gradient(to right,currentColor 0 2px,transparent 2px 3px,currentColor 3px 5px,transparent 5px 6px,currentColor 6px 8px,transparent 8px 9px,currentColor 9px 11px,transparent 11px 12px,currentColor 12px 14px);
  clip-path:polygon(0 58%,18% 58%,18% 36%,36% 36%,36% 18%,54% 18%,54% 0,72% 0,72% 28%,100% 28%,100% 100%,0 100%);
}
.release-platform.amazon::before{
  content:"a";
  font-size:15px;
  line-height:.8;
  font-weight:360;
  font-family:Helvetica,Arial,sans-serif;
  transform:translateY(-2px);
}
.release-platform.amazon::after{
  position:absolute;
  width:12px;
  height:5px;
  border-bottom:1px solid currentColor;
  border-radius:0 0 14px 14px;
  transform:translateY(7px);
}

@media(max-width:900px){
  .release-platform.spotify::before{font-size:16px}
  .release-platform.apple::before{font-size:15px}
  .release-platform.amazon::before{font-size:14px}
}


/* Ajustes finales solicitados: H1, estados de enlace, Escucha y coherencia Conciertos/Contacto */
:root{
  --laf-link-blue:#0000ee;
}

a:visited,
a:active{
  color:var(--laf-link-blue);
}

h1.title,
.content-card h1.title,
.bio-title,
.escucha-title,
.tienda-title{
  color:var(--laf-link-blue) !important;
  font-weight:350 !important;
}

.release-links{
  gap:clamp(4px,.62vw,7px);
}
.release-platform.youtube::before{
  width:58%;
  height:40%;
  border-radius:4px;
  background:currentColor;
}
.release-platform.youtube::after{
  position:absolute;
  width:0;
  height:0;
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:6px solid rgba(255,255,255,.88);
  transform:translateX(1px);
}

@media(max-width:900px){
  .release-links{
    gap:clamp(3px,1.05vw,6px);
  }
}
@media(max-width:380px){
  .release-links{
    gap:2px;
  }
  .release-platform{
    width:20px;
    height:20px;
  }
}

.info-page{
  align-items:center;
}
.info-card{
  width:min(100%,980px);
  padding:clamp(18px,2.6vw,34px) !important;
}
.info-list{
  display:grid;
  gap:0;
  margin-top:0 !important;
}
.info-list > a,
.info-list > div{
  border-top:1px solid var(--line);
  padding:clamp(14px,1.8vw,18px) 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  font-weight:350;
  text-transform:none;
}
.info-list > a:first-child,
.info-list > div:first-child{
  border-top:1px solid var(--line);
}
.info-list strong{
  font-weight:420;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.info-list span,
.info-list span a{
  color:var(--muted);
  font-weight:350;
  text-transform:none;
  letter-spacing:0;
}
.info-list a:visited span,
.info-list span a:visited,
.info-list a:active span,
.info-list span a:active{
  color:var(--laf-link-blue);
}

@media(min-width:700px){
  .info-list > a,
  .info-list > div{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    gap:20px;
  }
}
@media(max-width:900px){
  .info-card{
    padding:clamp(12px,3.5vw,20px) !important;
  }
  .info-list > a,
  .info-list > div{
    padding:clamp(13px,3.8vw,17px) 0;
  }
}

/* Correccion final: H1 con el mismo peso que los H2, manteniendo el azul */
h1.title,
.content-card h1.title,
.bio-title,
.escucha-title,
.tienda-title{
  color:var(--laf-link-blue) !important;
  font-weight:700 !important;
}

/* Conciertos y Contacto: mismo tratamiento visual, sin lineas antes de los correos */
.info-page{
  align-items:end !important;
}
.info-card{
  width:min(100%,980px) !important;
  padding:clamp(18px,2.6vw,34px) !important;
}
.info-list{
  display:grid !important;
  gap:clamp(12px,1.4vw,16px) !important;
  margin-top:0 !important;
}
.info-list > a,
.info-list > div{
  border-top:0 !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:4px !important;
  font-weight:350 !important;
  text-transform:none !important;
}
.info-list strong{
  font-weight:520 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
.info-list span,
.info-list span a{
  color:var(--muted) !important;
  font-weight:350 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.info-list a:visited,
.info-list span a:visited,
.info-list a:active,
.info-list span a:active{
  color:var(--laf-link-blue) !important;
}
.info-list a:visited span,
.info-list span a:visited,
.info-list a:active span,
.info-list span a:active{
  color:var(--laf-link-blue) !important;
}
@media(min-width:700px){
  .info-list > a,
  .info-list > div{
    grid-template-columns:minmax(160px, .45fr) minmax(0,1fr) !important;
    align-items:baseline !important;
    gap:clamp(18px,2.4vw,28px) !important;
  }
  .info-list span{
    text-align:left !important;
  }
}
@media(max-width:900px){
  .info-page{
    align-items:start !important;
  }
  .info-card{
    padding:clamp(12px,3.5vw,20px) !important;
  }
  .info-list{
    gap:clamp(10px,3.4vw,14px) !important;
  }
}

/* Ajuste solicitado: solo el enlace activo en azul; visitados no cambian */
a:visited,
a:active{
  color:inherit !important;
}
.main-nav a,
.info-list a,
.info-list span a{
  color:var(--ink) !important;
}
.main-nav a.active,
.main-nav a.active:visited,
.main-nav a.active:active{
  color:var(--laf-link-blue) !important;
}
.footer a,
.footer .social a,
.footer a:visited,
.footer .social a:visited{
  color:var(--laf-link-blue) !important;
}
.info-list a:hover,
.info-list span a:hover,
.footer a:hover,
.footer .social a:hover{
  color:var(--laf-link-blue) !important;
}

/* Separadores coherentes entre CONCIERTOS y CONTACTO */
.info-list{
  gap:0 !important;
}
.info-list > a,
.info-list > div{
  padding:clamp(13px,1.8vw,18px) 0 !important;
  border-top:0 !important;
}
.info-list > a:first-child,
.info-list > div:first-child{
  padding-top:0 !important;
}
.info-list > a + a,
.info-list > a + div,
.info-list > div + a,
.info-list > div + div{
  border-top:1px solid var(--line) !important;
}
@media(max-width:900px){
  .info-list > a,
  .info-list > div{
    padding:clamp(12px,3.8vw,16px) 0 !important;
  }
  .info-list > a:first-child,
  .info-list > div:first-child{
    padding-top:0 !important;
  }
}


/* Ajuste final index: CONSIGUELO con apariencia clara, como los botones de compra */
.home-page .button-row .btn[href="tienda.html"]{
  background:rgba(255,255,255,.45) !important;
  color:var(--ink) !important;
}
.home-page .button-row .btn[href="tienda.html"]:visited,
.home-page .button-row .btn[href="tienda.html"]:active{
  color:var(--ink) !important;
}

/* Ajuste final responsive: H1 azul, menu full-screen sin separadores y enlace activo azul */
h1.title,
.content-card h1.title,
.bio-title,
.escucha-title,
.tienda-title{
  color:var(--laf-link-blue) !important;
}

@media(max-width:900px){
  h1.title,
  .content-card h1.title,
  .bio-title,
  .escucha-title,
  .tienda-title{
    color:var(--laf-link-blue) !important;
  }

  .main-nav a,
  .main-nav a:visited,
  .main-nav a:active{
    color:var(--ink) !important;
    border-top:0 !important;
    border-bottom:0 !important;
  }

  .main-nav a + a{
    border-top:0 !important;
  }

  .main-nav a.active,
  .main-nav a.active:visited,
  .main-nav a.active:active{
    color:var(--laf-link-blue) !important;
  }
}

/* Ajuste responsive ESCUCHA: margen superior equilibrado para la portada, igual que el boton */
@media(max-width:900px){
  .release-art{
    margin-top:clamp(10px,3vw,14px) !important;
    max-height:calc(min(54svh, 62vw) - clamp(10px,3vw,14px)) !important;
  }
}
@media(max-width:430px){
  .release-art{
    margin-top:clamp(9px,3vw,12px) !important;
    max-height:calc(min(52svh, 70vw) - clamp(9px,3vw,12px)) !important;
  }
}

/* Ajuste final ESCUCHA: alinear fecha y titulo con el borde izquierdo de la portada */
@media(max-width:900px){
  .release-art{
    --release-side-gap:clamp(10px,3.5vw,15px);
    width:calc(100% - (var(--release-side-gap) * 2)) !important;
    margin-left:var(--release-side-gap) !important;
    margin-right:var(--release-side-gap) !important;
  }
  .release-copy{
    padding-left:clamp(10px,3.5vw,15px) !important;
    padding-right:clamp(10px,3.5vw,15px) !important;
  }
  .release-tag,
  .release-copy h2{
    text-align:left !important;
  }
}


/* CONCIERTOS: Bandsintown integrado sin estilizar el widget */
.concerts-card{
  width:min(100%,980px) !important;
}
.concerts-list{
  display:grid !important;
  gap:0 !important;
  margin-top:0 !important;
}
.concerts-list > .concerts-upcoming,
.concerts-list > .concerts-booking{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:start !important;
  gap:8px !important;
  padding:clamp(13px,1.8vw,18px) 0 !important;
  border-top:0 !important;
  color:var(--ink) !important;
}
.concerts-list > .concerts-upcoming{
  padding-top:0 !important;
}
.concerts-list > .concerts-booking{
  border-top:1px solid var(--line) !important;
}
.concerts-list > .concerts-upcoming > strong,
.concerts-list > .concerts-booking > strong{
  font-weight:520 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}
.concerts-list > .concerts-booking > span{
  color:var(--muted) !important;
  font-weight:350 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.bandsintown-panel{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
}
.bandsintown-panel iframe,
.bandsintown-panel > *{
  max-width:100%;
}
@media(min-width:700px){
  .concerts-list > .concerts-upcoming,
  .concerts-list > .concerts-booking{
    grid-template-columns:minmax(160px,.45fr) minmax(0,1fr) !important;
    gap:clamp(18px,2.4vw,28px) !important;
  }
}
@media(max-width:900px){
  .concerts-list > .concerts-upcoming,
  .concerts-list > .concerts-booking{
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:clamp(12px,3.8vw,16px) 0 !important;
  }
  .concerts-list > .concerts-upcoming{
    padding-top:0 !important;
  }
}


/* CONCIERTOS: integración Bandsintown transparente y coherente con la web */
.concerts-card{
  background:var(--paper) !important;
}
.concerts-upcoming .bandsintown-panel,
.bandsintown-panel,
.bandsintown-panel > div,
.bandsintown-panel iframe{
  background:transparent !important;
}
.bandsintown-panel{
  color:var(--ink);
  border-radius:18px;
}
.bandsintown-panel .bit-widget,
.bandsintown-panel [class*="bit-widget"],
.bandsintown-panel [class*="bit-event"],
.bandsintown-panel [class*="bit-follow"],
.bandsintown-panel [class*="bit-nav"],
.bandsintown-panel [class*="bit-upcoming"],
.bandsintown-panel [class*="bit-past"],
.bandsintown-panel [class*="bit-track"]{
  background:transparent !important;
  box-shadow:none !important;
}
.bandsintown-panel [class*="bit-logo"],
.bandsintown-panel a[href*="bandsintown.com"] img,
.bandsintown-panel img[alt*="Bandsintown"],
.bandsintown-panel img[src*="bandsintown"]{
  max-width:72px !important;
  max-height:18px !important;
  opacity:.58 !important;
}
.bandsintown-panel [class*="play-my-city"],
.bandsintown-panel [class*="PlayMyCity"],
.bandsintown-panel [data-testid*="play-my-city"]{
  display:none !important;
}
.concerts-past-link{
  display:inline-flex;
  width:max-content;
  margin-top:clamp(10px,1.7vw,16px);
  color:var(--laf-link-blue) !important;
  font-weight:520;
  letter-spacing:.02em;
  text-transform:uppercase;
  border-bottom:1px solid currentColor;
}
.concerts-past-link:hover{
  opacity:.72;
}
@media(max-width:900px){
  .concerts-past-link{
    margin-top:10px;
    font-size:.9rem;
  }
}

/* CONCIERTOS responsive: colocar el logo/widget de Bandsintown debajo del enlace a conciertos anteriores */
@media(max-width:900px){
  .concerts-list > .concerts-upcoming{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
  }
  .concerts-list > .concerts-upcoming > strong{
    order:1;
  }
  .concerts-past-link{
    order:2;
    margin-top:clamp(12px,3vw,16px) !important;
  }
  .bandsintown-panel{
    order:3;
    width:100%;
    margin-top:clamp(8px,2.4vw,12px);
    display:flex;
    justify-content:flex-end;
  }
}

/* Aviso de cookies centrado */
.cookie-notice-layer{
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:clamp(16px,4vw,34px);
  pointer-events:none;
}
.cookie-notice{
  width:min(100%,420px);
  max-height:calc(100svh - 32px);
  overflow:auto;
  pointer-events:auto;
  color:var(--ink);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(16px);
  border:1px solid rgba(17,17,17,.12);
  border-radius:24px;
  box-shadow:0 18px 55px rgba(0,0,0,.14);
  padding:clamp(18px,3vw,26px);
  font-family:'Inter',Helvetica,Arial,sans-serif;
}
.cookie-notice__title{
  margin:0 0 10px;
  font-size:clamp(1.05rem,2.8vw,1.3rem);
  line-height:1.05;
  font-weight:650;
  letter-spacing:-.035em;
}
.cookie-notice__text{
  margin:0;
  color:var(--muted);
  font-size:clamp(.88rem,2.45vw,.98rem);
  line-height:1.35;
  font-weight:380;
}
.cookie-notice__actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:18px;
}
.cookie-notice__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(17,17,17,.16);
  background:rgba(17,17,17,.9);
  color:#fff;
  border-radius:999px;
  padding:.7rem 1rem;
  font:inherit;
  font-weight:520;
  letter-spacing:.02em;
  cursor:pointer;
}
.cookie-notice__button:hover{
  background:var(--ink);
}
.cookie-notice__button--secondary{
  background:rgba(255,255,255,.55);
  color:var(--ink);
}
.cookie-notice__button--secondary:hover{
  background:rgba(255,255,255,.9);
}
@media(max-width:520px){
  .cookie-notice{
    width:min(100%,340px);
    border-radius:22px;
  }
  .cookie-notice__actions{
    flex-direction:column-reverse;
    width:100%;
  }
  .cookie-notice__button{
    width:100%;
  }
}

/* Centrado vertical del boton de menu con el logo en responsive */
@media(max-width:900px){
  .site-header{
    align-items:center;
  }
  .menu-toggle{
    align-self:center;
    margin-top:0;
    margin-bottom:0;
  }
}

/* Ajuste final: boton responsive ligeramente mas bajo y 5% mayor */
@media(max-width:900px){
  .menu-toggle{
    transform:translateY(3px) scale(1.05);
    transform-origin:center;
  }
}
