:root{
  --fondo:#0F1A15;
  --superficie:#182A22;
  --texto:#E7F0EB;
  --oro:#E4B24C;
  --apagado:#7E958A;
  --tinta-sobre-oro:#16241D;
  --linea:rgba(126,149,138,.28);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  background:var(--fondo);
  color:var(--texto);
  font-family:"Newsreader",Georgia,serif;
  font-size:1.125rem;
  line-height:1.72;
  min-height:100vh;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--oro);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#F0C469}
h1,h2,h3,.marca,.boton,.rubrica,.velo-lista,.ficha__nombre,.escena__titulo,.etapa__hito{
  font-family:"Outfit","Segoe UI",system-ui,sans-serif;
}
h1,.titular{
  font-weight:600;
  font-size:clamp(2.4rem,5.2vw,4rem);
  line-height:1.08;
  letter-spacing:-.02em;
  margin:0 0 1.1rem;
}
h2{
  font-weight:500;
  font-size:clamp(1.7rem,3vw,2.5rem);
  line-height:1.16;
  letter-spacing:-.015em;
  margin:0 0 .8rem;
}
h3,.ficha__nombre,.escena__titulo{
  font-weight:500;
  font-size:1.22rem;
  line-height:1.3;
  margin:0 0 .6rem;
}
p{margin:0 0 1.1rem}
p:last-child{margin-bottom:0}
.parrafo-guia,.ficha__cuerpo,.nota__cuerpo,.escena p,.bajada{color:#D5E2DA}

.nucleo{max-width:1080px;margin-inline:auto;padding-inline:24px}
.nucleo--angosto{max-width:720px;margin-inline:auto}
.tramo{padding-block:clamp(76px,10vw,136px)}
main > .tramo:first-child{padding-top:clamp(16px,2.5vw,28px)}
.tramo--superficie{background:var(--superficie)}
.tramo .titular-bloque{margin-top:48px}
.tramo .reja3,.tramo .lista-pulida{margin-top:48px}

.rubrica{
  display:block;
  text-align:center;
  font-family:"Outfit","Segoe UI",system-ui,sans-serif;
  font-weight:500;
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--apagado);
  margin:0 0 18px;
}
.rubrica::before{
  content:"";
  display:block;
  width:28px;
  height:2px;
  background:var(--oro);
  margin:0 auto 16px;
}
.centrado,.tramo > .nucleo > .rubrica,
.tramo > .nucleo > h2,
.tramo > .nucleo > .bajada{text-align:center}
.tramo > .nucleo > .bajada{max-width:720px;margin-inline:auto}
.firma-leve{
  display:block;
  margin-top:20px;
  font-size:.92rem;
  color:var(--apagado);
}

.reja3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:start}
.portada{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;align-items:center}
.portada__texto{grid-column:span 2}
.portada__foto{grid-column:span 1}
.portada__foto img,.foto-fascia{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
  border-radius:4px 0 48px 0;
}
.portada--espejo .portada__foto{order:-1}

.ficha,.etapa,.escena,.nota{
  background:var(--superficie);
  border:1px solid var(--linea);
  border-radius:3px;
  padding:28px 26px;
}
.tramo--superficie .ficha,
.tramo--superficie .etapa,
.tramo--superficie .escena,
.tramo--superficie .nota{background:var(--fondo)}
.ficha__detalle,.nota__fecha,.etapa__hito{
  display:block;
  font-family:"Outfit","Segoe UI",system-ui,sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--oro);
  margin-bottom:12px;
}
.ficha__cuerpo{margin-bottom:1rem}
.ficha--aviso{
  border-color:var(--oro);
  margin-top:40px;
}
.ficha--pregunta{padding:0}
.ficha--pregunta summary{
  cursor:pointer;
  list-style:none;
  padding:22px 26px;
  font-family:"Outfit","Segoe UI",system-ui,sans-serif;
  font-weight:500;
  font-size:1.05rem;
}
.ficha--pregunta summary::-webkit-details-marker{display:none}
.ficha--pregunta summary::after{
  content:"+";
  float:right;
  color:var(--oro);
}
.ficha--pregunta[open] summary::after{content:"–"}
.ficha--pregunta .ficha__cuerpo{padding:0 26px 24px}
.ficha--servicio .lista-pulida{margin-top:16px}

.lista-pulida{margin:0;padding:0;list-style:none}
.lista-pulida li{
  position:relative;
  padding:12px 0 12px 22px;
  border-top:1px solid var(--linea);
}
.lista-pulida li:first-child{border-top:0}
.lista-pulida li::before{
  content:"";
  position:absolute;
  left:0;top:1.15em;
  width:8px;height:2px;
  background:var(--oro);
}
.cita-taller{
  margin:28px 0 0;
  padding:8px 0 8px 22px;
  border-left:3px solid var(--oro);
  font-family:"Newsreader",Georgia,serif;
  font-style:italic;
  font-size:1.3rem;
  line-height:1.45;
  color:var(--texto);
}

.acciones{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}
.acciones--centro{justify-content:center}
.boton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:"Outfit","Segoe UI",system-ui,sans-serif;
  font-weight:500;
  font-size:.95rem;
  letter-spacing:.02em;
  line-height:1.2;
  border-radius:2px;
  padding:13px 22px;
  border:1px solid transparent;
  text-decoration:none;
  cursor:pointer;
}
.boton--oro{
  background:var(--oro);
  color:var(--tinta-sobre-oro);
}
.boton--oro:hover,.boton--oro:focus-visible{
  background:#F0C469;
  color:var(--tinta-sobre-oro);
}
.boton--linea{
  background:transparent;
  border-color:rgba(231,240,235,.45);
  color:var(--texto);
}
.boton--linea:hover,.boton--linea:focus-visible{
  background:rgba(231,240,235,.10);
  color:var(--texto);
}
.boton--sobrio{
  background:#223A2F;
  color:var(--texto);
  border-color:#223A2F;
}

.barra-sup{
  position:sticky;
  top:0;
  z-index:30;
  height:76px;
  background:var(--fondo);
}
.barra-sup--densa{
  background:rgba(15,26,21,.92);
  backdrop-filter:blur(6px);
}
.barra-sup .nucleo{
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.marca{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--texto);
  text-decoration:none;
  font-weight:500;
  font-size:1.05rem;
  letter-spacing:.02em;
}
.marca svg{flex:0 0 20px}
.boton-menu{
  display:inline-flex;
  align-items:center;
  gap:12px;
  background:transparent;
  border:0;
  color:var(--texto);
  cursor:pointer;
  padding:8px 0;
  font-family:"Outfit","Segoe UI",system-ui,sans-serif;
}
.boton-menu span{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--apagado);
}
.boton-menu i,.boton-menu i::before,.boton-menu i::after{
  display:block;width:22px;height:1.5px;background:var(--texto);position:relative;
}
.boton-menu i::before,.boton-menu i::after{
  content:"";position:absolute;left:0;
}
.boton-menu i::before{top:-7px}
.boton-menu i::after{top:7px}

.velo-nav{
  position:fixed;
  inset:0;
  background:var(--fondo);
  display:grid;
  place-items:center;
  z-index:50;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
}
.velo-nav--abierto{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.velo-cerrar{
  position:absolute;
  top:22px;right:24px;
  background:transparent;
  border:0;
  color:var(--texto);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  padding:8px;
}
.velo-lista{
  list-style:none;
  margin:0;
  padding:0;
  text-align:center;
}
.velo-lista li{margin:0 0 18px}
.velo-lista a{
  color:var(--texto);
  text-decoration:none;
  font-weight:500;
  font-size:clamp(1.6rem,4vw,2.6rem);
}
.velo-lista a[aria-current="page"]{
  color:var(--oro);
  box-shadow:inset 0 -3px 0 var(--oro);
}
.velo-nav .datos-fila{
  margin-top:36px;
  text-align:center;
  font-size:.92rem;
  color:var(--apagado);
}
.datos-fila span{display:inline-block;margin:0 .45rem}

.panel-form{text-align:left}
.panel-form--pie{max-width:640px;margin:0 auto 64px;text-align:center}
.panel-form--pie .campo,.panel-form--pie .aviso-exito,.panel-form--pie .aviso-error{text-align:left}
.campo{margin-bottom:18px}
.campo__rotulo{
  display:block;
  font-family:"Outfit","Segoe UI",system-ui,sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--apagado);
  margin-bottom:8px;
}
.campo__control{
  width:100%;
  background:var(--fondo);
  color:var(--texto);
  border:1px solid var(--linea);
  border-radius:2px;
  font-family:"Newsreader",Georgia,serif;
  font-size:1.05rem;
  padding:12px 14px;
}
.campo--check .campo__rotulo{text-transform:none;letter-spacing:0;font-family:"Newsreader",Georgia,serif;font-size:1rem;color:#D5E2DA}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.aviso-exito,.aviso-error{
  display:none;
  padding:16px 18px;
  border-radius:3px;
  margin-bottom:16px;
}
.aviso-exito{border:1px solid var(--oro);color:var(--texto)}
.aviso-error{border:1px solid #c9786a;color:#E7F0EB}
.aviso-exito--puesto,.aviso-error--puesto{display:block}

.pie{
  background:var(--superficie);
  border-top:1px solid var(--linea);
  padding:72px 0 32px;
}
.pie__reja{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.pie h2,.pie .rubrica{text-align:center}
.pie__reja h3{
  font-size:.95rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--apagado);
}
.pie__reja p,.pie__reja li{font-size:1rem;color:#D5E2DA}
.pie__reja ul{list-style:none;margin:0;padding:0}
.pie__reja li{margin:0 0 .45rem}
.pie__reja a{color:var(--texto);text-decoration:none}
.pie__reja a:hover{color:var(--oro)}
.pie__legal{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 18px;
  margin-top:48px;
  font-size:13px;
  color:var(--apagado);
}
.pie__legal a{color:var(--apagado)}

.galletas{
  position:fixed;
  left:50%;
  bottom:16px;
  transform:translateX(-50%);
  width:calc(100% - 32px);
  max-width:1080px;
  background:var(--superficie);
  border-top:1px solid var(--linea);
  padding:20px 24px;
  z-index:40;
  display:flex;
  flex-wrap:wrap;
  gap:16px 24px;
  align-items:center;
  justify-content:space-between;
}
.galletas[hidden]{display:none}
.galletas p{margin:0;max-width:640px;font-size:1rem;color:#D5E2DA}
.galletas__acciones{display:flex;gap:10px;flex-wrap:wrap}

.mapa-marco{
  width:100%;
  min-height:320px;
  border:1px solid var(--linea);
  border-radius:3px;
  background:var(--superficie);
}
.mapa-marco iframe{width:100%;height:360px;border:0}

.nota + .nota{
  margin-top:72px;
  padding-top:72px;
  border-top:1px solid var(--linea);
  background:transparent;
  border-left:0;border-right:0;border-bottom:0;
  border-radius:0;
  padding-left:0;padding-right:0;
}
.escena + .escena{margin-top:32px}
.senal{
  display:block;
  margin-top:12px;
  color:var(--oro);
  font-family:"Outfit","Segoe UI",system-ui,sans-serif;
  font-size:.92rem;
}

.asoma{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.2,.7,.3,1),transform .6s cubic-bezier(.2,.7,.3,1)}
html.js .asoma{opacity:0;transform:translateY(14px)}
html.js .asoma--puesto{opacity:1;transform:none}
html.no-js .asoma{opacity:1!important;transform:none!important}

.solo-lectores{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  border:0;
}
.enlace-texto{font-family:"Outfit","Segoe UI",system-ui,sans-serif;font-weight:500}

:focus-visible{outline:2px solid var(--oro);outline-offset:3px}

.reja3__largo{grid-column:span 2}
@media (max-width:959px){
  .reja3,.pie__reja{grid-template-columns:repeat(2,1fr);gap:24px}
  .reja3__largo{grid-column:auto}
}
@media (max-width:860px){
  .portada{grid-template-columns:1fr;gap:32px}
  .portada__texto,.portada__foto{grid-column:auto}
  .portada--espejo .portada__foto{order:0}
}
@media (max-width:620px){
  .reja3,.pie__reja{grid-template-columns:1fr}
  .galletas{bottom:0;width:100%;transform:none;left:0;border-radius:0}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .asoma,html.js .asoma{opacity:1!important;transform:none!important;transition:none!important}
}
