:root{
  --piedra:#F5F5F2;
  --superficie:#E7E8E2;
  --grafito:#1C2420;
  --esmeralda:#0E8A5F;
  --apagado:#7E837B;
  --esmeralda-fuerte:#0B6E4C;
  --esmeralda-hover:#095B3F;
  --blanco:#FFFFFF;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
}
body{
  margin:0;
  font-family:"Roboto Slab",Georgia,serif;
  font-weight:400;
  font-size:1rem;
  line-height:1.72;
  color:var(--grafito);
  background:var(--piedra);
}
img{max-width:100%;height:auto;display:block}
a{color:var(--esmeralda-fuerte);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--esmeralda-hover)}
h1,h2,h3,h4{font-family:Barlow,system-ui,sans-serif;font-weight:600;margin:0 0 .6em;color:inherit}
h1{
  font-size:clamp(2.1rem,4.4vw,3.5rem);
  letter-spacing:-.02em;
  line-height:1.06;
}
h2,.titular{
  font-size:clamp(1.6rem,2.6vw,2.25rem);
  line-height:1.18;
  letter-spacing:-.015em;
}
h3{font-size:1.18rem;line-height:1.3}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 1.05em;padding-left:1.2em}
li{margin:.28em 0}
table{border-collapse:collapse;width:100%}
button,input,select,textarea{font:inherit}

/* Barra superior fija */
.barra-tope{
  background:var(--grafito);
  min-height:72px;
  position:sticky;
  top:0;
  z-index:40;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.barra-tope .franja__eje{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:0;
  padding:10px 24px;
  position:relative;
}
@media(min-width:900px){
  .barra-tope .franja__eje{padding:12px 40px}
}
.barra-tope__marca{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--piedra);
  flex-shrink:0;
}
.barra-tope__marca:hover{color:var(--piedra)}
.barra-tope__marca svg{width:26px;height:26px;display:block;flex-shrink:0}
.barra-tope__marca strong{
  display:block;
  font-family:Barlow,system-ui,sans-serif;
  font-weight:600;
  font-size:1.12rem;
  letter-spacing:.01em;
  line-height:1.1;
}
.barra-tope__marca small{
  display:block;
  font-family:Barlow,system-ui,sans-serif;
  font-weight:500;
  font-size:.66rem;
  color:var(--apagado);
  letter-spacing:.02em;
  margin-top:2px;
}
@media(max-width:720px){
  .barra-tope__marca small{display:none}
}
.navegacion{
  display:flex;
  align-items:center;
  gap:4px 18px;
  flex-wrap:wrap;
}
.navegacion__enlace{
  font-family:Barlow,system-ui,sans-serif;
  font-weight:500;
  font-size:.92rem;
  color:#D9DCD6;
  text-decoration:none;
  padding:6px 0;
  border-bottom:2px solid transparent;
}
.navegacion__enlace:hover{color:var(--piedra)}
.navegacion__enlace--activo{
  color:var(--piedra);
  border-bottom-color:var(--esmeralda);
}
.navegacion__cta{margin-left:8px;text-decoration:none}
.conmutador-menu{
  display:none;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.22);
  background:transparent;
  cursor:pointer;
  padding:10px 9px;
  flex-direction:column;
  justify-content:center;
  gap:6px;
}
.conmutador-menu span{
  display:block;
  height:2px;
  background:var(--piedra);
  width:100%;
}
@media(max-width:960px){
  .conmutador-menu{display:flex}
  .navegacion{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--grafito);
    border-bottom:1px solid rgba(255,255,255,.12);
    flex-direction:column;
    align-items:stretch;
    padding:12px 24px 20px;
    gap:4px;
  }
  .navegacion.navegacion--abierta{display:flex}
  html.no-js .navegacion{display:flex;flex-wrap:wrap}
  .navegacion__cta{margin:12px 0 4px;align-self:flex-start}
}

/* Franjas a todo el ancho */
.franja{width:100%;position:relative}
.franja--piedra{background:var(--piedra);color:var(--grafito)}
.franja--superficie{background:var(--superficie);color:var(--grafito)}
.franja--grafito{background:var(--grafito);color:#D9DCD6}
.franja--imagen{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  min-height:58vh;
  color:#D9DCD6;
}
.franja__eje{
  width:min(1240px,100%);
  margin:0 auto;
  padding:72px 24px;
}
@media(min-width:900px){
  .franja__eje{padding:88px 40px}
}
.franja__velo{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(28,36,32,.88) 0%,rgba(28,36,32,.62) 65%,rgba(28,36,32,.45) 100%);
  pointer-events:none;
}
.franja--imagen .franja__eje{position:relative;z-index:1}

.portada-alta{
  min-height:78vh;
  display:flex;
  align-items:center;
  padding-top:96px;
  padding-bottom:96px;
}
.portada-alta__texto{max-width:720px}
.portada-alta__acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.franja--imagen .bajada,.franja--grafito .bajada{color:#D9DCD6}

.rotulo{
  font-family:Barlow,system-ui,sans-serif;
  font-weight:600;
  font-size:.74rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--esmeralda);
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 14px;
}
.rotulo::before{
  content:"";
  width:24px;
  height:2px;
  background:var(--esmeralda);
  flex-shrink:0;
}
.bajada{
  font-family:"Roboto Slab",Georgia,serif;
  font-size:1.05rem;
  line-height:1.7;
  margin:0 0 0;
}
.parrafo-guia{
  font-size:1.05rem;
  margin-bottom:1.1em;
}

/* Módulo de dos columnas */
.par{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:56px;
  align-items:start;
}
.par--invertido{direction:rtl}
.par--invertido > *{direction:ltr}
@media(max-width:900px){
  .par{grid-template-columns:1fr;gap:32px}
  .par--invertido{direction:ltr}
}
.par figure{margin:0}
.par figure img{width:100%;border:1px solid var(--apagado)}
figcaption{
  font-family:"Roboto Slab",Georgia,serif;
  font-weight:300;
  font-size:.86rem;
  color:var(--apagado);
  margin-top:.65rem;
}
.franja--grafito figcaption{color:#A8ADA6}

.rejilla-3,.rejilla-2{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;
}

.ficha{
  background:var(--blanco);
  border:1px solid rgba(28,36,32,.08);
  padding:28px 26px 24px;
  height:100%;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.franja--superficie .ficha{background:var(--piedra)}
.franja--grafito .ficha{
  background:rgba(255,255,255,.04);
  border-color:rgba(255,255,255,.1);
}
.ficha__cabeza{display:flex;align-items:flex-start;gap:12px}
.ficha__cabeza h3{margin:0}
.ficha__marca-num{
  font-family:Barlow,system-ui,sans-serif;
  font-weight:600;
  font-size:.92rem;
  letter-spacing:.08em;
  color:var(--esmeralda);
  flex-shrink:0;
  line-height:1.3;
}
.ficha__cuerpo{flex:1}
.ficha__cuerpo p{margin-bottom:.85em}
.ficha__cuerpo ul{margin:.4em 0 1em;padding-left:1.1em}
.ficha a{font-family:Barlow,system-ui,sans-serif;font-weight:500;font-size:.92rem}

.panel-dato{
  background:var(--piedra);
  padding:28px 24px;
  border-top:3px solid var(--esmeralda);
}
.panel-dato__valor{
  font-family:Barlow,system-ui,sans-serif;
  font-weight:600;
  font-size:1.22rem;
  margin:0 0 .5em;
  color:var(--grafito);
}
.panel-dato__pie{
  font-size:.95rem;
  margin:0;
  color:var(--grafito);
}

.tabla-series{
  width:100%;
  font-family:Barlow,system-ui,sans-serif;
  font-size:.92rem;
  background:var(--blanco);
}
.tabla-series th,
.tabla-series td{
  text-align:left;
  padding:12px 14px;
  border-bottom:1px solid var(--superficie);
  vertical-align:top;
}
.tabla-series thead th{
  background:var(--grafito);
  color:var(--piedra);
  font-weight:600;
  letter-spacing:.02em;
}
.tabla-series tbody th{
  font-weight:600;
  background:var(--superficie);
  color:var(--grafito);
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:.74rem;
  padding-top:16px;
}
.tabla-series tbody td{font-family:"Roboto Slab",Georgia,serif;font-size:.9rem}
.tabla-series tbody tr:hover td{background:rgba(14,138,95,.06)}
.franja--grafito .tabla-series{background:rgba(255,255,255,.03);color:#D9DCD6}
.franja--grafito .tabla-series th,
.franja--grafito .tabla-series td{border-bottom-color:rgba(255,255,255,.1)}
@media(max-width:720px){
  .tabla-series{display:block;overflow-x:auto}
}

.secuencia{
  display:flex;
  gap:28px;
  align-items:stretch;
}
.secuencia__paso{
  flex:1;
  min-width:0;
  padding:8px 0 0;
  border-top:2px solid var(--esmeralda);
}
.secuencia__paso h3{margin:14px 0 8px}
.secuencia__paso .rotulo,.secuencia__paso p + p{margin-top:.6em}
.secuencia__paso strong{
  display:block;
  font-family:Barlow,system-ui,sans-serif;
  font-weight:600;
  font-size:.86rem;
  color:var(--esmeralda);
  margin-bottom:8px;
}
@media(max-width:900px){
  .secuencia{flex-direction:column;gap:22px}
}

.caso-uso{
  background:var(--blanco);
  padding:28px 26px;
  border:1px solid rgba(28,36,32,.08);
  height:100%;
}
.caso-uso__aviso{
  font-family:Barlow,system-ui,sans-serif;
  font-weight:600;
  font-size:.72rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--esmeralda);
  margin:0 0 14px;
  padding:8px 10px;
  background:var(--superficie);
}

.pliego{border-top:1px solid rgba(28,36,32,.12)}
.pliego + .pliego{margin-top:0}
.pliego__pregunta{
  font-family:Barlow,system-ui,sans-serif;
  font-weight:600;
  font-size:1.05rem;
  cursor:pointer;
  list-style:none;
  padding:16px 0;
}
.pliego__pregunta::-webkit-details-marker{display:none}
.pliego__pregunta::marker{content:""}
.pliego__pregunta::after{
  content:"+";
  float:right;
  color:var(--esmeralda);
  font-weight:600;
}
.pliego[open] .pliego__pregunta::after{content:"–"}
.pliego__respuesta{
  padding:0 0 20px;
  color:var(--grafito);
}

.boton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:Barlow,system-ui,sans-serif;
  font-weight:600;
  font-size:.92rem;
  letter-spacing:.02em;
  line-height:1.2;
  padding:12px 20px;
  border-radius:2px;
  border:1px solid transparent;
  cursor:pointer;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.boton--solido{
  background:var(--esmeralda-fuerte);
  color:#FFFFFF;
  border-color:var(--esmeralda-fuerte);
}
.boton--solido:hover,
.boton--solido:focus{
  background:var(--esmeralda-hover);
  color:#FFFFFF;
  border-color:var(--esmeralda-hover);
}
.boton--linea{
  background:transparent;
  border:1px solid var(--grafito);
  color:var(--grafito);
}
.boton--linea:hover,
.boton--linea:focus{
  background:var(--grafito);
  color:var(--piedra);
}
.franja--imagen .boton--linea,
.franja--grafito .boton--linea,
.aviso-cookies .boton--linea{
  border-color:var(--piedra);
  color:var(--piedra);
  background:transparent;
}
.franja--imagen .boton--linea:hover,
.franja--imagen .boton--linea:focus,
.franja--grafito .boton--linea:hover,
.franja--grafito .boton--linea:focus,
.aviso-cookies .boton--linea:hover,
.aviso-cookies .boton--linea:focus{
  background:var(--piedra);
  color:var(--grafito);
}
.boton--claro{
  background:var(--piedra);
  color:var(--grafito);
  border-color:var(--piedra);
}
.boton--claro:hover,
.boton--claro:focus{
  background:#FFFFFF;
  color:var(--grafito);
  border-color:#FFFFFF;
}
.boton:focus-visible{
  outline:2px solid var(--esmeralda);
  outline-offset:3px;
}

/* Pie de página */
.pie{background:var(--grafito);color:#D9DCD6}
.pie a{color:#D9DCD6}
.pie a:hover{color:var(--piedra)}
.pie .franja__eje{padding-top:56px;padding-bottom:36px}
.pie__suscripcion{
  padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.12);
  margin-bottom:40px;
}
.pie__columnas{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:36px;
  padding-bottom:36px;
}
.pie__columnas h3{
  font-size:.92rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:12px;
  color:var(--piedra);
}
.pie__columnas ul{list-style:none;padding:0;margin:0}
.pie__columnas li{margin:.35em 0}
.pie__columnas p{margin:0 0 .4em;font-size:.92rem}
.pie__descargo{
  font-weight:300;
  font-size:.82rem;
  color:var(--apagado);
  padding:24px 0;
  border-top:1px solid rgba(255,255,255,.12);
}
.pie__legal{
  font-family:Barlow,system-ui,sans-serif;
  font-size:.82rem;
  color:#A8ADA6;
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  padding-top:8px;
  padding-bottom:12px;
}
.pie__legal a{color:#A8ADA6}
@media(max-width:900px){
  .pie__columnas{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .pie__columnas{grid-template-columns:1fr}
}

.formulario{display:flex;flex-direction:column;gap:16px}
.campo{display:flex;flex-direction:column;gap:6px}
.campo__etiqueta{
  font-family:Barlow,system-ui,sans-serif;
  font-weight:500;
  font-size:.86rem;
}
.campo__control{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--apagado);
  background:var(--blanco);
  color:var(--grafito);
  border-radius:2px;
}
.campo__control:focus{
  outline:2px solid var(--esmeralda);
  outline-offset:1px;
  border-color:var(--esmeralda);
}
textarea.campo__control{min-height:140px;resize:vertical}
.campo--casilla{
  flex-direction:row;
  align-items:flex-start;
  gap:10px;
}
.campo--casilla .campo__etiqueta{
  font-weight:400;
  font-family:"Roboto Slab",Georgia,serif;
  font-size:.9rem;
}
.pie .campo__control{background:var(--blanco)}
[hidden]{display:none !important}
.aviso-exito,.aviso-error{
  padding:12px 14px;
  font-family:Barlow,system-ui,sans-serif;
  font-size:.92rem;
  margin-bottom:12px;
}
.aviso-exito{background:#D8EFE4;color:var(--esmeralda-fuerte)}
.aviso-error{background:#F3E2DC;color:#6B2E22}
.trampa{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0;
}
.formulario{position:relative}

.aviso-cookies{
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  z-index:50;
  background:var(--grafito);
  color:#D9DCD6;
  border-top:1px solid rgba(255,255,255,.12);
  padding:18px 24px;
  display:none;
}
html.no-js .aviso-cookies,
html.js .aviso-cookies.aviso-cookies--visible{display:block}
.aviso-cookies .franja__eje{
  padding:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  flex-wrap:wrap;
}
.aviso-cookies p{margin:0;max-width:72ch;font-size:.92rem}
.aviso-cookies__acciones{display:flex;flex-wrap:wrap;gap:10px}

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

.lista-limpia{list-style:none;padding:0;margin:0}
.lista-limpia li{
  padding:.45em 0 .45em 1.1em;
  position:relative;
}
.lista-limpia li::before{
  content:"";
  width:8px;
  height:2px;
  background:var(--esmeralda);
  position:absolute;
  left:0;
  top:.95em;
}

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

.cta-cierre{text-align:left}
.cta-cierre .boton{margin-top:18px}

.franja--grafito .ficha__cuerpo,
.franja--grafito .pliego__respuesta{color:#D9DCD6}
.franja--imagen h1,.franja--imagen h2,.franja--grafito h1,.franja--grafito h2{color:var(--piedra)}
.acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.nota-pie{
  font-weight:300;
  font-size:.86rem;
  color:var(--apagado);
}
.envoltorio-tabla{overflow-x:auto}
