:root{
  --papel:#FAF7F5;
  --relieve:#EDE4E1;
  --tinta:#241618;
  --carmin:#C0344A;
  --carmin-hondo:#9E2A3D;
  --humo:#8C7B7C;
  --borde:#DCCFCB;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
body{
  font:400 1.0625rem/1.72 "Libre Franklin",sans-serif;
  color:var(--tinta);
  background:var(--papel);
  min-height:100vh;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--carmin);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--carmin-hondo)}
h1,h2,h3,h4{
  font-family:"Libre Baskerville",serif;
  font-weight:700;
  letter-spacing:-0.01em;
  line-height:1.18;
  margin:0 0 .7em;
}
h1{font-size:clamp(2.4rem,5.4vw,4.1rem);line-height:1.08}
h2{font-size:clamp(1.75rem,3vw,2.6rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 1.1em;padding-left:1.15em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--carmin);outline-offset:3px}

.sello-texto{
  font:600 .8125rem/1.3 "Libre Franklin",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--humo);
}

.marco{width:min(1240px,92vw);margin-inline:auto}
.duo{display:grid;grid-template-columns:1.618fr 1fr;gap:clamp(24px,3.4vw,56px);align-items:start}
@media(max-width:900px){.duo{grid-template-columns:1fr}}

.mosaico{display:grid;grid-template-columns:repeat(auto-fill,minmax(282px,1fr));gap:22px}
.vitrina{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.vitrina > :nth-child(1){grid-column:span 7}
.vitrina > :nth-child(2){grid-column:span 5}
.vitrina > :nth-child(3),
.vitrina > :nth-child(4),
.vitrina > :nth-child(5){grid-column:span 4}
.vitrina--pares > :nth-child(n){grid-column:span 6}
.vitrina--tercios > :nth-child(n){grid-column:span 4}
@media(max-width:900px){
  .vitrina{grid-template-columns:1fr}
  .vitrina > :nth-child(n){grid-column:auto}
}

/* Cabecera y cortina */
.barra{
  position:sticky;
  top:0;
  z-index:40;
  height:68px;
  background:rgba(250,247,245,.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--borde);
}
.barra__caja{
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.barra__marca{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:var(--tinta);
  text-decoration:none;
  font:700 1.15rem/1 "Libre Baskerville",serif;
  letter-spacing:-0.01em;
}
.barra__marca svg{display:block;flex:0 0 22px}
.boton-cortina{
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  background:transparent;
  border:0;
  cursor:pointer;
  padding:.4rem .15rem;
  font:600 .8125rem/1 "Libre Franklin",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--tinta);
}
.boton-cortina__icono{
  width:26px;
  height:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.boton-cortina__icono i{
  display:block;
  height:1.5px;
  background:currentColor;
  border-radius:1px;
}
.barra--sobre-foto{
  background:transparent;
  border-bottom-color:transparent;
  backdrop-filter:none;
}
.barra--sobre-foto .barra__marca,
.barra--sobre-foto .boton-cortina{color:#FFFFFF}
.cuerpo-desplazado .barra--sobre-foto{
  background:rgba(250,247,245,.94);
  border-bottom-color:var(--borde);
  backdrop-filter:blur(8px);
}
.cuerpo-desplazado .barra--sobre-foto .barra__marca,
.cuerpo-desplazado .barra--sobre-foto .boton-cortina{color:var(--tinta)}
main > .panorama:first-child{margin-top:-68px}

.cortina{
  display:none;
  position:fixed;
  inset:0;
  z-index:80;
  background:var(--tinta);
  color:var(--papel);
  padding:76px 0 clamp(28px,4vw,48px);
  overflow:auto;
  align-content:start;
  align-content:safe center;
}
.cortina--abierta{display:grid}
.cortina__cerrar{
  position:absolute;
  top:18px;
  right:max(4vw,18px);
  width:48px;
  height:48px;
  border:0;
  background:transparent;
  color:var(--papel);
  font-size:2.1rem;
  line-height:1;
  cursor:pointer;
}
.cortina__lista{
  list-style:none;
  margin:0 0 2.4rem;
  padding:0;
}
.cortina__lista a{
  display:inline-block;
  font:700 clamp(1.9rem,4.6vw,3.2rem)/1.12 "Libre Baskerville",serif;
  color:var(--papel);
  text-decoration:none;
  padding:.18em 0;
}
.cortina__lista a:hover,
.cortina__lista a[aria-current="page"]{color:var(--carmin)}
.cortina__contacto{
  font-size:.95rem;
  color:#D8CBC8;
  max-width:42rem;
  display:grid;
  gap:.35rem;
}
.cortina__contacto a{color:#D8CBC8}
.cortina__contacto a:hover{color:#FFFFFF}
body.cortina-traba{overflow:hidden}

.pastilla{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:2px;font:600 .95rem/1 "Libre Franklin",sans-serif;text-decoration:none;border:1.5px solid transparent;transition:.18s;cursor:pointer}
.pastilla--fuerte{background:var(--carmin);color:#FFFFFF}
.pastilla--fuerte:hover{background:var(--carmin-hondo);color:#FFFFFF}
.pastilla--linea{border-color:var(--tinta);color:var(--tinta);background:transparent}
.pastilla--linea:hover{background:var(--tinta);color:var(--papel)}
.pastilla--clara{background:var(--papel);color:var(--tinta)}
.pastilla--clara:hover{background:#FFFFFF;color:var(--tinta)}
.faja--tinta .pastilla--linea{border-color:var(--papel);color:var(--papel)}
.faja--tinta .pastilla--linea:hover{background:var(--papel);color:var(--tinta)}
.acciones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.4rem}

.panorama{
  position:relative;
  min-height:min(86vh,760px);
  display:grid;
  align-items:end;
  color:var(--papel);
  background-size:cover;
  background-position:center;
}
.panorama--corto{min-height:54vh}
.panorama__velo{
  position:absolute;
  inset:0;
  background:linear-gradient(105deg, rgba(36,22,24,.88) 0%, rgba(36,22,24,.55) 60%, rgba(36,22,24,.35) 100%);
}
.panorama__texto{
  position:relative;
  z-index:1;
  padding:clamp(96px,14vh,160px) 0 clamp(40px,6vh,72px);
}
.panorama__caja{width:min(100%,calc(100% * 1.618 / 2.618))}
.panorama__texto p{color:#F3EBE8;max-width:46rem}
.panorama--corto .panorama__texto{padding:clamp(88px,10vh,128px) 0 48px}
@media(max-width:700px){.panorama__caja{width:100%}}

.tira-claves{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin:2rem 0 0;
  padding:0;
  list-style:none;
}
.tira-claves a{
  display:block;
  text-decoration:none;
  color:var(--papel);
  padding:1rem 0 0;
  border-top:1px solid rgba(250,247,245,.35);
}
.tira-claves a:hover{color:#FFFFFF}
.tira-claves span{
  display:block;
  font:600 .8125rem/1.3 "Libre Franklin",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#E7C5C8;
  margin-bottom:.35rem;
}
@media(max-width:900px){.tira-claves{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tira-claves{grid-template-columns:1fr}}

.faja{padding:clamp(56px,8vw,104px) 0}
.faja--relieve{background:var(--relieve)}
.faja--tinta{background:var(--tinta);color:var(--papel)}
.faja--tinta a{color:#F2C9CE}
.faja--tinta a:hover{color:#FFFFFF}
.faja--tinta .sello-texto{color:#C9B4B2}
.faja h2{max-width:18ch}

.tarjeta-relieve{
  background:var(--relieve);
  padding:clamp(1.3rem,2.4vw,2rem);
  border:1px solid var(--borde);
}
.tarjeta-relieve + .tarjeta-relieve{margin-top:1.2rem}
.tarjeta-relieve ol,.tarjeta-relieve ul{margin:0;padding-left:1.1em}
.tarjeta-relieve li{margin-bottom:.7em}
.tarjeta-relieve li:last-child{margin-bottom:0}

.ficha{
  position:relative;
  background:var(--papel);
  border:1px solid var(--borde);
  display:flex;
  flex-direction:column;
  min-height:100%;
  transition:transform .18s ease,border-bottom-color .18s ease;
}
.ficha:hover{
  transform:translateY(-4px);
  border-bottom:3px solid var(--carmin);
}
.ficha > a{
  color:inherit;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  flex:1;
}
.ficha > a:hover{color:inherit}
.ficha__foto{
  aspect-ratio:16/10;
  overflow:hidden;
  background:var(--relieve);
}
.ficha__foto img{width:100%;height:100%;object-fit:cover}
.ficha__sello{
  position:absolute;
  top:14px;
  left:14px;
  background:var(--relieve);
  color:var(--carmin);
  font:600 .72rem/1 "Libre Franklin",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:.42rem .62rem;
}
.ficha__cuerpo{padding:1.15rem 1.15rem 1.25rem;display:flex;flex-direction:column;flex:1}
.ficha__cuerpo h3{
  font:700 1.18rem/1.25 "Libre Baskerville",serif;
  margin-bottom:.55em;
}
.ficha__cuerpo p{font-size:.98rem;color:var(--tinta)}
.ficha__fecha{
  margin-top:auto;
  padding-top:1rem;
  font-size:.9rem;
  color:var(--humo);
}

.filtros{display:flex;flex-wrap:wrap;gap:.55rem;margin:0 0 1.6rem}
.filtro{
  border:1px solid var(--borde);
  background:var(--papel);
  color:var(--tinta);
  padding:.55rem .9rem;
  border-radius:2px;
  cursor:pointer;
  font:600 .8125rem/1 "Libre Franklin",sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.filtro:hover{border-color:var(--tinta)}
.filtro--activo{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}

.dato{
  border-top:1px solid var(--borde);
  padding:1.1rem 0 0;
}
.dato__cifra{
  font:700 1.35rem/1.2 "Libre Baskerville",serif;
  margin-bottom:.35rem;
}
.faja--tinta .dato{border-top-color:rgba(250,247,245,.18)}

.bloque-indicador{
  background:var(--papel);
  border:1px solid var(--borde);
  padding:clamp(1.2rem,2vw,1.8rem);
  height:100%;
}
.faja--relieve .bloque-indicador{background:var(--papel)}
.bloque-indicador h3{margin-bottom:.35em}
.bloque-indicador .sello-texto{margin-bottom:.8rem;display:block}
.bloque-indicador h4{
  font:600 .8125rem/1.3 "Libre Franklin",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--carmin);
  margin:1.1em 0 .35em;
}

.region{
  border-top:2px solid var(--carmin);
  padding-top:1.1rem;
}
.region a{text-decoration:none;color:inherit}
.region a:hover h3{color:var(--carmin)}
.faja--tinta .region{border-top-color:var(--carmin)}
.lista-regiones{list-style:none;margin:0;padding:0;display:grid;gap:1.15rem}
.lista-regiones a{
  display:block;
  text-decoration:none;
  color:inherit;
  padding-bottom:.9rem;
  border-bottom:1px solid rgba(250,247,245,.16);
}
.lista-regiones a:hover{color:#FFFFFF}
.lista-regiones strong{
  display:block;
  font:700 1.18rem/1.2 "Libre Baskerville",serif;
  color:var(--papel);
  margin-bottom:.2rem;
}

.hito{
  display:grid;
  grid-template-columns:7.5rem 1fr;
  gap:1.2rem;
  padding:1.15rem 0;
  border-top:1px solid var(--borde);
}
.hito:last-child{border-bottom:1px solid var(--borde)}
.hito strong{
  display:block;
  font:600 .8125rem/1.3 "Libre Franklin",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--carmin);
}
@media(max-width:600px){.hito{grid-template-columns:1fr;gap:.35rem}}

.preguntas{display:grid;gap:.7rem}
.pregunta{
  background:var(--papel);
  border:1px solid var(--borde);
  padding:.2rem 1rem 0;
}
.faja--relieve .pregunta{background:var(--papel)}
.pregunta summary{
  cursor:pointer;
  list-style:none;
  font:700 1.12rem/1.35 "Libre Baskerville",serif;
  padding:.95rem 0;
}
.pregunta summary::-webkit-details-marker{display:none}
.pregunta summary::after{
  content:"+";
  float:right;
  color:var(--carmin);
  font-family:"Libre Franklin",sans-serif;
  font-weight:600;
}
.pregunta[open] summary::after{content:"–"}
.pregunta p{padding:0 0 1.1rem;max-width:62rem}

.formulario{display:grid;gap:1rem}
.campo{display:flex;flex-direction:column;gap:.4rem}
.campo label{
  font:600 .8125rem/1.3 "Libre Franklin",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.campo input,
.campo select,
.campo textarea{
  border:1px solid var(--borde);
  background:#FFFFFF;
  padding:.75rem .85rem;
  border-radius:2px;
  width:100%;
}
.campo textarea{min-height:10rem;resize:vertical}
.campo--ancho{grid-column:1/-1}
.campo--trampa{
  position:absolute;
  left:-9999px;
  height:0;
  overflow:hidden;
}
.chequeo{
  display:flex;
  gap:.7rem;
  align-items:flex-start;
  font-size:.95rem;
}
.chequeo input{margin-top:.3rem}
.aviso-form{padding:.9rem 1rem;border:1px solid var(--borde);margin-bottom:1rem}
.aviso-form--ok{background:#E8F3EA;border-color:#9FCBAA}
.aviso-form--mal{background:#F8E6E8;border-color:var(--carmin)}

.cita-larga{
  font:italic 700 clamp(1.35rem,2.4vw,1.85rem)/1.35 "Libre Baskerville",serif;
  margin:1.2rem 0;
}
.nota-firma{
  color:var(--humo);
  font-size:.9rem;
  margin-top:1.2rem;
}
.recorte{
  background:var(--relieve);
  padding:1.2rem 1.3rem;
  margin:1.4rem 0;
  border-left:3px solid var(--carmin);
}
.recorte h3{font-size:1rem;margin-bottom:.5rem}
.foto-banda{margin:0 0 1.2rem}
.foto-banda img{width:100%;aspect-ratio:16/10;object-fit:cover}

.glosa{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.4rem 2.4rem;
}
.glosa div{border-top:1px solid var(--borde);padding-top:.9rem}
.glosa dt{
  font:700 1.05rem/1.3 "Libre Baskerville",serif;
  margin-bottom:.35rem;
}
.glosa dd{margin:0}
@media(max-width:700px){.glosa{grid-template-columns:1fr}}

.alza{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
.js .alza{opacity:0;transform:translateY(18px)}
.js .alza.alza--dentro{opacity:1;transform:none}
.no-js .alza{opacity:1!important;transform:none!important}
@media (prefers-reduced-motion:reduce){.alza,.js .alza{opacity:1!important;transform:none!important;transition:none}}

.pie{
  background:var(--tinta);
  color:var(--papel);
  padding:clamp(48px,7vw,88px) 0 0;
}
.pie a{color:#F2C9CE}
.pie a:hover{color:#FFFFFF}
.pie__marca{
  display:inline-flex;
  align-items:center;
  gap:.65rem;
  color:var(--papel);
  text-decoration:none;
  font:700 1.25rem/1 "Libre Baskerville",serif;
  margin-bottom:.8rem;
}
.pie__marca:hover{color:#FFFFFF}
.pie__columnas{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.6rem;
  margin-top:1.8rem;
}
.pie__columnas h3{
  font:600 .8125rem/1.3 "Libre Franklin",sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#C9B4B2;
  margin-bottom:.7rem;
}
.pie__columnas ul{list-style:none;margin:0;padding:0}
.pie__columnas li{margin:0 0 .45rem}
.pie__mapa-frame{display:block;width:100%;height:240px;border:0;margin-bottom:1rem;background:var(--relieve)}
.pie__mapa p{margin:0 0 .4rem;color:#E7DCDA}
.pie__base{
  margin-top:clamp(36px,5vw,64px);
  padding:1.15rem 0 1.4rem;
  border-top:1px solid rgba(250,247,245,.14);
  font-size:.88rem;
  color:#C9B4B2;
  display:grid;
  gap:.55rem;
}
.pie__base nav{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem}
@media(max-width:700px){.pie__columnas{grid-template-columns:1fr}}

.aviso-galletas{
  position:fixed;
  z-index:70;
  left:0;
  right:0;
  bottom:0;
  background:var(--tinta);
  color:var(--papel);
  padding:1rem 0;
  box-shadow:0 -8px 24px rgba(36,22,24,.18);
}
.aviso-galletas[hidden]{display:none}
.aviso-galletas__caja{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  align-items:center;
  justify-content:space-between;
}
.aviso-galletas p{margin:0;max-width:52rem;color:#E7DCDA;font-size:.95rem}
.aviso-galletas a{color:#F2C9CE}
.aviso-galletas__acciones{display:flex;flex-wrap:wrap;gap:.6rem}

.pagina-error{padding:clamp(72px,12vh,140px) 0}
.pagina-error h1{max-width:16ch}
