/* =========================================================
   Centro Multidisciplinar SMF — landing de lanzamiento
   INTDEA · 2026
   ========================================================= */

@font-face{
  font-family:"Montserrat";
  src:url("fonts/montserrat-var.woff2") format("woff2-variations");
  font-weight:400 800; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Plex";
  src:url("fonts/plexsans-var.woff2") format("woff2-variations");
  font-weight:300 600; font-style:normal; font-display:swap;
}

:root{
  --abismo:#0B1F19;
  --profundo:#123027;
  --verde:#9DCBB4;
  --verde-humo:#6E9E88;
  --crema:#F3F1EA;
  --crema-2:#E6E2D6;
  --coral:#FF6A4D;
  --coral-osc:#D9482A;
  --display:"Montserrat","Segoe UI",system-ui,sans-serif;
  --texto:"Plex","Segoe UI",system-ui,sans-serif;
  --borde:rgba(157,203,180,.22);
  --max:1120px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--abismo);
  color:var(--crema);
  font-family:var(--texto);
  font-size:clamp(1rem,.96rem + .3vw,1.125rem);
  line-height:1.62;
  font-weight:350;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:2px}

.contenedor{width:min(100% - 2.5rem,var(--max));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- tipografía ---------- */
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.03;letter-spacing:-.03em;margin:0}
h1{font-size:clamp(2rem,1.4rem + 2.6vw,3.4rem)}
h2{font-size:clamp(1.7rem,1.15rem + 2.5vw,3rem)}
h3{font-size:clamp(1.1rem,1rem + .5vw,1.35rem);font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1.1em}
.antetitulo{
  font-family:var(--display);font-weight:700;
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--verde);margin:0 0 1.4rem;display:flex;align-items:center;gap:.8rem;
}
.antetitulo::before{content:"";width:2rem;height:1px;background:var(--coral);flex:none}
.entradilla{font-size:clamp(1.05rem,1rem + .45vw,1.3rem);color:rgba(243,241,234,.82);max-width:46ch}

/* ---------- barra superior ---------- */
.barra{
  position:sticky;top:0;z-index:60;
  background:rgba(11,31,25,.86);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--borde);
}
.barra__interior{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.marca img{width:34px}
.marca span{
  font-family:var(--display);font-weight:700;font-size:.66rem;
  letter-spacing:.16em;text-transform:uppercase;line-height:1.3;color:var(--crema);
}
.marca span b{display:block;font-weight:400;color:var(--verde-humo);letter-spacing:.14em}
.barra .boton{padding:.6rem 1.1rem;font-size:.72rem;white-space:nowrap}
@media(max-width:560px){
  .barra .boton{padding:.6rem 1rem;font-size:.64rem;letter-spacing:.06em}
  .marca span{display:none}
  .marca img{width:30px}
}

/* ---------- botones ---------- */
.boton{
  display:inline-block;border:0;cursor:pointer;text-decoration:none;
  background:var(--coral);color:#fff;
  font-family:var(--display);font-weight:700;font-size:.82rem;
  letter-spacing:.09em;text-transform:uppercase;
  padding:1.05rem 1.7rem;border-radius:999px;
  transition:background .25s ease,transform .25s ease;
}
.boton:hover{background:var(--coral-osc);transform:translateY(-2px)}
.boton--fantasma{
  background:transparent;color:var(--crema);
  box-shadow:inset 0 0 0 1px var(--borde);
}
.boton--fantasma:hover{background:rgba(157,203,180,.1)}

/* ---------- héroe ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(2rem,6vw,6rem) 0 clamp(3rem,7vw,6rem)}
.hero__interior{position:relative;z-index:2}
.hero__interior{max-width:56rem}
.hero .entradilla{max-width:52ch}
.hero__logo{width:clamp(118px,20vw,215px);margin:0 0 1.8rem}
.hero h1{margin-bottom:1.3rem}
.hero h1 em{font-style:normal;color:var(--verde)}

/* barrido ecográfico — elemento firma */
.eco{position:absolute;inset:-30% -10% auto;height:150vh;pointer-events:none;z-index:1;opacity:.9}
.eco__haz{
  position:absolute;top:-45vh;left:50%;width:180vmax;height:180vmax;
  transform:translateX(-50%);
  background:conic-gradient(from 258deg at 50% 22%,
    transparent 0deg,
    rgba(157,203,180,.13) 10deg,
    rgba(157,203,180,.02) 24deg,
    transparent 34deg);
  animation:barrido 16s ease-in-out infinite alternate;
  transform-origin:50% 22%;
}
.eco__arcos{
  position:absolute;top:-46vh;left:50%;width:170vmax;height:170vmax;transform:translateX(-50%);
  background:repeating-radial-gradient(circle at 50% 22%,
    transparent 0 5.4rem,
    rgba(157,203,180,.055) 5.4rem 5.45rem);
  -webkit-mask-image:radial-gradient(circle at 50% 22%,#000 8%,transparent 62%);
  mask-image:radial-gradient(circle at 50% 22%,#000 8%,transparent 62%);
}
@keyframes barrido{
  0%{transform:translateX(-50%) rotate(-13deg)}
  100%{transform:translateX(-50%) rotate(13deg)}
}

/* ---------- formulario ---------- */
.captura{
  background:rgba(18,48,39,.72);
  border:1px solid var(--borde);
  border-radius:20px;
  padding:clamp(1.4rem,3vw,2.1rem);
  backdrop-filter:blur(6px);
}
.captura h2,.captura h3{font-size:clamp(1.35rem,1.2rem + .7vw,1.75rem);letter-spacing:-.02em;margin-bottom:.7rem}
.captura p{font-size:.95rem;color:rgba(243,241,234,.72);margin-bottom:0}
.captura__pie{font-size:.82rem;color:rgba(243,241,234,.62);margin:.9rem 0 0}
.campo{display:flex;flex-direction:column;gap:.65rem;margin:1.3rem 0 1rem}
@media(min-width:520px){
  .campo{flex-direction:row}
  .campo .boton{flex:none}
}
.campo input[type=email],
.campo input[type=password],
.campo input[type=text]{
  flex:1;min-width:0;
  background:rgba(11,31,25,.75);
  border:1px solid var(--borde);
  border-radius:999px;
  color:var(--crema);
  font-family:var(--texto);font-size:1rem;
  padding:1rem 1.3rem;
}
.campo input[type=email]::placeholder,
.campo input[type=password]::placeholder{color:rgba(243,241,234,.4)}
.campo input[type=email]:focus,
.campo input[type=password]:focus{border-color:var(--verde);outline:none;box-shadow:0 0 0 3px rgba(157,203,180,.18)}
.consentimiento{display:flex;gap:.7rem;align-items:flex-start;font-size:.88rem;color:rgba(243,241,234,.72);line-height:1.45}
.consentimiento input{margin:.22rem 0 0;width:1.05rem;height:1.05rem;accent-color:var(--coral);flex:none}
.consentimiento a{color:var(--verde)}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.error{
  margin:0 0 1rem;padding:.8rem 1rem;border-radius:12px;
  background:rgba(255,106,77,.14);border:1px solid rgba(255,106,77,.4);
  color:#FFC9BC;font-size:.9rem;
}

/* ---------- tira de conceptos ---------- */
.conceptos{border-top:1px solid var(--borde);border-bottom:1px solid var(--borde);background:var(--profundo)}
.conceptos ul{
  list-style:none;margin:0;padding:clamp(1.6rem,3vw,2.4rem) 0;
  display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem clamp(1rem,4vw,3rem);
  font-family:var(--display);font-weight:700;
  font-size:clamp(.78rem,.6rem + .7vw,1.05rem);
  letter-spacing:.24em;text-transform:uppercase;
}
.conceptos li{color:var(--verde);display:flex;align-items:center;gap:clamp(1rem,4vw,3rem)}
.conceptos li:not(:last-child)::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--coral);opacity:.8}

/* ---------- secciones ---------- */
.seccion{padding:clamp(3.5rem,8vw,6.5rem) 0}
.seccion--claro{background:var(--crema);color:#16211D}
.seccion--claro .entradilla{color:rgba(22,33,29,.72)}
.seccion--claro .antetitulo{color:var(--verde-humo)}
.dos-columnas{display:grid;gap:clamp(2rem,4vw,3.5rem);grid-template-columns:1fr}
@media(min-width:900px){.dos-columnas{grid-template-columns:1fr 1fr;align-items:center}}

/* vídeo */
.video{
  position:relative;border-radius:22px;overflow:hidden;background:var(--profundo);
  aspect-ratio:9/16;max-width:390px;width:100%;margin-inline:auto;
  border:1px solid var(--borde);
}
.video__aviso{
  position:absolute;inset:0;width:100%;border:0;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.1rem;
  text-align:center;padding:2rem 1.6rem 4.2rem;
  background:radial-gradient(circle at 50% 32%,#1F4B3A,#08170F 78%);
  color:var(--crema);font-family:var(--texto);overflow:hidden;
}
.video__eco{
  position:absolute;top:-40%;left:50%;width:210%;aspect-ratio:1;transform:translateX(-50%);
  background:
    conic-gradient(from 250deg at 50% 50%,transparent 0deg,rgba(157,203,180,.14) 14deg,transparent 36deg),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 3.2rem,rgba(157,203,180,.06) 3.2rem 3.25rem);
  -webkit-mask-image:radial-gradient(circle at 50% 50%,#000 10%,transparent 70%);
  mask-image:radial-gradient(circle at 50% 50%,#000 10%,transparent 70%);
  animation:barrido 14s ease-in-out infinite alternate;
  transform-origin:50% 50%;
}
.video__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video__poster[hidden]{display:none}
.video__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,23,15,.25) 0%,rgba(8,23,15,.15) 45%,rgba(8,23,15,.9) 100%);opacity:0}
.video__aviso:has(.video__poster:not([hidden])) .video__velo{opacity:1}
.video__aviso:has(.video__poster:not([hidden])) .video__eco,
.video__aviso:has(.video__poster:not([hidden])) .video__marca{display:none}
.video__marca{position:relative;z-index:2;opacity:.5}
.video__aviso strong{position:relative;z-index:2;font-family:var(--display);font-size:1.12rem;letter-spacing:-.01em;margin-top:.2rem}
.video__autor{position:relative;z-index:2;font-size:.82rem;color:rgba(243,241,234,.6);margin-top:-.7rem}
.video__pie{
  position:absolute;left:0;right:0;bottom:1.5rem;z-index:2;
  font-family:var(--display);font-weight:600;
  font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(243,241,234,.5);
}
.video__play{
  position:relative;z-index:2;
  width:74px;height:74px;border-radius:50%;background:var(--coral);
  display:grid;place-items:center;transition:transform .3s ease;
  box-shadow:0 10px 34px rgba(8,23,15,.55);
}
.video__play::before{
  content:"";border-left:20px solid #fff;
  border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:5px;
}
.video__play::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  border:2px solid var(--coral);animation:pulso 2.6s ease-out infinite;
}
@keyframes pulso{
  0%{transform:scale(1);opacity:.7}
  70%{transform:scale(1.45);opacity:0}
  100%{transform:scale(1.45);opacity:0}
}
.video__aviso:hover .video__play{transform:scale(1.07)}
.video iframe,.video blockquote{width:100%!important;height:100%!important;min-width:0!important;margin:0!important;border:0!important}

.cita{
  font-family:var(--display);font-weight:600;font-style:normal;
  font-size:clamp(1.25rem,1rem + 1.4vw,1.9rem);line-height:1.25;letter-spacing:-.02em;
  margin:1.5rem 0;padding-left:1.2rem;border-left:3px solid var(--coral);
}
.transcripcion{margin-top:1.6rem;font-size:.94rem}
.transcripcion summary{
  cursor:pointer;font-family:var(--display);font-weight:700;
  font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--verde-humo);
}
.transcripcion p{margin-top:1rem;color:rgba(22,33,29,.75)}

/* lista de situaciones */
.situaciones{list-style:none;margin:2.2rem 0 0;padding:0;border-top:1px solid rgba(22,33,29,.14)}
.situaciones li{
  display:flex;gap:1.1rem;align-items:flex-start;
  padding:1.05rem 0;border-bottom:1px solid rgba(22,33,29,.14);
  font-size:clamp(1rem,.95rem + .3vw,1.15rem);
}
.situaciones li::before{
  content:"";flex:none;width:10px;height:10px;margin-top:.55rem;
  border-radius:2px;background:var(--coral);
  transform:rotate(45deg);opacity:.85;
}
.cierre{
  margin-top:2.4rem;padding:1.6rem 1.8rem;border-radius:18px;
  background:rgba(157,203,180,.22);font-size:1.05rem;
}
.seccion--claro .cierre{color:#16211D}

/* ventajas */
.ventajas{list-style:none;margin:1.8rem 0 0;padding:0;display:grid;gap:.9rem}
.ventajas li{display:flex;gap:.9rem;align-items:flex-start;color:rgba(243,241,234,.86)}
.ventajas li::before{content:"";flex:none;width:18px;height:18px;margin-top:.35rem;border-radius:50%;background:rgba(157,203,180,.18);box-shadow:inset 0 0 0 1px var(--verde)}

/* pie */
.pie{background:var(--abismo);border-top:1px solid var(--borde);padding:3rem 0 2.4rem;font-size:.86rem}
.pie__cabecera{display:flex;flex-wrap:wrap;gap:1.6rem;align-items:center;justify-content:space-between;margin-bottom:2rem}
.pie__lema{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:1.15rem;margin:0}
.pie__redes{display:flex;gap:1.4rem;list-style:none;margin:0;padding:0}
.pie__redes a{color:var(--verde);text-decoration:none;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-family:var(--display);font-weight:700}
.pie__redes a:hover{color:var(--coral)}
.pie__legal{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;padding-top:1.6rem;border-top:1px solid var(--borde);color:rgba(243,241,234,.5)}
.pie__legal a{color:rgba(243,241,234,.7)}
/* firma de la agencia — deliberadamente discreta */
.firma{margin:1.5rem 0 0;text-align:right}
.firma a{
  display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;
  color:rgba(243,241,234,.28);font-family:var(--display);font-weight:600;
  font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;
  transition:color .35s ease;
}
.firma a:hover{color:rgba(243,241,234,.6)}
.firma__logo{position:relative;display:block;width:62px;line-height:0}
.firma__logo img{width:100%;display:block;transition:opacity .35s ease}
.firma__logo .firma__color{position:absolute;inset:0;opacity:0}
.firma a:hover .firma__logo img:first-child{opacity:0}
.firma a:hover .firma__color{opacity:1}
.firma__logo img:first-child{opacity:.4}
@media(max-width:560px){.firma{text-align:left}}

/* aviso de cookies */
.cookies{
  position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:100;
  max-width:460px;margin-inline:auto;
  background:var(--profundo);border:1px solid var(--borde);border-radius:18px;
  padding:1.3rem 1.4rem;box-shadow:0 18px 50px rgba(0,0,0,.45);
  font-size:.86rem;line-height:1.5;
}
.cookies[hidden]{display:none}
.cookies p{margin:0 0 1rem;color:rgba(243,241,234,.8)}
.cookies a{color:var(--verde)}
.cookies__botones{display:flex;flex-wrap:wrap;gap:.6rem}
.cookies .boton{padding:.7rem 1.2rem;font-size:.72rem}

/* revelado progresivo */
.revelar{opacity:0;filter:blur(12px);transform:translateY(14px);transition:opacity .9s ease,filter .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.revelar.visible{opacity:1;filter:blur(0);transform:none}
.revelar--d1{transition-delay:.1s}
.revelar--d2{transition-delay:.2s}
.revelar--d3{transition-delay:.3s}
.revelar--d4{transition-delay:.4s}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .revelar{opacity:1;filter:none;transform:none;transition:none}
  .eco__haz,.video__eco{animation:none}
  .video__play::after{animation:none;opacity:.35}
  .boton:hover{transform:none}
}

/* páginas de texto legal y gracias */
.pagina{padding:clamp(3rem,7vw,5rem) 0;max-width:none}
.pagina .contenedor{width:min(100% - 2.5rem,760px)}
.pagina h1{font-size:clamp(1.9rem,1.4rem + 2vw,2.9rem);margin-bottom:2rem}
.pagina h2{font-size:clamp(1.15rem,1.05rem + .5vw,1.5rem);margin:2.4rem 0 .8rem;color:var(--verde)}
.pagina p,.pagina li{color:rgba(243,241,234,.8);font-size:.98rem}
.pagina ul{padding-left:1.2rem}
.pagina li{margin-bottom:.5rem}
.pendiente{background:rgba(255,106,77,.16);border-radius:4px;padding:.05em .35em;color:#FFC9BC}
.gracias{min-height:72vh;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}
.gracias__interior{position:relative;z-index:2;max-width:44ch}
.gracias img{width:110px;margin:0 auto 2rem}
.gracias .boton{margin-top:1.6rem}

@media(min-width:820px){
  .cookies{right:auto;left:1.5rem;bottom:1.5rem;margin-inline:0}
}

/* ---------- actividades ---------- */
.rejilla{
  display:grid;gap:1px;margin-top:2.6rem;
  background:var(--borde);border:1px solid var(--borde);border-radius:18px;overflow:hidden;
  grid-template-columns:1fr;
}
@media(min-width:640px){.rejilla{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.rejilla{grid-template-columns:repeat(3,1fr)}}
.tarjeta{background:var(--abismo);padding:1.7rem 1.5rem;transition:background .3s ease}
.tarjeta:hover{background:var(--profundo)}
.tarjeta h3{color:var(--verde);margin-bottom:.5rem}
.tarjeta p{margin:0;font-size:.94rem;color:rgba(243,241,234,.72);line-height:1.55}

.franjas{
  list-style:none;margin:2.2rem 0 0;padding:0;
  display:grid;gap:.6rem;font-size:.92rem;color:rgba(243,241,234,.7);
}
@media(min-width:820px){.franjas{grid-template-columns:repeat(4,1fr);gap:1.6rem}}
.franjas li{padding-top:.9rem;border-top:1px solid var(--borde)}
.franjas strong{display:block;font-family:var(--display);font-weight:700;color:var(--crema);font-size:.98rem;margin-bottom:.15rem}

/* ---------- bonos ---------- */
.bonos{display:grid;gap:1.2rem;margin-top:2.6rem;grid-template-columns:1fr}
@media(min-width:860px){.bonos{grid-template-columns:repeat(3,1fr)}}
.bonos--secundarios{margin-top:1.2rem}
@media(min-width:860px){.bonos--secundarios{grid-template-columns:repeat(2,1fr)}}

.bono{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid rgba(22,33,29,.12);border-radius:20px;
  padding:1.8rem 1.6rem;color:#16211D;
}
.bono--destacado{
  background:var(--abismo);color:var(--crema);border-color:transparent;
  box-shadow:0 20px 50px rgba(11,31,25,.22);
}
.bono--destacado h3{color:var(--verde)}
.bono--destacado .bono__nota{color:rgba(243,241,234,.6)}
.bono--destacado .bono__lista li{border-color:rgba(157,203,180,.2)}
.bono h3{font-size:1.3rem;margin-bottom:.4rem}
.bono__nota{font-size:.86rem;color:rgba(22,33,29,.6);margin:0 0 1.2rem;line-height:1.5}
.bono__nota--sep{margin:1rem 0 0;padding-top:1rem;border-top:1px solid rgba(22,33,29,.12)}
.bono--destacado .bono__nota--sep{border-color:rgba(157,203,180,.2)}
.bono__lista{list-style:none;margin:0 0 1.5rem;padding:0}
.bono__lista li{
  display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.75rem 0;border-bottom:1px solid rgba(22,33,29,.1);
  font-size:.94rem;
}
.bono__lista li:last-child{border-bottom:0}
.bono__lista b{font-family:var(--display);font-weight:800;font-size:1.25rem;letter-spacing:-.02em;white-space:nowrap}
.bono__lista small,.bono__precio small{font-weight:600;font-size:.7rem;letter-spacing:.04em;opacity:.6}
.bono__precio{font-family:var(--display);font-weight:800;font-size:2.4rem;letter-spacing:-.03em;margin:0 0 1.4rem}
.bono .boton{margin-top:auto;align-self:flex-start}
.bono--compacto{padding:1.6rem}
.bonos__pie{margin:2.2rem 0 0;font-size:.9rem;color:rgba(22,33,29,.6);max-width:60ch}

/* ---------- formulario de reserva ---------- */
.campos{display:grid;gap:.35rem;margin-top:1.4rem}
.campos label{
  font-family:var(--display);font-weight:700;font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--verde);margin-top:.8rem;
}
.campos input,.campos select{
  background:rgba(11,31,25,.75);border:1px solid var(--borde);border-radius:12px;
  color:var(--crema);font-family:var(--texto);font-size:1rem;padding:.85rem 1rem;width:100%;
}
.campos input::placeholder{color:rgba(243,241,234,.38)}
.campos input:focus,.campos select:focus{border-color:var(--verde);outline:none;box-shadow:0 0 0 3px rgba(157,203,180,.18)}
.campos select{appearance:none;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--verde) 50%),linear-gradient(135deg,var(--verde) 50%,transparent 50%);
  background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}
.campos select option{background:var(--profundo);color:var(--crema)}

#registro-final{border-top:1px solid var(--borde)}

.bonos--secundarios{align-items:start}

/* ---------- héroe con acciones ---------- */
.hero__acciones{max-width:34rem}
.hero__gancho{font-size:1.02rem;color:rgba(243,241,234,.75);margin-bottom:1.8rem}
.acciones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero__pie{margin:1.4rem 0 0;font-size:.85rem;color:rgba(243,241,234,.45)}

/* ---------- cierre de lista de espera ---------- */
.seccion--estrecha{padding:clamp(2.6rem,5vw,4rem) 0}
.cierre-lista{
  display:grid;gap:1.6rem;align-items:center;
  background:var(--profundo);border:1px solid var(--borde);border-radius:22px;
  padding:clamp(1.6rem,3vw,2.4rem);
}
@media(min-width:900px){.cierre-lista{grid-template-columns:1fr 1fr;gap:2.6rem}}
.cierre-lista h2{font-size:clamp(1.4rem,1.2rem + 1vw,2rem);margin-bottom:.5rem}
.cierre-lista .entradilla{font-size:1rem;margin:0}
.captura--linea{background:transparent;border:0;padding:0;backdrop-filter:none}
.captura--linea .campo{margin-top:0}

/* ---------- menú de la cabecera ---------- */
.menu{display:none;gap:1.8rem;margin-left:auto;margin-right:1.6rem}
.menu a{
  text-decoration:none;color:rgba(243,241,234,.7);
  font-family:var(--display);font-weight:700;font-size:.7rem;
  letter-spacing:.14em;text-transform:uppercase;transition:color .25s ease;
}
.menu a:hover{color:var(--verde)}
@media(min-width:860px){.menu{display:flex}}

/* ---------- horarios ---------- */
.horarios{display:grid;gap:1.2rem;margin-top:2.6rem;grid-template-columns:1fr}
@media(min-width:820px){.horarios{grid-template-columns:repeat(3,1fr)}}
.horario{
  background:#fff;border:1px solid rgba(22,33,29,.12);border-radius:20px;
  padding:1.6rem 1.5rem;color:#16211D;
}
.horario--tatami{background:var(--abismo);color:var(--crema);border-color:transparent}
.horario--tatami h3{color:var(--verde)}
.horario--tatami .horario__dias{color:rgba(243,241,234,.55)}
.horario--tatami ul li{border-color:rgba(157,203,180,.18)}
.horario--tatami .horario__libre{background:rgba(157,203,180,.12)}
.horario h3{font-size:1.15rem;margin-bottom:.25rem}
.horario__dias{
  font-family:var(--display);font-weight:700;font-size:.66rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--verde-humo);
  margin:0 0 1.1rem;
}
.horario ul{list-style:none;margin:0;padding:0}
.horario li{
  display:flex;gap:.9rem;align-items:baseline;
  padding:.62rem 0;border-bottom:1px solid rgba(22,33,29,.1);
  font-size:.93rem;line-height:1.35;
}
.horario li:last-child{border-bottom:0}
.horario li b{
  font-family:var(--display);font-weight:700;font-size:.85rem;
  letter-spacing:-.01em;flex:none;min-width:3.4rem;
}
.horario__libre{
  margin-top:.4rem;border-radius:10px;padding:.7rem .8rem!important;
  background:rgba(157,203,180,.22);border-bottom:0!important;
}
.horario__libre b{min-width:auto}
.horarios__pie{margin:1.8rem 0 0;font-size:.9rem;color:rgba(22,33,29,.6);max-width:62ch}
.bono__aforo{font-weight:600;font-size:.8em;color:rgba(22,33,29,.5);letter-spacing:0}
.bono--destacado .bono__aforo{color:rgba(243,241,234,.5)}

/* ---------- casillas de interés ---------- */
.intereses{
  border:0;margin:1.6rem 0 0;padding:1.1rem 1.2rem;
  background:rgba(11,31,25,.5);border:1px solid var(--borde);border-radius:14px;
  display:grid;gap:.15rem;
}
.intereses legend{
  font-family:var(--display);font-weight:700;font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--verde);
  padding:0 .4rem;
}
.intereses legend span{letter-spacing:.06em;text-transform:none;font-weight:400;color:rgba(243,241,234,.5)}
.intereses label{
  display:flex;align-items:center;gap:.7rem;cursor:pointer;
  padding:.5rem .2rem;font-size:.95rem;color:rgba(243,241,234,.85);
  border-radius:8px;transition:color .2s ease;
}
.intereses label:hover{color:var(--crema)}
.intereses input{
  width:1.15rem;height:1.15rem;accent-color:var(--coral);flex:none;cursor:pointer;
}

/* ---------- botón de WhatsApp ---------- */
.boton--whatsapp{
  display:inline-flex;align-items:center;gap:.65rem;
  background:#25D366;color:#0B1F19;
}
.boton--whatsapp:hover{background:#1EBE5B}
.boton--whatsapp svg{flex:none}

/* ---------- filas de tarifa con sesiones ---------- */
.bono__lista li{align-items:flex-start}
.linea__que{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.linea__que b{
  font-family:var(--display);font-weight:700;font-size:1rem;letter-spacing:-.01em;line-height:1.2;
}
.linea__que small{font-size:.8rem;color:rgba(22,33,29,.55);line-height:1.35}
.bono--destacado .linea__que small{color:rgba(243,241,234,.55)}
.linea__precio{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;flex:none;text-align:right}
.linea__precio b{
  font-family:var(--display);font-weight:800;font-size:1.45rem;letter-spacing:-.03em;line-height:1;
  white-space:nowrap;
}
.linea__precio small{
  font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(22,33,29,.45);font-weight:600;
}
.bono--destacado .linea__precio small{color:rgba(243,241,234,.45)}
.bono__lista--horas{margin-top:1.2rem;margin-bottom:1.4rem}
.bono__lista--horas .linea__precio b{font-size:1.05rem;color:var(--verde-humo)}

/* ---------- ser socio tiene premio ---------- */
.premio{
  margin-top:1.6rem;padding:1.5rem 1.7rem;border-radius:20px;
  background:var(--verde);color:#0E241D;
  display:grid;gap:.3rem;
}
.premio__titulo{
  font-family:var(--display);font-weight:800;font-size:1.15rem;
  letter-spacing:-.02em;margin:0;
}
.premio p{margin:0;font-size:1rem;line-height:1.5}
.premio b{font-weight:700}

.bono__precio{margin-bottom:.8rem}
.bono__lista--horas{margin-top:0}

/* ---------- enlace a Instagram bajo el vídeo ---------- */
.video__instagram{margin:1rem 0 0;text-align:center}
.video__instagram a{
  display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;
  font-family:var(--display);font-weight:700;font-size:.78rem;
  letter-spacing:.06em;color:var(--verde-humo);transition:color .25s ease;
}
.video__instagram a:hover{color:var(--coral)}

/* ---------- subtítulo dentro de una tarjeta de bono ---------- */
.bono__subtitulo{
  margin:1.4rem 0 .3rem;
  font-family:var(--display);font-weight:700;font-size:.78rem;
  letter-spacing:.1em;text-transform:uppercase;color:rgba(22,33,29,.55);
}
.bono--destacado .bono__subtitulo{color:var(--verde)}
.bono__subtitulo span{
  font-weight:500;letter-spacing:0;text-transform:none;
  color:rgba(22,33,29,.4);
}
.bono--destacado .bono__subtitulo span{color:rgba(243,241,234,.4)}
.bono__subtitulo:first-of-type{margin-top:1.6rem}

/* ---------- dónde estamos ---------- */
.contacto{list-style:none;margin:1.8rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.9rem}
.contacto a{
  display:inline-flex;align-items:center;
  font-family:var(--display);font-weight:700;font-size:.85rem;
  letter-spacing:.02em;text-decoration:none;
  padding:.85rem 1.4rem;border-radius:999px;
  background:var(--abismo);color:var(--crema);
  transition:background .25s ease,transform .25s ease;
}
.contacto a:hover{background:var(--profundo);transform:translateY(-1px)}
.mapa{
  border-radius:20px;overflow:hidden;border:1px solid rgba(22,33,29,.12);
  aspect-ratio:4/3;background:#e6e2d6;
}
.mapa iframe{width:100%;height:100%;border:0;display:block}
@media(min-width:900px){.mapa{aspect-ratio:1/1}}

/* ---------- botón de WhatsApp dentro de la lista de contacto ---------- */
.contacto__whatsapp{
  display:inline-flex!important;align-items:center;gap:.55rem;
  background:#25D366!important;color:#0E241D!important;
}
.contacto__whatsapp:hover{background:#1EBE5B!important}
