:root {
  --tinta:#171717;
  --crema:#f5f2ed;
  --papel:#fffefa;
  --rojo:#c82932;
  --rojo-oscuro:#931d28;
  --borde:#dedbd4;
  --ico-diagonal:url('../imagenes/iconos/flecha-diagonal.svg');
  --ico-derecha:url('../imagenes/iconos/flecha-derecha.svg');
  --ico-izquierda:url('../imagenes/iconos/flecha-izquierda.svg');
  --ico-abajo:url('../imagenes/iconos/flecha-abajo.svg');
  --ico-asterisco:url('../imagenes/iconos/asterisco.svg');
  --ico-cheurones:url('../imagenes/iconos/cheurones.svg');
  --ico-corazon:url('../imagenes/iconos/corazon.svg');
  --ico-candado:url('../imagenes/iconos/candado.svg');
  font-family:Arial,Helvetica,sans-serif;
  color:var(--tinta);
  background:var(--crema)
}
*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:100px
}
body {
  margin:0
}
html.menu-abierto,
body.menu-abierto,
html.menu-cerrando,
body.menu-cerrando {
  overflow:hidden
}
button,input,textarea {
  font:inherit
}
button {
  cursor:pointer
}
a {
  color:inherit;
  text-decoration:none
}
img,video {
  max-width:100%;
  display:block
}
.icono-svg {
  display:inline-block;
  flex:none;
  width:1em;
  height:1em;
  background:currentColor;
  -webkit-mask:var(--icono) center/contain no-repeat;
  mask:var(--icono) center/contain no-repeat
}
.icono-diagonal { --icono:var(--ico-diagonal) }
.icono-derecha { --icono:var(--ico-derecha) }
.icono-abajo { --icono:var(--ico-abajo) }
.icono-arriba { --icono:var(--ico-abajo); transform:rotate(180deg) }
.icono-asterisco { --icono:var(--ico-asterisco) }
.icono-corazon { --icono:var(--ico-corazon) }
.icono-candado { --icono:var(--ico-candado) }
h1,h2,h3,p {
  margin:0
}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:3px solid var(--rojo);
  outline-offset:4px
}
.saltar {
  position:absolute;
  top:-100px;
  left:12px;
  z-index:100;
  padding:10px;
  background:white
}
.saltar:focus {
  top:12px
}
.contenedor {
  width:min(100% - 40px,1260px);
  margin-inline:auto
}
.cabecera {
  height:64px;
  padding:0 16px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  position:fixed;
  top:calc(10px + env(safe-area-inset-top));
  left:12px;
  right:12px;
  z-index:40;
  isolation:isolate;
  border:1px solid #ffffff50;
  border-radius:22px;
  background:transparent;
  box-shadow:0 8px 24px #0002, inset 0 1px #ffffff36
}
.cabecera::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  background:#15151645;
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  backdrop-filter:blur(18px) saturate(160%)
}
body:not(.inicio):not(.eventos) main {
  padding-top:calc(86px + env(safe-area-inset-top))
}
.marca-icono {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:none;
  position:relative;
  z-index:1
}
.marca-icono img {
  width:48px;
  height:48px;
  object-fit:contain;
  filter:brightness(0) invert(1)
}
.marca-nombre {
  flex:1 1 auto;
  min-width:0;
  padding-inline:4px;
  overflow:hidden;
  white-space:nowrap;
  text-align:center;
  color:#fff;
  font-size:clamp(13.5px,3.9vw,23px);
  font-weight:900;
  letter-spacing:-.065em;
  line-height:1
}
.cabecera-enlaces {
  display:none
}
.cabecera-donar {
  position:relative;
  z-index:1;
  flex:none;
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:40px;
  margin-left:6px;
  padding:0 13px 0 11px;
  border-radius:999px;
  background:var(--rojo);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 6px 16px #c829324d,inset 0 1px #ffffff42;
  transition:background .25s ease,box-shadow .25s ease,transform .35s cubic-bezier(.16,1,.3,1)
}
.cabecera-donar .icono-svg {
  width:15px;
  height:15px;
  animation:latido 2.8s ease-in-out 1.2s infinite
}
.cabecera-donar:hover,
.cabecera-donar:focus-visible {
  background:var(--rojo-oscuro);
  transform:translateY(-1px)
}
.cabecera-donar:active {
  transform:scale(.94)
}
.cabecera-donar[aria-current=page] {
  box-shadow:0 0 0 3px #ffffff45,0 6px 16px #c829324d
}
.nav-clara .cabecera-donar[aria-current=page] {
  box-shadow:0 0 0 3px #c8293230,0 6px 16px #c829324d
}
.cabecera-donar + .menu-boton {
  flex:none;
  margin-left:6px
}
@keyframes latido {
  0%,40%,100% {
    transform:scale(1)
  }
  8% {
    transform:scale(1.24)
  }
  16% {
    transform:scale(1)
  }
  24% {
    transform:scale(1.14)
  }
}
@media(max-width:1019px) {
  .cabecera-donar {
    display:none
  }
}
.menu-boton {
  position:relative;
  z-index:2;
  width:48px;
  height:48px;
  margin-left:auto;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:0;
  border-radius:16px;
  background:transparent;
  color:#fff;
  transition:background .3s ease,transform .45s cubic-bezier(.2,.8,.2,1)
}
.menu-boton:hover,
.menu-boton:focus-visible {
  background:#ffffff24
}
.menu-boton:active {
  transform:scale(.9)
}
.menu-boton span {
  position:relative;
  width:22px;
  height:2px;
  flex:none;
  border-radius:3px;
  background:currentColor;
  transition:transform .55s cubic-bezier(.2,1.4,.3,1),width .35s ease,opacity .2s ease
}
.menu-boton span:nth-child(2) {
  width:15px;
  transform:translateX(3.5px)
}
.menu-boton:hover span:nth-child(2) {
  width:22px;
  transform:translateX(0)
}
.menu-abierto .menu-boton span:first-child {
  transform:translateY(7px) rotate(45deg)
}
.menu-abierto .menu-boton span:nth-child(2) {
  width:22px;
  opacity:0;
  transform:scaleX(0)
}
.menu-abierto .menu-boton span:last-child {
  transform:translateY(-7px) rotate(-45deg)
}
.menu-panel {
  position:fixed;
  inset:0;
  z-index:39;
  padding:calc(112px + env(safe-area-inset-top)) max(20px,5vw) max(32px,env(safe-area-inset-bottom));
  overflow-y:auto;
  overscroll-behavior:contain;
  visibility:hidden;
  pointer-events:none;
  color:#fff;
  background:linear-gradient(225deg,#7b2935e8 0%,#4c252af2 20%,transparent 54%),linear-gradient(155deg,#171516f2 0%,#201a1cf2 58%,#292022f2 100%);
  -webkit-backdrop-filter:blur(26px) saturate(150%);
  backdrop-filter:blur(26px) saturate(150%);
  -webkit-clip-path:circle(0px at var(--menu-x,calc(100% - 52px)) var(--menu-y,42px));
  clip-path:circle(0px at var(--menu-x,calc(100% - 52px)) var(--menu-y,42px));
  transition:visibility 0s .85s,-webkit-clip-path .85s cubic-bezier(.76,0,.24,1),clip-path .85s cubic-bezier(.76,0,.24,1)
}
.menu-abierto .menu-panel {
  visibility:visible;
  pointer-events:auto;
  -webkit-clip-path:circle(150vmax at var(--menu-x,calc(100% - 52px)) var(--menu-y,42px));
  clip-path:circle(150vmax at var(--menu-x,calc(100% - 52px)) var(--menu-y,42px));
  transition:visibility 0s,-webkit-clip-path .85s cubic-bezier(.76,0,.24,1),clip-path .85s cubic-bezier(.76,0,.24,1)
}
.menu-escena {
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none
}
.menu-escena::before {
  content:'';
  position:absolute;
  top:-7%;
  right:-9%;
  width:min(140vw,900px);
  aspect-ratio:900/820;
  background:url('../imagenes/menu/arcos-superiores.svg') center/contain no-repeat;
  opacity:.78;
  transform:translate3d(6%,-4%,0);
  transition:transform 1.2s cubic-bezier(.16,1,.3,1)
}
.menu-abierto .menu-escena::before {
  transform:translate3d(0,0,0)
}
.menu-escena-sello {
  position:absolute;
  right:-.14em;
  bottom:-.32em;
  color:transparent;
  font-size:min(56vw,660px);
  font-weight:900;
  letter-spacing:-.12em;
  -webkit-text-stroke:1px #ffffff25;
  opacity:.6;
  transform:translateY(16%) rotate(-9deg);
  transition:transform 1.2s cubic-bezier(.16,1,.3,1)
}
.menu-abierto .menu-escena-sello {
  transform:translateY(0) rotate(-9deg)
}
.menu-panel-contenido {
  position:relative;
  z-index:1;
  width:min(100%,940px);
  min-height:calc(100svh - 165px - env(safe-area-inset-top));
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  justify-content:center
}
.menu-panel-etiqueta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  color:#ffffffd9;
  font-size:13px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(16px);
  transition:opacity .45s ease,transform .6s cubic-bezier(.2,.8,.2,1)
}
.menu-panel-etiqueta {
  padding-bottom:16px
}
.menu-panel-etiqueta span:first-child::before {
  content:'';
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:10px;
  border-radius:50%;
  background:#e65a63;
  vertical-align:2px
}
.menu-icono {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #ffffff2e;
  border-radius:50%;
  color:#ff8a90;
  transition:background .3s ease,border-color .3s ease
}
.menu-icono svg {
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
.menu-panel a:hover .menu-icono,
.menu-panel a:focus-visible .menu-icono {
  border-color:#ff8a9080;
  background:#e8464c1f
}
.menu-panel a[aria-current=page] {
  color:#ff8a90
}
.menu-panel a[aria-current=page] .menu-icono {
  border-color:#ff8a90;
  background:#e8464c26
}
.menu-panel a[aria-current=page] .menu-texto::after {
  content:'Estás aquí';
  display:block;
  width:max-content;
  margin-top:4px;
  padding:4px 10px;
  border-radius:999px;
  background:#e8464c33;
  color:#ffc2c5;
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
  line-height:1.3
}
.menu-panel a {
  position:relative;
  display:grid;
  grid-template-columns:44px 1fr 32px;
  align-items:center;
  gap:14px;
  min-height:clamp(60px,8.8vh,100px);
  border-top:1px solid #ffffff36;
  color:#fff;
  opacity:0;
  transform:translateY(38px) rotate(-2deg);
  transition:opacity .5s ease,transform .72s cubic-bezier(.16,1,.3,1),color .3s ease
}
.menu-panel a:last-of-type {
  border-bottom:1px solid #ffffff36
}
.menu-panel a::before {
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  background:var(--rojo);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .5s cubic-bezier(.16,1,.3,1)
}
.menu-panel a:hover::before,
.menu-panel a:focus-visible::before {
  transform:scaleX(1)
}
.menu-numero {
  color:#f07279;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em
}
.menu-texto {
  font-size:clamp(32px,6vw,78px);
  font-weight:900;
  line-height:1;
  letter-spacing:-.075em;
  transition:transform .4s cubic-bezier(.16,1,.3,1)
}
.menu-panel a .icono-svg {
  justify-self:end;
  font-size:clamp(22px,3vw,30px);
  transition:transform .4s cubic-bezier(.16,1,.3,1)
}
.menu-panel a:hover,
.menu-panel a:focus-visible {
  color:#ff8a90
}
.menu-panel a:hover .menu-texto,
.menu-panel a:focus-visible .menu-texto {
  transform:translateX(10px)
}
.menu-panel a:hover .icono-svg,
.menu-panel a:focus-visible .icono-svg {
  transform:translate(4px,-4px)
}
.menu-abierto .menu-panel-etiqueta,
.menu-abierto .menu-panel a {
  opacity:1;
  transform:none
}
.menu-abierto .menu-panel-etiqueta {
  transition-delay:.2s
}
.menu-abierto .menu-panel a {
  transition-delay:calc(.24s + var(--orden) * .075s)
}
.menu-abierto .menu-boton::after,
.menu-cerrando .menu-boton::after {
  content:'Cerrar';
  position:absolute;
  right:100%;
  top:50%;
  margin-right:2px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  white-space:nowrap;
  transform:translateY(-50%)
}
.menu-cerrando .menu-boton::after {
  content:none
}
@media(max-width:359px) {
  .menu-abierto .menu-boton::after {
    content:none
  }
}
.menu-donar-fila {
  display:flex;
  align-items:center;
  gap:clamp(14px,4vw,24px);
  margin-top:clamp(28px,5vh,52px);
  opacity:0;
  transform:translateY(30px);
  transition:opacity .5s ease,transform .72s cubic-bezier(.16,1,.3,1)
}
.menu-donar-fila::before,
.menu-donar-fila::after {
  content:'';
  flex:1;
  height:1px;
  background:linear-gradient(90deg,transparent,#e8464caa)
}
.menu-donar-fila::after {
  background:linear-gradient(90deg,#e8464caa,transparent)
}
.menu-abierto .menu-donar-fila {
  opacity:1;
  transform:none;
  transition-delay:calc(.24s + var(--orden) * .075s)
}
.menu-panel .menu-donar-fila a.menu-donar {
  display:inline-flex;
  flex:none;
  align-items:center;
  gap:16px;
  min-height:60px;
  padding:0 30px 0 28px;
  border:1px solid #ff8a9080;
  border-radius:999px;
  background:linear-gradient(180deg,#dc4650 0%,#b8262f 100%);
  color:#fff;
  opacity:1;
  transform:none;
  box-shadow:0 0 0 5px #c829321f,0 14px 36px #e8464c59,inset 0 1px #ffffff47;
  transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,background .3s ease
}
.menu-panel .menu-donar-fila a.menu-donar::before {
  display:none
}
.menu-donar-texto {
  font-size:15px;
  font-weight:800;
  letter-spacing:.24em;
  margin-right:-.24em
}
.menu-panel a.menu-donar .icono-svg {
  width:22px;
  height:22px;
  font-size:22px
}
.menu-panel a.menu-donar .icono-corazon {
  animation:latido 2.8s ease-in-out 1.2s infinite
}
.menu-panel a.menu-donar .icono-derecha {
  width:19px;
  height:19px;
  transition:transform .35s cubic-bezier(.16,1,.3,1)
}
.menu-panel .menu-donar-fila a.menu-donar:hover,
.menu-panel .menu-donar-fila a.menu-donar:focus-visible {
  color:#fff;
  background:linear-gradient(180deg,#e5525b 0%,#c82932 100%);
  box-shadow:0 0 0 7px #c829322b,0 16px 40px #e8464c80,inset 0 1px #ffffff52
}
.menu-panel a.menu-donar:hover .icono-derecha,
.menu-panel a.menu-donar:focus-visible .icono-derecha {
  transform:translateX(5px)
}
.menu-panel .menu-donar-fila a.menu-donar:active {
  transform:scale(.96)
}
.cabecera-progreso {
  position:absolute;
  left:16px;
  right:16px;
  bottom:0;
  height:2px;
  overflow:hidden;
  background:#ffffff38;
  pointer-events:none
}
.cabecera-progreso span {
  display:block;
  width:100%;
  height:100%;
  background:#fff;
  transform:scaleX(0);
  transform-origin:left center;
  will-change:transform
}
.nav-clara .cabecera {
  border-color:#ffffff8c;
  box-shadow:0 8px 24px #18120d14, inset 0 1px #ffffffa6
}
.nav-clara .cabecera::before {
  background:#fffefaef
}
.nav-clara .marca-icono img {
  filter:none
}
.nav-clara .marca-nombre {
  color:var(--tinta)
}
.nav-clara .menu-boton {
  color:var(--tinta)
}
.nav-clara .menu-boton:hover,
.nav-clara .menu-boton:focus-visible {
  background:#17171712
}
.nav-clara .cabecera-progreso {
  background:#17171722
}
.nav-clara .cabecera-progreso span {
  background:var(--rojo)
}
.menu-abierto .cabecera,
.menu-cerrando .cabecera {
  border-color:#ffffff50;
  box-shadow:0 8px 24px #0002,inset 0 1px #ffffff36
}
.menu-abierto .cabecera::before,
.menu-cerrando .cabecera::before {
  background:#15151645
}
.menu-abierto .marca-icono img,
.menu-cerrando .marca-icono img {
  filter:brightness(0) invert(1)
}
.menu-abierto .marca-nombre,
.menu-abierto .menu-boton,
.menu-cerrando .marca-nombre,
.menu-cerrando .menu-boton {
  color:#fff
}
.menu-abierto .menu-boton:hover,
.menu-abierto .menu-boton:focus-visible,
.menu-cerrando .menu-boton:hover,
.menu-cerrando .menu-boton:focus-visible {
  background:#ffffff24
}
.menu-abierto .cabecera-progreso,
.menu-cerrando .cabecera-progreso {
  background:#ffffff38
}
.menu-abierto .cabecera-progreso span,
.menu-cerrando .cabecera-progreso span {
  background:#fff
}
.portada {
  min-height:calc(100svh - 72px);
  min-height:max(620px,calc(100svh - 72px));
  position:relative;
  color:#fff;
  overflow:hidden;
  display:flex;
  align-items:end;
  isolation:isolate;
  background:#1c1718
}
.portada-escena {
  position:absolute;
  inset:0;
  z-index:-2;
  overflow:hidden;
  background:radial-gradient(ellipse at 79% 29%,#8e3437 0,transparent 28%),radial-gradient(ellipse at 12% 100%,#581d22 0,transparent 42%),linear-gradient(125deg,#141313 22%,#272021 62%,#5b2027)
}
.portada-escena::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,#0b0b0bea 0,transparent 67%)
}
.onda {
  position:absolute;
  width:145vw;
  height:48vw;
  border:1px solid #ffffff31;
  border-radius:50%;
  transform:rotate(-32deg);
  left:7%;
  top:2%
}
.onda-dos {
  top:14%;
  left:11%;
  width:137vw;
  border-color:#ffffff26
}
.onda-tres {
  top:26%;
  left:15%;
  width:129vw;
  border-color:#ffffff20
}
.portada-monograma {
  position:absolute;
  font-size:78vw;
  font-weight:900;
  letter-spacing:-.14em;
  line-height:1;
  right:-14vw;
  top:4%;
  color:transparent;
  -webkit-text-stroke:2px #ffffff13;
  user-select:none
}
.portada-contenido {
  padding-bottom:86px;
  position:relative;
  z-index:2
}
.etiqueta {
  font-size:11px;
  line-height:1.5;
  letter-spacing:.18em;
  font-weight:800;
  color:var(--rojo)
}
.etiqueta-clara {
  color:#f7c0ba
}
.punto {
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#f8c6bd;
  vertical-align:2px;
  margin-right:8px
}
.portada h1 {
  font-size:clamp(59px,15.2vw,124px);
  line-height:.82;
  letter-spacing:-.096em;
  font-weight:900;
  margin:22px 0 30px;
  max-width:850px
}
.punto-final {
  display:inline-block;
  color:#e8464c
}
.portada-frase {
  font-family:Georgia,serif;
  font-size:clamp(21px,6vw,31px);
  font-style:italic;
  line-height:1.2;
  margin-bottom:33px
}
.boton {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:54px;
  padding:14px 19px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  transition:transform .2s,background .2s
}
.boton .icono-svg {
  width:18px;
  height:18px
}
.boton:hover {
  transform:translateY(-2px)
}
.boton-claro {
  background:var(--papel);
  color:var(--tinta)
}
.boton-claro:hover {
  background:#e8e0d8
}
.boton-rojo {
  background:var(--rojo);
  color:#fff
}
.boton-rojo:hover {
  background:var(--rojo-oscuro)
}
@font-face {
  font-family:'Mona Sans';
  src:url('../fuentes/mona-sans.woff2') format('woff2');
  font-weight:200 900;
  font-stretch:75% 125%;
  font-display:swap
}
@font-face {
  font-family:'Instrument Serif';
  src:url('../fuentes/instrument-serif-italic.woff2') format('woff2');
  font-style:italic;
  font-weight:400;
  font-display:swap
}
.encuentros {
  padding:clamp(112px,12vw,160px) 0 clamp(86px,9vw,118px);
  background:var(--papel);
  font-family:'Mona Sans',Arial,Helvetica,sans-serif
}
.encuentros-panel {
  position:relative;
  padding:clamp(28px,4.5vw,62px);
  padding-top:clamp(165px,15vw,200px);
  border-radius:clamp(30px,4vw,46px);
  background:#f0eae4
}
.encuentros-panel::before {
  content:'';
  position:absolute;
  top:0;
  right:clamp(28px,4.5vw,62px);
  width:clamp(72px,12vw,170px);
  height:3px;
  background:var(--rojo)
}
.encuentros-panel::after {
  content:'SV';
  position:absolute;
  right:clamp(32px,4vw,60px);
  bottom:22px;
  color:transparent;
  font-size:clamp(120px,17vw,230px);
  font-weight:900;
  line-height:.8;
  letter-spacing:-.15em;
  -webkit-text-stroke:1px #9d293512;
  pointer-events:none
}
.encuentros-titulo {
  position:absolute;
  z-index:2;
  top:-.65em;
  left:clamp(28px,4.5vw,62px);
  font-size:clamp(58px,8.2vw,116px);
  font-weight:780;
  line-height:.88;
  letter-spacing:-.09em
}
.encuentros-titulo>span {
  display:block;
  white-space:nowrap
}
.encuentros-titulo>span:last-child {
  padding-left:.19em;
  color:#972d35;
  font-family:'Instrument Serif',Georgia,'Times New Roman',serif;
  font-size:1.08em;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.07em
}
.encuentros-grid {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  grid-template-areas:'contenido visual' 'contenido jovenes' 'pie pie';
  grid-template-rows:auto 1fr auto;
  align-items:start;
  column-gap:clamp(30px,5vw,76px);
  row-gap:30px
}
.encuentros-contenido {
  grid-area:contenido;
  min-width:0;
  align-self:stretch;
  display:flex;
  flex-direction:column
}
.encuentros-intro {
  max-width:100%;
  margin-top:18px
}
.encuentros-intro em {
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(25px,2.4vw,31px);
  font-style:normal;
  font-weight:400;
  line-height:1.18;
  letter-spacing:-.045em
}
.encuentros-intro span {
  display:block;
  max-width:33ch;
  margin-top:10px;
  color:#4c4541;
  font-size:clamp(15px,1.5vw,18px);
  font-weight:450;
  line-height:1.45
}
.encuentros-horarios {
  display:flex;
  flex-direction:column;
  flex:1;
  margin-top:32px
}
.encuentros-seccion {
  color:var(--rojo-oscuro);
  font-size:10px;
  font-weight:800;
  letter-spacing:.17em
}
.encuentros-horarios h3,
.encuentros-jovenes h3 {
  margin-top:10px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(30px,3vw,40px);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.045em
}
.encuentros-detalles {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
  font-size:13px;
  line-height:1.4
}
.encuentros-detalles strong {
  font-weight:750
}
.encuentros-detalles span {
  color:#685c54;
  padding-left:10px;
  border-left:1px solid #9e8e81
}
.encuentros-horarios ol {
  flex:1;
  display:grid;
  grid-template-rows:repeat(3,1fr);
  margin:18px 0 0;
  padding:0;
  list-style:none
}
.encuentros-horarios li {
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:12px;
  min-height:69px;
  border-top:1px solid #3b302a37
}
.encuentros-horarios li:last-child {
  border-bottom:1px solid #3b302a37
}
.encuentros-horarios time,
.encuentros-cita time {
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(38px,3.7vw,52px);
  font-weight:400;
  font-variant-numeric:lining-nums tabular-nums;
  line-height:1;
  letter-spacing:-.065em
}
.encuentros-horarios small {
  color:#6d625d;
  font-size:12px;
  font-weight:500
}
.encuentros-jovenes {
  grid-area:jovenes;
  min-width:0;
  padding-top:24px;
  border-top:1px solid #3b302a37
}
.encuentros-descripcion {
  max-width:40ch;
  margin-top:12px;
  color:#4c4541;
  font-size:15px;
  line-height:1.5
}
.encuentros-cita {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  margin-top:21px
}
.encuentros-cita .encuentros-detalles {
  margin-top:0
}
.encuentros-cita time {
  color:#972d35
}
.encuentros-grupos {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:20px 0 0;
  padding:0;
  list-style:none
}
.encuentros-grupos li {
  padding:8px 14px;
  border:1px solid #972d352b;
  border-radius:999px;
  background:#fffefa66;
  color:#7e3036;
  font-size:12px;
  font-weight:600
}
.encuentros-pie {
  grid-area:pie;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:6px;
  padding-top:25px;
  border-top:1px solid #3b302a37
}
.encuentros-pie>p {
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(20px,2.2vw,28px);
  line-height:1.25;
  letter-spacing:-.035em
}
.encuentros-pie em {
  color:#972d35
}
.encuentros-enlace {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:27px;
  min-height:52px;
  margin-top:0;
  padding:14px 19px;
  border-radius:999px;
  background:var(--rojo);
  color:#fff;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  transition:background .2s,transform .2s
}
.encuentros-enlace:hover {
  background:var(--rojo-oscuro);
  transform:translateY(-2px)
}
.encuentros-enlace .icono-svg {
  width:18px;
  height:18px
}
.encuentros-visual {
  grid-area:visual;
  position:relative;
  min-width:0;
  aspect-ratio:1125/634;
  margin:-145px 0 0;
  overflow:hidden;
  border-radius:clamp(22px,2.5vw,30px);
  background:#302526;
  box-shadow:0 18px 44px #3928211d
}
.encuentros-visual img {
  width:100%;
  height:100%;
  object-fit:contain
}
@media(max-width:767px) {
  .encuentros {
    padding:108px 0 84px
  }
  .encuentros-panel {
    padding:22px;
    padding-top:122px
  }
  .encuentros-panel::after {
    display:none
  }
  .encuentros-titulo {
    left:22px;
    font-size:clamp(48px,13vw,62px)
  }
  .encuentros-titulo>span:last-child {
    padding-left:.1em;
    font-size:1.04em
  }
  .encuentros-grid {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:'visual' 'contenido' 'jovenes' 'pie';
    grid-template-rows:auto;
    align-items:stretch;
    gap:27px
  }
  .encuentros-visual {
    margin:0
  }
  .encuentros-intro {
    max-width:32ch
  }
  .encuentros-horarios li {
    min-height:61px
  }
  .encuentros-pie {
    flex-direction:column;
    align-items:flex-start;
    gap:20px
  }
}
.novedades {
  padding:78px 0 50px;
  background:var(--papel);
  overflow:hidden;
  scroll-margin-top:110px
}
.novedades-encabezado {
  border-bottom:1px solid #cfc9c2;
  padding-bottom:26px;
  margin-bottom:28px
}
.novedades-encabezado h2 {
  font-size:clamp(37px,9.5vw,68px);
  line-height:1.02;
  letter-spacing:-.065em;
  margin-top:13px;
  max-width:700px
}
.novedades-vista {
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  touch-action:pan-y;
  cursor:grab
}
.novedades.activo .novedades-vista {
  overflow:hidden;
  scroll-snap-type:none
}
.novedades-vista.arrastrando {
  cursor:grabbing
}
.novedades-pista {
  display:flex;
  gap:14px;
  position:relative;
  will-change:transform;
  transition:transform .62s cubic-bezier(.22,1,.36,1)
}
.novedades-tarjeta {
  flex:0 0 min(76vw,340px);
  height:clamp(430px,140vw,560px);
  border-radius:20px;
  color:#fff;
  position:relative;
  display:flex;
  flex-direction:column;
  padding:27px 26px 29px;
  overflow:hidden;
  isolation:isolate;
  scroll-snap-align:start;
  user-select:none;
  -webkit-user-drag:none
}
.novedades-tarjeta::after {
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,#0003 0,transparent 35%,#000b 100%)
}
.novedades-visual {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  border-radius:inherit
}
.novedades-visual::before,.novedades-visual::after {
  content:'';
  position:absolute
}
.novedades-numero {
  font-size:11px;
  letter-spacing:.16em;
  font-weight:800;
  position:relative;
  z-index:2
}
.novedades-icono {
  position:absolute;
  top:19px;
  right:18px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  z-index:2;
  border:1px solid #ffffffa8;
  border-radius:50%;
  font-size:25px;
  transition:transform .25s,background .25s
}
.novedades-icono .icono-svg {
  width:26px;
  height:26px
}
.novedades-tarjeta:hover .novedades-icono {
  transform:translate(3px,-3px);
  background:#ffffff2d
}
.novedades-copia {
  position:relative;
  z-index:2;
  margin-top:auto
}
.novedades-copia strong {
  display:block;
  font-family:'Mona Sans',Arial,Helvetica,sans-serif;
  font-size:clamp(41px,11vw,58px);
  font-weight:820;
  letter-spacing:-.075em;
  line-height:.88;
  max-width:100%;
  text-wrap:balance
}
.novedades-copia strong em {
  display:block;
  font-style:normal
}
.novedades-copia>span {
  border-bottom:1px solid #ffffffc9;
  padding:13px 0 7px;
  margin-top:25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:11px;
  letter-spacing:.18em;
  font-weight:800
}
.novedades-copia i {
  font-size:24px;
  font-style:normal;
  line-height:1
}
.novedades-nuevo {
  background:#282524;
  border-radius:28px 28px 20px 20px
}
.novedades-nuevo .novedades-visual {
  background:linear-gradient(180deg,#0718291a 0%,#0412242e 55%,#020b17ba 100%),url('../imagenes/reuniones/escenario.jpg') center/cover no-repeat
}
.novedades-nuevo .novedades-copia strong em,
.novedades-camino .novedades-copia strong em {
  font-family:'Instrument Serif',Georgia,serif;
  font-size:1.18em;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.055em;
  line-height:.82
}
.novedades-dance {
  background:#b62a34
}
.novedades-dance .novedades-visual {
  background:linear-gradient(180deg,#341b2810 0%,#341b2826 58%,#1b1015b8 100%),url('../imagenes/dance/duo.webp') 64% center/cover no-repeat
}
.novedades-dance .novedades-copia strong {
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:-.06em
}
.novedades-dance .novedades-copia strong em {
  font-style:italic;
  letter-spacing:-.065em
}
.novedades-music {
  background:#18272b
}
.novedades-music .novedades-visual {
  background:linear-gradient(180deg,#15060712 0%,#1b080b12 48%,#14050785 100%),url('../imagenes/music/tarjeta-inicio.jpg') center/cover no-repeat
}
.novedades-music .novedades-copia strong {
  font-weight:850;
  text-transform:uppercase
}
.novedades-music .novedades-copia strong em {
  color:#fff0e7;
  font-style:italic;
  letter-spacing:-.06em
}
.novedades-coffee {
  background:#9d6845
}
.novedades-coffee .novedades-visual {
  background:linear-gradient(180deg,#21130b50 0%,#21130b18 42%,#21130bae 100%),url('../imagenes/coffee/tarjeta-cafe-helado.jpg') 66% center/cover no-repeat
}
.novedades-coffee .novedades-copia strong {
  font-weight:650;
  letter-spacing:-.065em
}
.novedades-coffee .novedades-copia strong em {
  font-family:'Instrument Serif',Georgia,serif;
  font-size:1.25em;
  font-weight:400;
  font-style:italic;
  letter-spacing:-.045em;
  line-height:.78
}
.novedades-eventos {
  background:#3a1f30
}
.novedades-eventos .novedades-visual {
  background:linear-gradient(180deg,#0612220b 0%,#06122224 45%,#0612228c 100%),url('../imagenes/eventos/Imagen-SV-009.jpeg') 50% 40%/cover no-repeat
}
.novedades-eventos .novedades-copia strong {
  font-size:clamp(43px,10.5vw,60px);
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:-.065em
}
.novedades-camino {
  background:#dac6ad;
  color:#fff
}
.novedades-camino::after {
  background:linear-gradient(180deg,#1d161320 0%,transparent 28%,#150f0dc2 100%)
}
.novedades-camino .novedades-visual {
  background:linear-gradient(180deg,#251b170a,#251b1733),url('../imagenes/soy-nuevo/oracion.webp') 52% center/cover no-repeat;
  filter:saturate(1.18) contrast(1.06)
}
.novedades-camino .novedades-copia strong {
  font-weight:720
}
.novedades-controles {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:21px
}
.novedades-indice {
  font-size:20px;
  font-weight:800;
  font-variant-numeric:tabular-nums
}
.novedades-indice small {
  color:#837c73;
  font-size:12px;
  font-weight:700
}
.novedades-controles>div {
  display:none;
  gap:9px
}
.novedades.activo .novedades-controles>div {
  display:flex
}
.novedades-controles button {
  width:49px;
  height:49px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#e6cb85;
  color:#1d1b1a;
  transition:transform .2s,background .2s
}
.novedades-controles button:hover {
  background:#d9bb6e;
  transform:translateY(-2px)
}
.novedades.en-transicion {
  height:100svh;
  height:100dvh;
  min-height:100lvh;
  padding:calc(112px + env(safe-area-inset-top)) 0 clamp(12px,2.5svh,28px);
  display:flex;
  align-items:flex-start;
  position:relative
}
.novedades.en-transicion>.contenedor {
  flex:none;
  margin-inline:auto;
  position:relative;
  z-index:1
}
.novedades.en-transicion .novedades-encabezado {
  padding-bottom:clamp(10px,2svh,20px);
  margin-bottom:clamp(14px,2.5svh,28px)
}
.novedades.en-transicion .novedades-encabezado h2 {
  margin-top:8px
}
.novedades.en-transicion .novedades-tarjeta {
  height:clamp(300px,calc(100svh - 325px),585px)
}
.novedades.en-transicion .novedades-controles {
  position:relative;
  width:100%;
  margin-top:clamp(14px,2svh,22px)
}
.novedades.en-transicion.en-entrada .novedades-vista,
.novedades.en-transicion.en-entrada .novedades-controles {
  pointer-events:none
}
.novedades.en-transicion.en-entrada .novedades-controles {
  opacity:0
}
.novedades.en-transicion.en-entrada .novedades-vista {
  overflow:visible
}
.novedades.en-transicion.en-entrada .novedades-tarjeta[aria-hidden] {
  visibility:hidden
}
.novedades.en-transicion.en-entrada .novedades-nuevo:not([aria-hidden]) {
  z-index:2
}
@media(max-width:767px) {
  .novedades.en-transicion.activo .novedades-vista {
    overflow:visible;
    will-change:clip-path
  }
  .novedades.en-transicion .novedades-tarjeta {
    flex-basis:min(70vw,320px)
  }
  .novedades.en-transicion .novedades-nuevo:not([aria-hidden]) {
    will-change:transform
  }
}
@media(max-width:767px) and (max-height:650px) {
  .novedades.en-transicion {
    padding-top:calc(94px + env(safe-area-inset-top))
  }
  .novedades.en-transicion .novedades-tarjeta {
    height:clamp(260px,calc(100svh - 298px),320px)
  }
}
@media(max-width:359px) {
  .novedades-eventos .novedades-copia strong {
    font-size:36px
  }
}
@media(min-width:720px) {
  .novedades {
    padding:105px 0 80px
  }
  .novedades-encabezado {
    margin-bottom:33px
  }
  .novedades-tarjeta {
    flex-basis:min(43%,400px);
    height:580px
  }
}
@media(min-width:1020px) {
  .novedades.en-transicion {
    padding-top:clamp(108px,13svh,138px)
  }
  .novedades-tarjeta {
    flex-basis:calc((100% - 32px)/3.15);
    height:610px
  }
  .novedades.en-transicion .novedades-tarjeta {
    height:clamp(440px,calc(100svh - 340px),600px)
  }
}
.pastores {
  padding:0 0 clamp(70px,8vw,112px);
  background:var(--papel)
}
.pastores-cabecera {
  margin-bottom:clamp(26px,3vw,42px)
}
.pastores-etiqueta {
  margin-bottom:16px
}
.pastores-encabezado {
  margin:0;
  font-size:clamp(48px,6.5vw,94px);
  line-height:.96;
  letter-spacing:-.075em;
  font-weight:900
}
.pastores-marco {
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(38px,5vw,80px);
  padding:clamp(28px,4.5vw,62px);
  border-radius:28px;
  background:#e9e1cd
}
.pastores-contenido {
  min-width:0
}
.pastores-contenido h3 {
  margin:0;
  font-size:clamp(38px,4.4vw,62px);
  line-height:1.05;
  letter-spacing:-.068em;
  font-weight:900
}
.pastores-subtitulo {
  margin-top:clamp(26px,3vw,44px);
  font-size:clamp(22px,2.2vw,31px);
  line-height:1.12;
  letter-spacing:-.045em;
  font-weight:800
}
.pastores-resumen {
  margin-top:22px;
  color:#39332d;
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.48
}
.pastores-resumen.pastores-vision {
  max-width:46ch;
  margin-top:16px;
  padding-left:16px;
  border-left:2px solid #d92b3a;
  color:#6a625a;
  font-size:clamp(15px,1.25vw,17px);
  line-height:1.6
}
.pastores-boton {
  margin-top:32px;
  min-height:51px;
  padding-inline:22px;
  border-radius:999px;
  background:var(--tinta);
  color:#fff
}
.pastores-boton:hover {
  background:var(--rojo)
}
.pastores-foto {
  position:relative;
  width:100%;
  aspect-ratio:4/5;
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#d4ccbf
}
.pastores-foto img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 38%
}
@media(max-width:940px) {
  .pastores-marco {
    gap:32px;
    padding:32px
  }
  .pastores-contenido h3 {
    font-size:clamp(36px,5vw,48px)
  }
}
@media(max-width:767px) {
  .pastores-cabecera {
    margin-bottom:28px
  }
  .pastores-etiqueta {
    margin-bottom:13px;
    font-size:11px;
    letter-spacing:.2em
  }
  .pastores-encabezado {
    font-size:clamp(42px,10.5vw,64px)
  }
  .pastores-marco {
    grid-template-columns:1fr;
    gap:clamp(42px,9vw,58px);
    padding:clamp(20px,5.5vw,30px);
    border-radius:24px
  }
  .pastores-contenido h3 {
    font-size:clamp(38px,10vw,54px)
  }
  .pastores-subtitulo {
    margin-top:30px;
    font-size:clamp(21px,5.8vw,25px)
  }
  .pastores-resumen {
    margin-top:21px;
    font-size:17px
  }
  .pastores-boton {
    margin-top:30px
  }
  .pastores-foto {
    aspect-ratio:5/4;
    border-radius:17px
  }
  .pastores-foto img {
    object-position:center 38%
  }
}
@media(max-width:350px) {
  .pastores-contenido h3 {
    font-size:36px
  }
}
.bloque-eventos {
  background:var(--rojo);
  color:#fff;
  padding:88px 0 98px;
  position:relative;
  overflow:hidden
}
.bloque-eventos-interior {
  position:relative;
  z-index:1
}
.bloque-eventos h2 {
  font-size:clamp(49px,12vw,92px);
  line-height:.97;
  letter-spacing:-.07em;
  font-weight:800;
  margin:16px 0 40px;
  max-width:700px
}
.pie {
  background:#171717;
  color:#f7f3ed;
  padding:62px 0 24px
}
.pie-superior {
  display:flex;
  flex-direction:column;
  gap:57px
}
.pie-marca {
  font-size:clamp(55px,14vw,90px);
  line-height:.78;
  letter-spacing:-.09em;
  font-weight:900
}
.pie-marca span {
  color:#e43d46
}
.pie nav {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px 20px
}
.pie nav a {
  font-size:13px
}
.pie nav a:hover {
  color:#ef5e63
}
.pie-inferior {
  margin-top:75px;
  border-top:1px solid #ffffff43;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  font-size:11px;
  color:#bdb5ac
}
.pie-inferior a {
  gap:7px
}
.pie-inferior .icono-svg {
  width:13px;
  height:13px
}
.pagina-portada {
  padding-top:75px;
  padding-bottom:76px;
  background:var(--crema)
}
.pagina-portada h1 {
  font-size:clamp(57px,13vw,120px);
  line-height:.9;
  letter-spacing:-.08em;
  font-weight:900;
  margin:17px 0 25px;
  text-transform:uppercase
}
.pagina-portada>div>p:last-child {
  font-size:clamp(18px,4.5vw,24px);
  line-height:1.35;
  color:#5d5753;
  max-width:650px
}
.pagina-acento {
  background:var(--rojo);
  color:#fff
}
.pagina-acento .etiqueta {
  color:#ffdad0
}
.pagina-acento>div>p:last-child {
  color:#fff3eb
}
.pagina-oscura {
  background:#1b2529;
  color:#fff
}
.pagina-oscura .etiqueta {
  color:#b6d3cd
}
.pagina-oscura>div>p:last-child {
  color:#d6e4e0
}
.pagina-cafe {
  background:#ad7652;
  color:#fff
}
.pagina-cafe .etiqueta {
  color:#f5ded0
}
.pagina-cafe>div>p:last-child {
  color:#fff4ea
}
.titulo-ruta {
  font-size:clamp(37px,9vw,65px);
  letter-spacing:-.06em;
  line-height:1;
  margin:15px 0 0
}
.seccion-interior {
  padding:75px 0
}
.seccion-interior h2 {
  font-size:clamp(36px,9vw,64px);
  line-height:1;
  letter-spacing:-.06em;
  margin:15px 0 25px
}
.seccion-interior p:not(.etiqueta) {
  font-size:16px;
  line-height:1.55;
  color:#615b56;
  max-width:620px
}
.seccion-interior .enlace-flecha {
  margin-top:30px
}
.marco-medios {
  padding:12px 0 72px
}
.carrusel {
  position:relative
}
.carrusel-vista {
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  gap:12px
}
.carrusel-vista::-webkit-scrollbar {
  display:none
}
.diapositiva {
  scroll-snap-align:start;
  flex:0 0 88%;
  height:clamp(310px,75vw,560px);
  position:relative;
  overflow:hidden;
  background:#242120;
  color:white;
  display:flex;
  align-items:end;
  padding:23px
}
.diapositiva:nth-child(2) {
  background:#a83238
}
.diapositiva:nth-child(3) {
  background:#a77958
}
.diapositiva img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.diapositiva::before {
  display:none
}
.diapositiva::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,#0009 100%)
}
.diapositiva span {
  position:relative;
  z-index:1;
  font-size:11px;
  letter-spacing:.12em;
  font-weight:800
}
.carrusel-controles {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:15px
}
.carrusel-controles p {
  font-size:11px;
  letter-spacing:.1em;
  font-weight:800
}
.carrusel-controles div {
  display:flex;
  gap:8px
}
.carrusel-controles button {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid #aaa39c;
  background:transparent;
  border-radius:50%
}
.carrusel-controles button:hover {
  background:var(--tinta);
  color:white
}
.bloque-ruta {
  background:#e9e4dc;
  padding:78px 0
}
.ruta {
  display:grid;
  margin-top:35px
}
.ruta article {
  border-top:1px solid #c3bdb4;
  padding:20px 0;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:10px
}
.ruta article:last-child {
  border-bottom:1px solid #c3bdb4
}
.ruta article span {
  color:var(--rojo);
  font-size:12px;
  font-weight:800;
  padding-top:5px
}
.ruta article h3 {
  font-size:25px;
  letter-spacing:-.04em
}
.ruta article p {
  grid-column:2;
  font-size:14px;
  color:#6b645d;
  line-height:1.45
}
.modulo-mapa {
  background:#242322;
  color:white;
  padding:70px 0
}
.modulo-mapa h2 {
  font-size:clamp(40px,10vw,70px);
  letter-spacing:-.06em;
  line-height:1;
  margin:14px 0 26px
}
.modulo-mapa .etiqueta {
  color:#efa7a6
}
.modulo-mapa p:not(.etiqueta) {
  color:#c7bdb4;
  line-height:1.5
}
.mapa-marco {
  min-height:300px;
  border:1px solid #ffffff51;
  position:relative;
  overflow:hidden;
  background:repeating-linear-gradient(0deg,transparent 0,transparent 38px,#ffffff13 39px,#ffffff13 40px),repeating-linear-gradient(90deg,transparent 0,transparent 38px,#ffffff13 39px,#ffffff13 40px)
}
.mapa-marco::before {
  content:'CDMX';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-weight:900;
  letter-spacing:-.07em;
  font-size:75px;
  color:#ffffff22
}
.mapa-marco::after {
  content:'+';
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  font-size:54px;
  color:#e4575b
}
.contacto {
  background:var(--rojo);
  color:white;
  padding:75px 0
}
.contacto h2 {
  font-size:clamp(43px,10vw,70px);
  line-height:1;
  letter-spacing:-.06em;
  margin:13px 0 25px
}
.contacto .etiqueta {
  color:#ffdbd7
}
.contacto p:not(.etiqueta) {
  font-size:16px;
  line-height:1.5;
  max-width:520px;
  margin-bottom:27px
}
.contacto .boton[aria-disabled=true] {
  opacity:.64;
  cursor:not-allowed
}
.contacto .boton[aria-disabled=true]:hover {
  transform:none
}
.contacto button.boton {
  border:0
}
.media-columnas {
  display:grid;
  gap:13px;
  margin-top:36px
}
.media-columnas .diapositiva {
  height:320px;
  flex:none
}
.media-columnas .diapositiva:nth-child(2) {
  transform:none
}
.modulo-info {
  padding:72px 0
}
.modulo-info-grid {
  display:grid;
  gap:30px
}
.modulo-info h2 {
  font-size:clamp(37px,9vw,65px);
  letter-spacing:-.06em;
  line-height:1;
  margin:15px 0
}
.modulo-info p:not(.etiqueta) {
  line-height:1.55;
  color:#5b5550
}
.fichas {
  display:grid;
  gap:1px;
  background:#cfc8bf;
  border:1px solid #cfc8bf
}
.fichas article {
  padding:27px;
  background:var(--crema)
}
.fichas article span {
  font-size:11px;
  color:var(--rojo);
  font-weight:800;
  letter-spacing:.1em
}
.fichas article h3 {
  font-size:26px;
  letter-spacing:-.05em;
  margin-top:14px
}
.fichas article p {
  font-size:14px;
  margin-top:10px
}
.eventos-vacio {
  padding:70px 0 110px
}
.eventos-vacio .lista-eventos {
  margin-top:28px;
  border-top:1px solid var(--borde)
}
.lista-eventos article {
  display:grid;
  grid-template-columns:60px 1fr;
  gap:15px;
  padding:25px 0;
  border-bottom:1px solid var(--borde)
}
.lista-eventos span {
  font-size:12px;
  font-weight:800;
  color:var(--rojo)
}
.lista-eventos h3 {
  font-size:26px;
  letter-spacing:-.04em
}
.lista-eventos p {
  margin-top:9px;
  font-size:14px;
  line-height:1.45;
  color:#645e59
}
@media(min-width:720px) {
  .contenedor {
    width:min(100% - 64px,1260px)
  }
  .cabecera {
    padding-inline:32px
  }
  .portada-contenido {
    padding-bottom:100px
  }
  .portada h1 {
    font-size:clamp(90px,12vw,165px)
  }
  .bloque-eventos {
    padding:125px 0
  }
  .bloque-eventos-interior {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px
  }
  .pie-superior {
    flex-direction:row;
    justify-content:space-between
  }
  .pie nav {
    grid-template-columns:repeat(2,auto);
    gap:15px 40px
  }
  .pagina-portada {
    padding-top:120px;
    padding-bottom:125px
  }
  .diapositiva {
    flex-basis:65%;
    height:480px
  }
  .modulo-mapa>.contenedor {
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:60px;
    align-items:center
  }
  .mapa-marco {
    height:420px
  }
  .media-columnas {
    grid-template-columns:1.4fr .8fr
  }
  .media-columnas .diapositiva {
    height:480px
  }
  .modulo-info-grid {
    grid-template-columns:1fr 1.3fr;
    gap:70px
  }
  .fichas {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(min-width:1020px) {
  .cabecera {
    height:70px;
    top:18px;
    left:clamp(18px,3vw,48px);
    right:clamp(18px,3vw,48px);
    padding:0 24px;
    gap:10px;
    border-radius:24px
  }
  .marca-icono,
  .marca-icono img {
    width:52px;
    height:52px
  }
  .cabecera {
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center
  }
  .marca-nombre {
    display:none
  }
  .cabecera-donar {
    justify-self:end;
    height:46px;
    margin-left:0;
    padding:0 22px 0 18px;
    gap:9px;
    font-family:'Mona Sans',Arial,Helvetica,sans-serif;
    font-size:13px;
    font-stretch:110%;
    font-weight:800;
    letter-spacing:.05em
  }
  .menu-boton,
  .menu-panel {
    display:none
  }
  .cabecera-enlaces {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(2px,1.2vw,22px)
  }
  .cabecera-enlaces a {
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 clamp(7px,.8vw,13px);
    border-radius:12px;
    color:#fff;
    font-family:'Mona Sans',Arial,Helvetica,sans-serif;
    font-size:clamp(12px,.98vw,14px);
    font-stretch:110%;
    font-weight:800;
    letter-spacing:.03em;
    white-space:nowrap;
    transition:color .25s ease,background .25s ease,transform .35s cubic-bezier(.16,1,.3,1)
  }
  .cabecera-enlaces a::after {
    content:'';
    position:absolute;
    left:12px;
    right:12px;
    bottom:6px;
    height:2px;
    border-radius:2px;
    background:var(--rojo);
    transform:scaleX(0);
    transform-origin:center;
    transition:transform .4s cubic-bezier(.16,1,.3,1)
  }
  .cabecera-enlaces a:hover,
  .cabecera-enlaces a:focus-visible,
  .cabecera-enlaces a[aria-current=page] {
    background:#ffffff18;
    transform:translateY(-1px)
  }
  .cabecera-enlaces a:hover::after,
  .cabecera-enlaces a:focus-visible::after,
  .cabecera-enlaces a[aria-current=page]::after {
    transform:scaleX(1)
  }
  .nav-clara .cabecera-enlaces a {
    color:var(--tinta)
  }
  .nav-clara .cabecera-enlaces a:hover,
  .nav-clara .cabecera-enlaces a:focus-visible,
  .nav-clara .cabecera-enlaces a[aria-current=page] {
    background:#1717170c
  }
  .cabecera-progreso {
    left:24px;
    right:24px
  }
  .portada {
    min-height:calc(100svh - 86px)
  }
  .portada h1 {
    font-size:clamp(105px,10vw,170px)
  }
  .portada-monograma {
    font-size:57vw;
    right:-8vw;
    top:-10%
  }
  .onda {
    width:100vw;
    height:34vw
  }
  .onda-dos {
    width:93vw
  }
  .onda-tres {
    width:86vw
  }
  .pie nav {
    grid-template-columns:repeat(3,auto)
  }
  .diapositiva {
    flex-basis:50%
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    transition:none!important;
    animation:none!important
  }
}

html:has(body.inicio):not(.fuera-portada) {
  background:#0b0b0c
}
.inicio .portada {
  height:100vh;
  height:100svh;
  min-height:100vh;
  min-height:100svh;
  background:#151516 url('../imagenes/portada-poster.jpg') center/cover no-repeat
}
.inicio .portada-escena {
  display:none
}
.portada-video,
.portada-video-imagen {
  position:absolute;
  inset:0;
  z-index:-2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--encuadre-video,center center)
}
.portada-video-imagen {
  display:block
}
.portada-video[hidden] {
  display:none
}
.portada-velo {
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,#09090ad1 0%,#09090a66 53%,#09090a30 100%),linear-gradient(180deg,#09090a8c 0%,transparent 31%,#09090a40 55%,#09090aee 100%)
}
.inicio .portada-contenido {
  padding-bottom:clamp(66px,8vh,104px);
  font-family:'Mona Sans',Arial,Helvetica,sans-serif
}
.inicio .portada .etiqueta {
  color:#fff2e9;
  font-size:12px;
  letter-spacing:.23em;
  text-shadow:0 2px 14px #0008
}
.inicio .portada h1 {
  width:max-content;
  max-width:100%;
  margin:20px 0 19px;
  font-size:clamp(68px,9.8vw,164px);
  line-height:.84;
  letter-spacing:-.09em;
  filter:drop-shadow(0 4px 14px #0005)
}
.inicio .portada-frase {
  margin-bottom:30px;
  color:#fff8f1;
  font-size:clamp(22px,2.6vw,32px);
  text-shadow:0 2px 18px #000a
}
.inicio .portada .boton {
  border-radius:999px;
  min-height:56px;
  box-shadow:0 14px 35px #0004
}
@media(max-width:767px) {
  .inicio .portada {
    --encuadre-video:52% center
  }
  .inicio .portada-velo {
    background:linear-gradient(180deg,#09090a9c 0%,#09090a1a 26%,#09090a4a 48%,#09090ab8 84%,#09090ad6 100%)
  }
  .inicio .portada {
    height:100dvh;
    min-height:100dvh
  }
  .inicio .portada-contenido {
    padding-bottom:max(38px,calc(env(safe-area-inset-bottom) + 22px))
  }
  .inicio .portada h1 {
    font-size:clamp(53px,17vw,78px);
    margin:17px 0 19px
  }
  .inicio .portada-frase {
    font-size:clamp(21px,5.6vw,26px);
    margin-bottom:28px
  }
  .inicio .portada .boton {
    width:auto;
    gap:18px;
    min-height:54px;
    padding:0 18px 0 24px;
    background:radial-gradient(circle at calc(100% - 26px) 50%,var(--tinta) 0 19px,transparent 19.5px),var(--papel);
    font-size:11.5px
  }
  .inicio .portada .boton .icono-svg {
    width:16px;
    height:16px;
    color:#fff
  }
}
@media(max-height:620px) and (max-width:719px) {
  .inicio .portada-contenido {
    padding-bottom:max(42px,env(safe-area-inset-bottom))
  }
  .inicio .portada h1 {
    font-size:clamp(48px,15vw,65px);
    margin:11px 0 14px
  }
  .inicio .portada-frase {
    font-size:20px;
    margin-bottom:18px
  }
}

.animar .pagina-portada .contenedor,
.animar .portada-contenido {
  visibility:hidden
}

.con-cortina body::before {
  content:'';
  position:fixed;
  inset:0;
  z-index:89;
  background:var(--tinta)
}

.cortina {
  position:fixed;
  inset:0;
  z-index:90;
  display:grid;
  place-items:center;
  background:var(--tinta);
  color:var(--papel);
  pointer-events:none
}
.cortina span {
  font-size:clamp(30px,6vw,72px);
  font-weight:900;
  letter-spacing:-.07em
}
.cortina b {
  color:var(--rojo)
}

.linea-mask {
  padding:.12em 0 .16em;
  margin:-.12em 0 -.16em
}

.magnetico {
  transition:background .2s,color .2s!important
}

.bloque-asterisco {
  position:absolute;
  right:-60px;
  top:-140px;
  width:510px;
  height:510px;
  background:#ffffff14;
  -webkit-mask:var(--ico-asterisco) center/contain no-repeat;
  mask:var(--ico-asterisco) center/contain no-repeat;
  pointer-events:none;
  user-select:none;
  will-change:transform
}

a,button {
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent
}

.saltar,
.marca-icono,
.pie nav a,
.pie-inferior a {
  min-height:44px
}
.saltar,
.pie nav a,
.pie-inferior a {
  display:inline-flex;
  align-items:center
}
.pie nav {
  row-gap:0
}
.pie-inferior {
  align-items:center
}
@media(max-width:1019px) {
  .ruta article p,
  .fichas article p,
  .lista-eventos p {
    font-size:16px
  }
}

.novedades-controles button::before,
.carrusel-controles button::before {
  content:'';
  display:block;
  width:25px;
  height:25px;
  background:currentColor;
  -webkit-mask:var(--icono-control) center/contain no-repeat;
  mask:var(--icono-control) center/contain no-repeat
}
.novedades-controles [data-novedades-anterior],
.carrusel-controles [data-anterior] {
  --icono-control:var(--ico-izquierda)
}
.novedades-controles [data-novedades-siguiente],
.carrusel-controles [data-siguiente] {
  --icono-control:var(--ico-derecha)
}

.onda,
.progreso,
.portada-contenido {
  will-change:transform
}
@media(min-width:768px) {
  .portada-monograma {
    will-change:transform
  }
}

@media(pointer:coarse) {
  .boton,
  .novedades-controles button {
    transition:background .2s,color .2s
  }
}

.bloque-ruta.fijada {
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
  justify-content:center
}

.ruta article,
.lista-eventos article {
  position:relative
}
.trazo {
  position:absolute;
  left:0;
  right:0;
  top:-1px;
  height:2px;
  background:var(--rojo);
  transform-origin:0 50%;
  pointer-events:none
}
.lista-eventos .trazo {
  top:auto;
  bottom:-1px
}

.portada .boton {
  position:relative;
  overflow:hidden;
  isolation:isolate
}
.portada .boton::after {
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:45%;
  z-index:-1;
  background:linear-gradient(100deg,transparent,#c8293233 45%,#c829322b 55%,transparent);
  transform:translateX(-120%) skewX(-18deg);
  animation:destello 4.5s cubic-bezier(.4,0,.2,1) 3s infinite;
  pointer-events:none
}
@keyframes destello {
  0% {
    transform:translateX(-120%) skewX(-18deg)
  }
  28%,100% {
    transform:translateX(330%) skewX(-18deg)
  }
}

