:root{
  --carbon:#141414;
  --plancha:#202020;
  --tiza:#F1EFEC;
  --naranja:#FF7A1A;
  --ceniza:#8A8782;
  --filete:#2E2C2A;
  --tinta:#1F2937;
}

*,*::before,*::after{box-sizing:border-box;}

html{
  background:var(--carbon);
  scroll-behavior:smooth;
}

body{
  margin:0;
  background:var(--carbon);
  color:var(--tiza);
  font-family:"Roboto Slab",Georgia,serif;
  font-weight:400;
  font-size:1.02rem;
  line-height:1.72;
}

img{max-width:100%;height:auto;display:block;}

a{
  color:var(--naranja);
  text-decoration:underline;
  text-underline-offset:0.18em;
}
a:hover,a:focus{color:#FF8F3D;}
a:focus-visible{
  outline:2px solid var(--naranja);
  outline-offset:3px;
}

h1,h2,h3,.marca,.menu-eje,.dato-fuerte,.rotulo,.boton-pri,.boton-sec,.boton-menu{
  font-family:Barlow,"Segoe UI",sans-serif;
}

h1,h2{letter-spacing:-0.015em;}
h1{
  margin:0 0 0.55rem;
  font-size:clamp(2rem,1.3rem + 2.6vw,2.9rem);
  font-weight:700;
  line-height:1.15;
}
h2{
  margin:0 0 0.7rem;
  font-size:1.5rem;
  font-weight:700;
  line-height:1.25;
}
h3{
  margin:1.4rem 0 0.45rem;
  font-size:1.12rem;
  font-weight:600;
  line-height:1.35;
}

p{margin:0 0 1rem;}
p:last-child{margin-bottom:0;}

/* Barra superior */
.barra-sup{
  background:var(--plancha);
  border-bottom:1px solid var(--filete);
}
.barra-sup__fila{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
  padding:16px 0 14px;
}
.marca{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 10px;
  text-decoration:none;
  color:var(--tiza);
  font-weight:700;
  font-size:1.18rem;
  letter-spacing:-0.015em;
}
.marca:hover,.marca:focus{color:var(--tiza);}
.marca svg{display:block;flex:0 0 20px;}
.marca__punto{color:var(--naranja);}
.marca__sub{
  flex:1 0 100%;
  margin:0;
  color:var(--ceniza);
  font-family:"Roboto Slab",Georgia,serif;
  font-size:0.74rem;
  font-weight:400;
  letter-spacing:0;
  line-height:1.4;
}
.menu-eje{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 18px;
  margin:6px 0 0;
  padding:0;
  list-style:none;
}
.menu-eje a{
  display:inline-block;
  padding:2px 0 4px;
  color:var(--tiza);
  font-weight:600;
  font-size:0.9rem;
  text-decoration:none;
  border-bottom:2px solid transparent;
}
.menu-eje a:hover{color:var(--naranja);}
.menu-eje a.es-activo{
  color:var(--naranja);
  border-bottom-color:var(--naranja);
}
.boton-menu{
  display:none;
  margin:4px 0 0;
  padding:8px 14px;
  background:transparent;
  border:1px solid var(--ceniza);
  color:var(--tiza);
  font-weight:600;
  font-size:0.9rem;
  cursor:pointer;
}
.boton-menu:hover,.boton-menu:focus{
  background:var(--tiza);
  color:var(--carbon);
}
.boton-menu:focus-visible{
  outline:2px solid var(--naranja);
  outline-offset:3px;
}
.no-js .menu-eje{display:block;}

/* Columna */
.columna{max-width:700px;margin:0 auto;padding:0 20px;}
.columna--ancha{max-width:860px;}

/* Rejilla 1.4 / 1 / 0.6 */
.dupla,.terna,.ficha-tres{
  display:grid;
  grid-template-columns:1.4fr 1fr 0.6fr;
  gap:26px;
}
.dupla__texto{grid-column:1;}
.dupla__foto{grid-column:2 / 4;min-width:0;}
.dupla__foto img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:4px;
  filter:saturate(.85);
}
.dupla--portada .dupla__foto img{aspect-ratio:5 / 4;}
.dupla--interna .dupla__foto img{aspect-ratio:4 / 3;}

.rotulo{
  margin:0 0 0.55rem;
  color:var(--naranja);
  font-size:0.82rem;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.bajada{
  margin:0 0 1.25rem;
  color:var(--tiza);
  font-weight:300;
}
.parrafo-guia{color:var(--tiza);}
.pliego{padding:2.6rem 0;}
.pliego--corto{padding:1.8rem 0 2.4rem;}
.filete-h{
  height:1px;
  margin:0;
  border:0;
  background:var(--filete);
}

/* Fichas de la terna */
.terna > div{
  min-width:0;
  padding:1.15rem 0;
  border-top:1px solid var(--filete);
}
.terna h3{margin-top:0;}

.lista-def{margin:0;}
.lista-def dt{
  margin:1.35rem 0 0.35rem;
  font-family:Barlow,"Segoe UI",sans-serif;
  font-size:1.05rem;
  font-weight:600;
  color:var(--tiza);
}
.lista-def dt:first-child{margin-top:0;}
.lista-def dd{
  margin:0;
  color:var(--tiza);
}
.lista-def dd + dd{margin-top:0.6rem;}

.tabla-serie{
  width:100%;
  margin:1.1rem 0 0.4rem;
  border-collapse:collapse;
}
.tabla-serie th,
.tabla-serie td{
  padding:0.65rem 0.55rem 0.65rem 0;
  border-bottom:1px solid var(--filete);
  text-align:left;
  vertical-align:top;
}
.tabla-serie th{
  font-family:Barlow,"Segoe UI",sans-serif;
  font-weight:600;
  font-size:0.92rem;
  color:var(--naranja);
}
.tabla-serie td{font-weight:300;}

.cita-fuente{
  margin:1.2rem 0 0;
  color:var(--ceniza);
  font-size:0.92rem;
  font-weight:300;
}

.dato-fuerte{
  display:block;
  margin:0;
  color:var(--naranja);
  font-size:clamp(2.6rem,2rem + 2vw,3.4rem);
  font-weight:700;
  letter-spacing:-0.03em;
  line-height:1;
}
.dato-fuerte + p,
.terna .leyenda{
  margin-top:0.55rem;
  color:var(--ceniza);
  font-size:0.92rem;
}

.aviso-caja{
  padding:1.15rem 1.2rem 1.15rem 1.25rem;
  background:var(--plancha);
  border-left:3px solid var(--naranja);
}
.aviso-caja p:last-child{margin-bottom:0;}

.nota-larga{padding:0.4rem 0 0.2rem;}
.nota-larga + .nota-larga{
  margin-top:2.4rem;
  padding-top:2.2rem;
  border-top:1px solid var(--filete);
}
.nota-larga__fecha{
  display:block;
  margin:0 0 0.45rem;
  color:var(--ceniza);
  font-size:0.92rem;
}
.indice-notas{
  margin:0;
  padding:0;
  list-style:none;
}
.indice-notas li{
  padding:1rem 0;
  border-bottom:1px solid var(--filete);
}
.indice-notas li:first-child{padding-top:0;}
.indice-notas a{font-family:Barlow,"Segoe UI",sans-serif;font-weight:600;text-decoration:none;}
.indice-notas a:hover{text-decoration:underline;}
.indice-notas p{
  margin:0.25rem 0 0;
  color:var(--ceniza);
  font-size:0.95rem;
}

/* Botones */
.acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:0.2rem;}
.boton-pri,.boton-sec{
  display:inline-block;
  padding:0.62rem 1.05rem;
  font-weight:600;
  font-size:0.92rem;
  line-height:1.2;
  text-decoration:none;
  border-radius:2px;
  cursor:pointer;
  border:1px solid transparent;
}
.boton-pri{
  background:var(--naranja);
  color:var(--tinta);
  border-color:var(--naranja);
}
.boton-pri:hover,.boton-pri:focus{
  background:#FF8F3D;
  color:var(--tinta);
  border-color:#FF8F3D;
}
.boton-sec{
  background:transparent;
  border-color:var(--ceniza);
  color:var(--tiza);
}
.boton-sec:hover,.boton-sec:focus{
  background:var(--tiza);
  color:var(--carbon);
  border-color:var(--tiza);
}
.boton-pri:focus-visible,.boton-sec:focus-visible{
  outline:2px solid var(--naranja);
  outline-offset:3px;
}
button.boton-pri,button.boton-sec{font-family:Barlow,"Segoe UI",sans-serif;}

.foto-columna{
  margin:1.3rem 0 0;
  border-radius:4px;
  filter:saturate(.85);
}

ol.pasos{margin:0 0 1rem;padding-left:1.25rem;}
ol.pasos li{margin:0 0 0.65rem;}

/* Formulario */
.formulario{margin:0;}
.campo{margin:0 0 1.05rem;}
.campo label{
  display:block;
  margin:0 0 0.35rem;
  font-family:Barlow,"Segoe UI",sans-serif;
  font-weight:600;
  font-size:0.92rem;
}
.campo input,
.campo select,
.campo textarea{
  width:100%;
  padding:0.62rem 0.7rem;
  background:var(--plancha);
  border:1px solid var(--filete);
  color:var(--tiza);
  font-family:"Roboto Slab",Georgia,serif;
  font-size:1rem;
}
.campo input:focus,
.campo select:focus,
.campo textarea:focus{
  outline:2px solid var(--naranja);
  outline-offset:1px;
  border-color:var(--naranja);
}
.campo textarea{min-height:160px;resize:vertical;}
.campo__error{
  min-height:1.2em;
  margin:0.3rem 0 0;
  color:var(--naranja);
  font-size:0.86rem;
}
.exito-envio{
  padding:1.15rem 1.2rem;
  background:var(--plancha);
  border-left:3px solid var(--naranja);
}
.ayuda-campo{
  margin:0.25rem 0 0;
  color:var(--ceniza);
  font-size:0.86rem;
}

.mapa-marco{
  height:320px;
  overflow:hidden;
  border:1px solid var(--filete);
}
.mapa-marco iframe{display:block;width:100%;height:320px;}

/* Pie */
.pie-linea{
  background:var(--plancha);
  border-top:1px solid var(--filete);
  padding:16px 0 18px;
  color:var(--ceniza);
  font-size:0.82rem;
  line-height:1.65;
}
.pie-linea__caja{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 0;
}
.pie-linea a{color:var(--ceniza);text-decoration:none;}
.pie-linea a:hover,.pie-linea a:focus{color:var(--naranja);}
.pie-linea__sep{
  display:inline-block;
  margin:0 0.45rem;
  color:var(--ceniza);
}

/* Cookies */
.aviso-cookies{
  position:fixed;
  right:0;
  bottom:0;
  left:0;
  z-index:20;
  background:var(--plancha);
  border-top:1px solid var(--filete);
  padding:14px 0;
}
.aviso-cookies p{margin:0 0 0.75rem;}
.aviso-cookies[hidden]{display:none;}

/* Animación: visible por defecto */
.alza-suave{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease;}
html.js .alza-suave{opacity:0;transform:translateY(14px);}
html.js .alza-suave.vista{opacity:1;transform:none;}
.no-js .alza-suave{opacity:1!important;transform:none!important;}

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

@media (max-width:820px){
  .barra-sup__fila{flex-direction:column;gap:10px;}
  .boton-menu{display:inline-block;}
  .menu-eje{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:8px;margin:4px 0 8px;}
  .menu-eje.abierto{display:flex;}
  .no-js .menu-eje{display:flex;}
  .dupla,.terna,.ficha-tres{grid-template-columns:1fr;}
  .dupla__texto,.dupla__foto{grid-column:auto;}
}
