:root {
  --brand-green: #158F5A;
  --verde-boton: #11804F;
  --crema: #F3EFE7;
  --superficie: #FAF7F1;
  --arena: #E9E3D8;
  --linea: #D8D1C4;
  --grafito: #2A2B28;
  --pie: #34352F;
  --negro-mate: #1C1D1B;
  --antracita: #2C2D2A;
  --gris: #7E786D;
  --blanco: #E9E4DA;
  --casi-negro: var(--grafito);
  --negro-boton: #FAF7F1;
  --verde-sobre-claro: #176F48;
  --verde-sobre-oscuro: #6DB892;
  --negro-2: var(--arena);
  --c-fondo: var(--crema);
  --c-fondo-alt: var(--arena);
  --c-superficie: var(--superficie);
  --c-bloque: var(--arena);
  --c-bloque-txt: var(--grafito);
  --c-titulo: var(--grafito);
  --c-texto: var(--grafito);
  --c-texto-2: #5E5B55;
  --c-rotulo: #65615A;
  --c-linea: var(--linea);
  --c-linea-fuerte: #B9B09F;
  --c-borde-campo: var(--gris);
  --c-acento: var(--brand-green);
  --c-acento-txt: var(--verde-sobre-claro);
  --c-sobre-acento: var(--negro-boton);
  --c-foco: var(--brand-green);
  --c-error: #A12B2B;
  --f-marca: "Montserrat", "Montserrat Fallback", system-ui, sans-serif;
  --f-texto: "Barlow", "Barlow Fallback", system-ui, sans-serif;
  --f-cifra: "Barlow Condensed", "Barlow Condensed Fallback", "Barlow", system-ui, sans-serif;
  --f-titular: var(--f-marca);
  --f-numero: var(--f-cifra);
  --w-titular: 700;
  --w-numero: 600;
  --ls-titular: -.025em;
  --t-xs: .8125rem;
  --t-s: .9375rem;
  --t-m: 1.0625rem;
  --t-l: 1.25rem;
  --t-xl: clamp(1.5rem, 1.15rem + 1.1vw, 2rem);
  --t-tit: clamp(1.125rem, .95rem + .7vw, 1.625rem);
  --t-display: clamp(2.125rem, 1.1rem + 4.2vw, 4.75rem);
  --t-heroe: clamp(2.25rem, 1rem + 4.4vw, 4.875rem);
  --t-cifra: clamp(3.5rem, 14.5vw, 12.5rem);
  --t-cifra-m: clamp(2.5rem, 1.5rem + 3vw, 4rem);
  --t-cifra-s: clamp(2rem, 1.6rem + 1.6vw, 3rem);
  --t-rotulo: .6875rem;
  --ls-rotulo: .24em;
  --g: max(clamp(20px, 5.5vw, 96px), env(safe-area-inset-left), env(safe-area-inset-right));
  --max: 1200px;
  --rail: 0px;
  --sec: clamp(96px, 4rem + 8vw, 224px);
  --cab-alto: 64px;
  --canaleta: 24px;
  --toque: 44px;
  --ease: cubic-bezier(.19, 1, .22, 1);
  --ease-circ: cubic-bezier(.785, .135, .15, .86);
  --ease-ui: cubic-bezier(.4, 0, .2, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
}
@media (max-width: 599px) { :root { --t-s: 1rem; } }
@media (max-width: 819px) { :root { --sec: clamp(44px, 12vw, 56px); } }
.oscuro, .heroe:not(.heroe--tipo), .cierre:not(.cierre--claro), .pie, .mficha-osc {
  --c-fondo: var(--negro-mate);
  --c-fondo-alt: #222321;
  --c-superficie: #2C2D2A;
  --c-bloque: var(--antracita);
  --c-bloque-txt: var(--blanco);
  --c-titulo: var(--blanco);
  --c-texto: #DDD8CE;
  --c-texto-2: #B5B0A6;
  --c-rotulo: #B5B0A6;
  --c-linea: rgba(221, 216, 206, .18);
  --c-linea-fuerte: rgba(221, 216, 206, .34);
  --c-borde-campo: #8A8478;
  --c-acento-txt: var(--verde-sobre-oscuro);
  --c-error: #FF8F84;
}
.pie { --c-fondo: var(--pie); }
.blanco { --c-fondo: var(--superficie); --c-superficie: var(--crema); }
html[data-estilo="editorial"] {
  --f-serif: "Bodoni Moda", "Bodoni 72", "Didot", Georgia, serif;
  --f-titular: var(--f-serif);
  --f-numero: var(--f-serif);
  --f-texto: var(--f-marca);
  --w-titular: 400;
  --w-numero: 400;
  --ls-titular: -.015em;
  --t-heroe: clamp(2.75rem, 1.2rem + 5.2vw, 6.5rem);
  --t-display: clamp(2rem, 1.1rem + 3vw, 4rem);
  --gris-voz: #A8A49B;
}
@font-face { font-family: "Montserrat Fallback"; src: local("Arial"), local("Helvetica Neue"), local("Helvetica"); size-adjust: 112.8%; ascent-override: 85.8%; descent-override: 22.3%; line-gap-override: 0%; }
@font-face { font-family: "Barlow Fallback"; src: local("Arial"), local("Helvetica Neue"), local("Helvetica"); size-adjust: 96.7%; ascent-override: 103.4%; descent-override: 20.7%; line-gap-override: 0%; }
@font-face { font-family: "Barlow Condensed Fallback"; src: local("Arial Narrow"), local("Helvetica Neue Condensed"), local("Arial"); size-adjust: 88%; ascent-override: 113%; descent-override: 22.7%; line-gap-override: 0%; }
@media (min-width: 768px) { :root { --cab-alto: 88px; } }
@media (min-width: 1280px) { :root { --rail: 152px; } }
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root), ::view-transition-new(root) { animation-duration: .32s; }
  ::view-transition-group(*) { animation-duration: .55s; animation-timing-function: var(--ease); }
}
*, *::before, *::after { box-sizing: border-box; }
html {
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--cab-alto) + 16px);
  overflow-x: clip; background: var(--crema); color-scheme: light;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0; background: var(--c-fondo); color: var(--c-texto);
  font-family: var(--f-texto); font-size: var(--t-m); line-height: 1.6;
  font-feature-settings: "kern", "liga"; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
@supports not (overflow: clip) { body { overflow-x: hidden; } }
@media (min-width: 1024px) { body { font-size: 1.125rem; } }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure { margin: 0; }
ul[role="list"], ol[role="list"] { list-style: none; padding: 0; }
::selection { background: var(--brand-green); color: var(--negro-boton); }
[hidden] { display: none !important; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.saltar {
  position: fixed; left: var(--g); top: calc(12px + env(safe-area-inset-top)); z-index: 300; padding: 12px 18px;
  background: var(--verde-boton); color: var(--negro-boton); font-weight: 600; text-decoration: none;
  transform: translateY(-200%); transition: transform .2s;
}
.saltar:focus { transform: none; }
:focus-visible { outline: 3px solid var(--c-foco); outline-offset: 3px; box-shadow: 0 0 0 3px var(--c-fondo); }
.blanco :focus-visible { box-shadow: 0 0 0 3px var(--blanco); }
:focus:not(:focus-visible) { outline: none; }
html[data-entrada="puntero"] .hamb:focus-visible, .hamb.sin-anillo:focus { outline: none; box-shadow: none; }
.cont {
  width: min(var(--max), 100% - var(--rail) - 2 * var(--g));
  margin-left: max(calc(var(--rail) + var(--g)), calc((100% - var(--max)) / 2));
  margin-right: auto;
}
.cont--ancho { --max: 1320px; }
.cont--angosto { --max: 860px; }
.sec { padding-block: var(--sec); position: relative; background: var(--c-fondo); color: var(--c-texto); }
.sec--pegada { padding-top: 0; }
.claro { --c-fondo: var(--crema); }
.oscuro { --c-fondo: var(--negro-mate); }
.neblina { --c-fondo: var(--arena); }
.verde { --c-fondo: var(--arena); }
.claro + .claro:not(.sec--pegada), .oscuro + .claro, .claro + .oscuro:not(.cierre) { border-top: 1px solid var(--c-linea); }
@media (min-width: 1100px) {
  .ret, .sec > .cont:has(> .tit:first-child) { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--canaleta); align-items: start; }
  .ret > *, .sec > .cont:has(> .tit:first-child) > * { grid-column: 5 / -1; min-width: 0; }
  .ret > .tit:first-child, .ret > .ret__rot, .sec > .cont:has(> .tit:first-child) > .tit:first-child { grid-column: 1 / span 3; grid-row: 1 / span 3; }
  .ret > .ret__ancho, .sec > .cont:has(> .tit:first-child) > .ret__ancho { grid-column: 1 / -1; }
  .ret > .mt-l:not(.ret__ancho), .sec > .cont:has(> .tit:first-child) > .mt-l:not(.ret__ancho) { margin-top: 0; }
  .ret > .ret__ancho, .sec > .cont:has(> .tit:first-child) > .ret__ancho { margin-top: clamp(40px, 4vw, 64px); }
  .sec > .cont.ret--ficha:has(> .tit:first-child) > .tit:first-child { grid-row: 1; }
  .sec > .cont.ret--ficha:has(> .tit:first-child) > .obra-principal { grid-column: 5 / -1; grid-row: 1 / span 2; }
  .sec > .cont.ret--ficha:has(> .tit:first-child) > .obra-lado { grid-column: 1 / span 3; grid-row: 2; margin-top: 40px; }
}
@media (min-width: 1100px) { .sec > .cont:has(> .tit:first-child) > .historia { grid-template-columns: minmax(0, 1fr); } .historia__fotos { max-width: 640px; } }
@media (max-width: 1099px) { .ret--ficha > .obra-lado { margin-top: 40px; } .ret > .ret__ancho { margin-top: clamp(32px, 6vw, 56px); } }
.escala__lead + .escala__fila { margin-top: clamp(40px, 6vw, 96px); }
.tit {
  font-family: var(--f-marca); font-weight: 600; font-size: var(--t-rotulo); line-height: 1.4;
  letter-spacing: var(--ls-rotulo); text-transform: uppercase; color: var(--c-texto); max-width: 30ch;
  font-variant-numeric: tabular-nums;
}
@media (min-width: 1024px) { .tit { font-size: .75rem; } }
.tit::before { content: ""; display: block; width: 24px; height: 2px; background: var(--c-acento); margin-bottom: 14px; }
.tit--s { margin-top: 0; }
.tit--ante { margin-bottom: clamp(18px, 1.6vw, 26px); color: var(--c-texto-2); }
.tit__n { color: var(--c-acento-txt); }
.display {
  font-family: var(--f-titular); font-weight: var(--w-titular); font-size: var(--t-display); line-height: 1.04;
  letter-spacing: var(--ls-titular); color: var(--c-titulo); text-wrap: balance;
}
.lead { font-size: var(--t-l); line-height: 1.5; max-width: 42ch; color: var(--c-texto); text-wrap: pretty; }
.texto { max-width: 64ch; text-wrap: pretty; }
.texto p + p { margin-top: 1em; }
.texto a, .enlace-txt { color: var(--c-acento-txt); text-decoration-thickness: 1px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.nota { font-size: var(--t-xs); color: var(--c-texto-2); line-height: 1.5; }
.boton {
  --b-bg: var(--verde-boton); --b-fg: var(--c-sobre-acento); --b-bd: var(--verde-boton); --b-barr: var(--grafito);
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 52px; padding: 0 26px;
  background: linear-gradient(var(--b-barr) 0 0) 0 0 / 0% 100% no-repeat, var(--b-bg);
  color: var(--b-fg); border: 1.5px solid var(--b-bd);
  font-family: var(--f-marca); font-weight: 600; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase;
  text-decoration: none; cursor: pointer; white-space: nowrap; touch-action: manipulation;
  transition: background-size .35s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.boton::after { content: "→"; font-family: var(--f-texto); font-size: 1.1em; letter-spacing: 0; transition: transform .3s var(--ease); }
.boton:has(svg)::after, .boton.sin-flecha::after { display: none; }
@media (hover: hover) and (pointer: fine) {
  .boton:hover { background-size: 100% 100%, auto; border-color: var(--b-barr); }
  .boton:hover::after { transform: translateX(4px); }
}
.boton:active { background-size: 100% 100%, auto; }
.boton--linea { --b-bg: transparent; --b-fg: var(--c-titulo); --b-bd: var(--c-linea-fuerte); --b-barr: var(--c-titulo); }
@media (hover: hover) and (pointer: fine) { .boton--linea:hover { --b-fg: var(--c-fondo); } }
.blanco .boton:not(.boton--linea) { --b-barr: var(--negro-mate); }
@media (hover: hover) and (pointer: fine) { .blanco .boton:not(.boton--linea):hover { --b-fg: var(--blanco); } }
.boton svg { width: 18px; height: 18px; flex: none; }
.boton[disabled] { opacity: .6; cursor: progress; }
.botones { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 479px) {
  .boton { white-space: normal; text-align: center; padding-block: 12px; letter-spacing: .1em; }
  .botones--heroe, .cierre .botones { flex-direction: column; align-items: stretch; gap: 4px; }
  .botones--heroe .boton, .cierre .botones .boton { white-space: nowrap; letter-spacing: .16em; padding-inline: 20px; }
  .botones--heroe .boton--linea, .cierre .botones .boton--linea { min-height: var(--toque); border: 0; padding: 0; justify-content: flex-start; background: none; }
}
.enlace {
  display: inline-flex; align-items: center; gap: 10px; min-height: var(--toque);
  font-family: var(--f-marca); font-weight: 700; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase;
  color: var(--c-acento-txt); text-decoration: none; padding-block: 12px;
  background: linear-gradient(currentColor, currentColor) 0 calc(100% - 8px) / 0 1.5px no-repeat;
  transition: background-size .35s var(--ease);
}
.enlace::after { content: "→"; font-family: var(--f-texto); letter-spacing: 0; font-size: 1.1em; transition: transform .3s var(--ease); }
@media (hover: hover) and (pointer: fine) { .enlace:hover { background-size: 100% 1.5px; } .enlace:hover::after { transform: translateX(4px); } }
.cab {
  position: fixed; inset: 0 0 auto 0; z-index: 100; height: calc(var(--cab-alto) + env(safe-area-inset-top));
  padding-top: env(safe-area-inset-top); color: var(--grafito);
  background: rgba(243, 239, 231, .97); border-bottom: 1px solid var(--linea);
  transition: background-color .35s var(--ease), border-color .35s var(--ease), transform .4s var(--ease);
}
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .cab { background: rgba(243, 239, 231, .88); -webkit-backdrop-filter: saturate(1.2) blur(16px); backdrop-filter: saturate(1.2) blur(16px); }
}
.cab--sobre:not(.is-solida) { background: transparent; border-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; color: var(--blanco); }
.cab.is-oculta { transform: translateY(-100%); }
.cab:focus-within { transform: none; }
.cab__in { height: 100%; display: flex; align-items: center; gap: 24px; padding-inline: var(--g); max-width: 1600px; margin-inline: auto; }
@media (min-width: 1280px) { .cab__in { padding-left: calc(var(--rail) + var(--g)); } }
.logo { display: block; position: relative; width: 142px; aspect-ratio: 5000 / 1367; flex: none; color: inherit; }
@media (min-width: 768px) { .logo { width: 172px; } }
.logo__barra { position: absolute; left: 0; top: 0; width: 27.27%; height: 13.8%; background: var(--brand-green); }
.logo__marca {
  position: absolute; inset: 0; background: currentColor;
  -webkit-mask: url("/assets/marca/logo-marca.svg") center / 100% 100% no-repeat;
  mask: url("/assets/marca/logo-marca.svg") center / 100% 100% no-repeat;
}
.nav { margin-left: auto; display: none; align-items: center; gap: 2px; }
@media (min-width: 1100px) { .nav { display: flex; } }
.nav__link {
  display: inline-flex; align-items: center; gap: 6px; height: var(--toque); padding: 0 12px;
  background: none; border: 0; cursor: pointer; text-decoration: none;
  font-family: var(--f-marca); font-weight: 600; font-size: var(--t-rotulo); letter-spacing: .2em; text-transform: uppercase; color: inherit; position: relative;
}
.nav__link::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 8px; height: 1px; background: var(--brand-green); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease); }
@media (hover: hover) and (pointer: fine) { .nav__link:hover::after { transform: scaleX(1); } }
.nav__link[aria-expanded="true"]::after, .nav__link[aria-current="page"]::after { transform: scaleX(1); }
.nav__link svg { width: 10px; height: 10px; transition: transform .3s var(--ease); }
.nav__link[aria-expanded="true"] svg { transform: rotate(180deg); }
.boton--cab { min-height: var(--toque); padding: 0 18px; margin-left: 12px; }
.boton--cab::after { display: none; }
.mega {
  position: fixed; left: 0; right: 0; top: calc(var(--cab-alto) + env(safe-area-inset-top)); z-index: 99;
  max-height: calc(100vh - var(--cab-alto)); max-height: calc(100dvh - var(--cab-alto)); overflow-y: auto; overscroll-behavior: contain;
  background: var(--superficie); color: var(--c-texto); border-top: 1px solid var(--c-linea); border-bottom: 1px solid var(--c-linea);
  box-shadow: 0 40px 80px -30px rgba(28, 29, 27, .28);
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .28s var(--ease), transform .28s var(--ease), visibility 0s .28s;
}
.mega.is-abierto { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.mega__in { padding: 22px var(--g) 8px; max-width: 1600px; margin-inline: auto; }
@media (min-width: 1280px) { .mega__in { padding-left: calc(var(--rail) + var(--g)); } }
.mega__cab { display: flex; flex-wrap: wrap; gap: 4px 32px; padding-bottom: 10px; margin-bottom: 20px; border-bottom: 1px solid var(--c-linea); }
.mega__cols { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0; }
.mega__col { padding: 4px 22px 26px; border-left: 1px solid var(--c-linea); }
.mega__col:first-child { border-left: 0; padding-left: 0; }
.mega__num { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1rem; color: var(--c-acento-txt); letter-spacing: .04em; }
.mega__fam { display: block; font-family: var(--f-marca); font-weight: 700; font-size: .95rem; line-height: 1.25; margin: 6px 0 12px; text-decoration: none; color: var(--c-titulo); min-height: 2.5em; }
.mega__cifra { display: block; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: clamp(1.75rem, 1rem + 1.3vw, 2.5rem); line-height: .95; color: var(--c-titulo); letter-spacing: -.01em; white-space: nowrap; }
.mega__cifra small { font-size: .5em; font-weight: 500; }
.mega__cifra--sello { font-family: var(--f-marca); font-weight: 700; font-size: 1.0625rem; line-height: 1.2; white-space: normal; letter-spacing: -.01em; }
.mega__cifra-et { display: block; font-size: .8125rem; color: var(--c-texto-2); line-height: 1.35; margin: 6px 0 14px; }
.mega__rubros a { display: flex; align-items: center; min-height: 40px; padding: 6px 0; font-size: .95rem; line-height: 1.3; text-decoration: none; color: var(--c-texto); border-top: 1px solid var(--c-linea); }
@media (hover: hover) and (pointer: fine) { .mega__fam:hover, .mega__rubros a:hover, .mega__lista a:hover { color: var(--c-acento-txt); } }
.mega--simple .mega__cols { grid-template-columns: minmax(280px, 1fr) 2fr; gap: 48px; padding-bottom: 28px; }
.mega__dest { display: grid; align-content: start; gap: 4px; }
.mega__mapa { width: 100%; max-width: 360px; height: auto; margin-bottom: 18px; }
.mega__foto { width: 100%; max-width: 360px; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: 18px; filter: grayscale(.35); }
.mega__dest .mega__cifra { font-size: 3.5rem; }
.mega__todos { margin-bottom: 8px; }
.mega__lista { columns: 2; column-gap: 48px; }
.mega__lista a { display: block; break-inside: avoid; padding: 10px 0; border-top: 1px solid var(--c-linea); text-decoration: none; font-family: var(--f-marca); font-weight: 600; font-size: .95rem; color: var(--c-titulo); }
.mega__lista a span { display: block; font-family: var(--f-texto); font-weight: 400; font-size: .875rem; color: var(--c-texto-2); }
.cortina { position: fixed; inset: 0; z-index: 98; background: rgba(28, 29, 27, .28); opacity: 0; visibility: hidden; transition: opacity .3s var(--ease), visibility 0s .3s; }
.cortina.is-visible { opacity: 1; visibility: visible; transition-delay: 0s; }
.hamb { margin-left: auto; width: 48px; height: 48px; display: inline-grid; place-items: center; background: none; border: 0; cursor: pointer; color: inherit; margin-right: -12px; touch-action: manipulation; }
@media (min-width: 1100px) { .hamb { display: none; } }
.hamb span { display: block; width: 26px; height: 2px; background: currentColor; position: relative; }
.hamb span::before, .hamb span::after { content: ""; position: absolute; left: 0; width: 26px; height: 2px; background: currentColor; }
.hamb span::before { top: -8px; }
.hamb span::after { top: 8px; width: 18px; background: var(--brand-green); }
.mm {
  position: fixed; inset: 0; z-index: 150; height: 100vh; height: 100dvh; background: var(--crema); color: var(--grafito);
  display: flex; flex-direction: column; overflow: hidden;
  padding: env(safe-area-inset-top) env(safe-area-inset-right) 0 env(safe-area-inset-left);
  opacity: 0; visibility: hidden; transition: opacity .3s var(--ease), visibility 0s .3s;
}
.mm.is-abierto { opacity: 1; visibility: visible; transition-delay: 0s; background: var(--crema); }
.mm::before { content: none; }
.mm > * { position: relative; }
.mm:focus { outline: none; box-shadow: none; }
.mm__cab { display: flex; align-items: center; height: var(--cab-alto); padding-inline: var(--g); flex: none; border-bottom: 1px solid var(--c-linea); }
.mm__cerrar { margin-left: auto; width: 48px; height: 48px; display: grid; place-items: center; background: none; border: 0; color: var(--grafito); cursor: pointer; margin-right: -12px; }
.mm__cerrar svg { width: 22px; height: 22px; }
.mm__cuerpo { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 8px var(--g) 28px; overscroll-behavior: contain; }
.mm__item { border-bottom: 1px solid var(--c-linea); }
.mm__link, .mm__acc {
  display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 60px;
  background: none; border: 0; padding: 0; text-align: left; cursor: pointer; text-decoration: none; color: var(--grafito);
  font-family: var(--f-marca); font-weight: 700; font-size: 1.375rem; letter-spacing: -.01em;
}
.mm__acc svg { width: 14px; height: 14px; transition: transform .3s var(--ease); flex: none; color: var(--brand-green); }
.mm__acc[aria-expanded="true"] svg { transform: rotate(180deg); }
.mm__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .4s var(--ease); }
.mm__panel.is-abierto { grid-template-rows: 1fr; }
.mm__panel > div { overflow: hidden; }
.mm__fam { padding: 4px 0 12px; }
.mm__fam-t { display: flex; gap: 10px; min-height: var(--toque); align-items: center; font-family: var(--f-marca); font-weight: 700; font-size: .95rem; color: var(--grafito); text-decoration: none; }
.mm__fam-t b { font-family: var(--f-numero); font-weight: var(--w-numero); color: var(--c-acento-txt); }
.mm__fam-c { font-family: var(--f-numero); font-size: 1.05rem; color: var(--c-texto-2); margin: -4px 0 2px 26px; line-height: 1.3; }
.mm__sub a { display: flex; align-items: center; min-height: var(--toque); padding: 6px 0 6px 26px; color: var(--c-texto); text-decoration: none; font-size: 1.0625rem; line-height: 1.3; }
.mm__cifras { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-top: 28px; }
.mm__cifras b { display: block; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 3rem; line-height: .9; color: var(--grafito); }
.mm__cifras span { display: block; margin-top: 6px; font-size: .875rem; color: var(--c-texto-2); line-height: 1.35; }
.mm__pie { padding: 16px var(--g) calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid var(--c-linea); display: grid; gap: 6px; flex: none; }
.mm__pie .boton { width: 100%; }
.mm__contacto { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0 12px; font-size: .9375rem; }
.mm__contacto a { display: inline-flex; align-items: center; min-height: var(--toque); color: var(--grafito); text-decoration: none; }
html.sin-scroll, html.sin-scroll body { overflow: hidden; }
.rail { display: none; }
html:not(.js) .rail { display: none !important; }
@media (min-width: 1280px) {
  .rail { display: block; position: fixed; left: 0; top: 0; bottom: 0; width: var(--rail); z-index: 90; pointer-events: none; }
  .rail::after { content: ""; position: absolute; top: 0; bottom: 0; right: 16px; width: 1px; background: rgba(168, 164, 155, .3); }
  .rail ol { position: absolute; right: 30px; bottom: 44px; display: grid; gap: 2px; text-align: right; pointer-events: auto; list-style: none; margin: 0; padding: 0; transition: opacity .45s var(--ease), transform .45s var(--ease); }
  .rail.is-espera ol { opacity: 0; transform: translateY(12px); pointer-events: none; visibility: hidden; transition: opacity .45s var(--ease), transform .45s var(--ease), visibility 0s .45s; }
  .rail a {
    position: relative; display: block; padding: 7px 0; text-decoration: none;
    font-family: var(--f-marca); font-weight: 600; font-size: .625rem; letter-spacing: .06em; text-transform: uppercase;
    color: rgba(221, 216, 206, .72); transition: color .3s; white-space: nowrap;
  }
  .rail a::after { content: ""; position: absolute; right: -15px; top: 50%; width: 2px; height: 0; background: var(--brand-green); transform: translateY(-50%); transition: height .35s var(--ease); }
  .rail a:hover, .rail a.is-activo { color: var(--blanco); }
  .rail a.is-activo::after { height: 22px; }
  .rail a.is-sobre-claro { color: #65615A; }
  .rail a.is-sobre-claro:hover, .rail a.is-sobre-claro.is-activo { color: var(--grafito); }
}
.heroe { position: relative; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; color: var(--blanco); overflow: hidden; background: var(--negro-mate); isolation: isolate; }
@supports (height: 100dvh) { .heroe { min-height: 100dvh; } }
.heroe__medio { position: absolute; inset: 0; z-index: -2; background: var(--negro-mate) center / cover no-repeat; }
.heroe__medio img, .heroe__medio video { width: 100%; height: 100%; object-fit: cover; }
.heroe__velo { position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(180deg, rgba(28, 29, 27, .66) 0%, rgba(28, 29, 27, .28) 30%, rgba(28, 29, 27, .48) 62%, rgba(28, 29, 27, .9) 100%),
    linear-gradient(90deg, rgba(28, 29, 27, .74) 0%, rgba(28, 29, 27, .2) 70%);
}
@media (max-width: 899px) {
  .heroe--pag .heroe__velo { background: linear-gradient(180deg, rgba(28, 29, 27, .8) 0%, rgba(28, 29, 27, .42) 30%, rgba(28, 29, 27, .58) 62%, rgba(28, 29, 27, .92) 100%); }
}
.heroe__cuerpo { padding-top: calc(var(--cab-alto) + env(safe-area-inset-top) + 48px); padding-bottom: clamp(32px, 4vw, 56px); }
.heroe h1 { font-family: var(--f-titular); font-weight: var(--w-titular); font-size: var(--t-heroe); line-height: 1.04; letter-spacing: -.028em; max-width: 15ch; text-wrap: balance; color: var(--blanco); }
.heroe--inicio h1 { max-width: 19ch; }
.heroe h1 .h1-a { display: block; font-weight: var(--w-titular); }
.heroe h1 .h1-b { display: block; font-weight: 300; margin-top: .14em; letter-spacing: -.02em; }
.heroe .botones { margin-top: clamp(28px, 3vw, 44px); }
.heroe .boton--linea { --b-fg: var(--blanco); --b-bd: rgba(221, 216, 206, .6); --b-barr: var(--blanco); }
@media (hover: hover) and (pointer: fine) { .heroe .boton--linea:hover { --b-fg: var(--negro-mate); } }
.heroe__ante, .heroe__bajada { text-shadow: 0 1px 10px rgba(28, 29, 27, .55); }
.heroe__ante { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; margin-bottom: 18px; font-size: var(--t-s); color: rgba(221, 216, 206, .86); }
.heroe__ante nav { display: flex; flex-wrap: wrap; gap: 0 10px; align-items: center; min-width: 0; }
.heroe__ante nav > * { min-height: var(--toque); display: inline-flex; align-items: center; }
.heroe__ante [aria-current] { max-width: 42ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: inline-block; line-height: var(--toque); }
@media (max-width: 599px) {
  .heroe__ante nav > [aria-current], .heroe__ante nav > .sep:nth-last-child(2) { display: none; }
  .heroe__ante nav:has(> :last-child:nth-child(3)) { display: none; }
}
.heroe__ante a { color: var(--blanco); text-decoration: none; }
@media (hover: hover) and (pointer: fine) { .heroe__ante a:hover { text-decoration: underline; text-decoration-color: var(--brand-green); text-underline-offset: 3px; } }
.heroe__ante .sep { opacity: .55; }
.heroe__bajada { margin-top: 20px; font-size: var(--t-l); line-height: 1.45; max-width: 46ch; color: rgba(221, 216, 206, .9); text-wrap: pretty; }
.heroe__cifra { margin-top: clamp(28px, 4vw, 48px); }
@media (max-height: 520px) and (orientation: landscape) {
  .heroe h1 { font-size: min(var(--t-heroe), 10.5vh); }
  .heroe--pag h1, .heroe--obra h1, .heroe--ficha h1 { font-size: min(var(--t-display), 9.5vh); }
  .heroe__bajada { font-size: var(--t-m); margin-top: 12px; }
  .heroe__cuerpo { padding-top: calc(var(--cab-alto) + env(safe-area-inset-top) + 16px); }
  .heroe__cifra .cifra__num, .heroe__cifras .cifra__num { font-size: min(var(--t-cifra-m), 18vh); }
  .cierre__frase { font-size: min(clamp(2.25rem, 1rem + 6.4vw, 7.5rem), 13vh); }
  .mm__link, .mm__acc { min-height: 52px; font-size: 1.25rem; }
  .mm { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  .mm__cab { position: sticky; top: 0; z-index: 2; background: var(--crema); }
  .mm__cuerpo { flex: none; overflow: visible; padding-bottom: 8px; }
  .mm__cifras { display: none; }
  .mm__pie { flex: none; border-top: 0; padding-top: 8px; }
  .mm__pie .boton { min-height: var(--toque); }
  .heroe__bajada--inicio { display: none; }
  .heroe .botones { margin-top: 16px; }
}
@media (max-width: 899px) and (max-height: 600px) and (orientation: portrait) {
  .heroe--inicio .heroe__cuerpo { padding-top: calc(var(--cab-alto) + env(safe-area-inset-top) + 12px); padding-bottom: 84px; }
  .heroe--inicio h1 { font-size: min(var(--t-heroe), 6vh); }
  .heroe__bajada--inicio { display: none; }
  .heroe--inicio .botones { margin-top: 24px; }
}
.heroe--inicio { --fam-alto: 0px; }
@media (min-width: 900px) { .heroe--inicio { --fam-alto: 98px; } }
.heroe--inicio .heroe__velo { background:
  linear-gradient(180deg, rgba(28, 29, 27, .62) 0%, rgba(28, 29, 27, .2) 24%, rgba(28, 29, 27, .42) 45%, rgba(28, 29, 27, .88) 100%),
  linear-gradient(90deg, rgba(28, 29, 27, .76) 0%, rgba(28, 29, 27, .3) 55%, rgba(28, 29, 27, 0) 80%); }
.heroe--inicio h1 { text-shadow: 0 2px 24px rgba(28, 29, 27, .45); }
.heroe__bajada--inicio { max-width: 52ch; font-size: clamp(1.0625rem, .95rem + .45vw, 1.3125rem); }
.heroe--inicio .heroe__cuerpo { padding-top: calc(var(--cab-alto) + env(safe-area-inset-top) + 32px); padding-bottom: clamp(72px, 7vw, 104px); }
@media (max-width: 899px) {
  .heroe--inicio .heroe__velo { background: linear-gradient(180deg, rgba(28, 29, 27, .6) 0%, rgba(28, 29, 27, .34) 22%, rgba(28, 29, 27, .72) 48%, rgba(28, 29, 27, .94) 100%); }
  .heroe h1 .h1-b { font-weight: 400; }
  .heroe--inicio .heroe__cuerpo { padding-bottom: 92px; }
}
.heroe__pausa {
  position: absolute; right: var(--g); bottom: calc(var(--fam-alto) + 18px); z-index: 2;
  width: var(--toque); height: var(--toque); display: grid; place-items: center; border-radius: 50%;
  background: rgba(28, 29, 27, .55); border: 1px solid rgba(221, 216, 206, .5); color: var(--blanco); cursor: pointer; touch-action: manipulation;
}
.heroe__pausa svg { width: 14px; height: 14px; }
.heroe__pausa .ic-play, .pausa-btn .ic-play { display: none; }
.heroe__pausa[aria-pressed="true"] .ic-play, .pausa-btn[aria-pressed="true"] .ic-play { display: block; }
.heroe__pausa[aria-pressed="true"] .ic-pausa, .pausa-btn[aria-pressed="true"] .ic-pausa { display: none; }
html:not(.js) .heroe__pausa, html.sin-video .heroe__pausa, html.sin-video .heroe__leyenda { display: none; }
.heroe__leyenda { display: none; position: absolute; right: calc(var(--g) + 64px); bottom: calc(var(--fam-alto) + 30px); margin: 0; padding: 0; list-style: none; z-index: 2; height: 20px; width: 60%; pointer-events: none; }
.js .heroe__leyenda { display: block; }
.heroe__leyenda li { position: absolute; right: 0; bottom: 0; white-space: nowrap; font-size: .875rem; color: rgba(221, 216, 206, .92); opacity: 0; transform: translateY(8px); transition: opacity .45s var(--ease), transform .45s var(--ease); text-shadow: 0 1px 8px rgba(28, 29, 27, .6); }
.heroe__leyenda li.is-activa { opacity: 1; transform: none; transition-delay: .3s; }
.heroe__leyenda b { font-family: var(--f-marca); font-weight: 700; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--c-acento-txt); margin-right: 12px; }
@media (max-width: 899px) {
  .heroe__leyenda { left: var(--g); right: auto; bottom: calc(30px + env(safe-area-inset-bottom)); width: calc(100% - 2 * var(--g) - 60px); }
  .heroe__leyenda li { left: 0; right: auto; white-space: normal; line-height: 1.35; }
  .heroe__leyenda b { display: block; margin: 0 0 2px; }
  .heroe__pausa { bottom: calc(20px + env(safe-area-inset-bottom)); }
}
.fams { border-top: 1px solid rgba(221, 216, 206, .18); background: rgba(28, 29, 27, .5); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.fams ol { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0; }
.fams li { border-left: 1px solid rgba(221, 216, 206, .18); }
.fams li:first-child { border-left: 0; }
.fams a { display: block; padding: 18px 18px 20px; text-decoration: none; color: var(--blanco); height: 100%; position: relative; transition: background-color .3s; }
.fams a::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--brand-green); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease); }
.fams li:first-child a { padding-left: 0; }
@media (hover: hover) and (pointer: fine) { .fams a:hover { background: rgba(221, 216, 206, .05); } .fams a:hover::before { transform: scaleX(1); } }
.fams b { display: block; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: .95rem; color: var(--c-acento-txt); letter-spacing: .04em; }
.fams span { display: block; font-family: var(--f-marca); font-weight: 600; font-size: .875rem; line-height: 1.3; margin-top: 2px; }
@media (max-width: 899px) { .fams { display: none; } }
.heroe--pag { min-height: min(78vh, 760px); min-height: min(78svh, 760px); }
.heroe--pag h1 { font-size: var(--t-display); max-width: 18ch; }
@media (max-width: 899px) { .heroe.heroe--h1-largo h1 { font-size: min(var(--t-display), 7.4vw); } }
.heroe--pag .heroe__cuerpo { padding-bottom: clamp(36px, 5vw, 72px); }
.heroe--obra h1 { font-size: clamp(1.875rem, 1rem + 2.8vw, 3.75rem); max-width: 24ch; line-height: 1.08; }
.heroe--con-cifras { min-height: min(92vh, 900px); min-height: min(92svh, 900px); }
.heroe__cifras { border-top: 1px solid rgba(221, 216, 206, .2); background: rgba(28, 29, 27, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); padding-block: 22px 26px; }
.heroe__cifras .cont { display: flex; flex-wrap: wrap; gap: 20px 56px; align-items: flex-end; }
.heroe__cifras .cifra__num { font-size: clamp(2.5rem, 1.6rem + 3.4vw, 6rem); }
.heroe__cifras .cifra__et { font-size: var(--t-s); margin-top: 8px; }
.heroe--tipo { min-height: auto; background: var(--negro-mate); }
.heroe--tipo .heroe__cuerpo { padding-top: calc(var(--cab-alto) + env(safe-area-inset-top) + clamp(56px, 9vw, 140px)); padding-bottom: clamp(48px, 7vw, 104px); }
.curvas-fondo { position: absolute; inset: 0; z-index: -1; }
.curvas-fondo img, .curvas-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.heroe--ficha .curvas-fondo { opacity: .45; }
.heroe__tel { margin-top: clamp(28px, 4vw, 44px); display: grid; gap: 4px; }
.heroe__tel a { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.5rem); line-height: 1; color: var(--blanco); text-decoration: none; letter-spacing: -.005em; justify-self: start; min-height: var(--toque); }
.heroe__tel span { font-size: var(--t-s); color: rgba(221, 216, 206, .74); }
.heroe--ficha .heroe__cuerpo { padding-bottom: clamp(40px, 6vw, 88px); }
.ficha-g { display: grid; gap: 32px; align-items: end; }
.ficha-lam { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; margin-top: 8px; }
.ficha-lam img { display: block; height: 170px; width: auto; max-width: 100%; }
.ficha-lam__a { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 3.5rem; line-height: .9; letter-spacing: -.02em; color: transparent; -webkit-text-stroke: 1px rgba(221, 216, 206, .3); }
@media (min-width: 900px) { .ficha-lam { margin-top: 0; } .ficha-lam img { height: 260px; } .ficha-lam__a { font-size: 5rem; } }
@media (max-width: 899px) { .heroe--ficha .ficha-lam { padding-right: 60px; } }
@media (min-width: 900px) { .ficha-g { grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; } }
.heroe--ficha h1 { font-size: clamp(1.875rem, 1rem + 2.8vw, 3.5rem); max-width: 22ch; line-height: 1.08; }
.ficha-dato { margin-top: 20px; font-family: var(--f-texto); font-weight: 500; font-size: clamp(1.0625rem, 1rem + .3vw, 1.1875rem); line-height: 1.45; color: rgba(221, 216, 206, .86); max-width: 52ch; }
.cifra { display: inline-block; position: relative; color: var(--c-titulo); max-width: 100%; }
.cifra__fig { display: inline-block; vertical-align: top; max-width: 100%; }
.cifra__linea { display: block; overflow: hidden; padding-top: .32em; margin-top: -.32em; padding-right: .06em; }
.cifra__num { display: block; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: min(var(--t-cifra), 17.5vw); line-height: .88; letter-spacing: -.015em; font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.cifra--m .cifra__num { font-size: min(var(--t-cifra-m), 15vw); line-height: .88; }
.cifra--s .cifra__num { font-size: var(--t-cifra-s); line-height: .9; }
.cifra__num .pref { font-weight: 500; font-size: .72em; vertical-align: .16em; color: var(--c-acento); margin-right: .04em; }
.cifra__num .pref--txt { font-family: var(--f-texto); font-size: .26em; font-weight: 500; letter-spacing: .02em; margin-right: .3em; vertical-align: .25em; color: inherit; opacity: .8; }
.cifra__num .mon { font-weight: 500; margin-right: .02em; }
.cifra__num small { font-size: .42em; font-weight: 500; letter-spacing: 0; margin-left: .08em; vertical-align: .9em; }
.cifra__num small.ub { font-family: var(--f-marca); font-weight: 600; font-size: max(.16em, .75rem); letter-spacing: .12em; text-transform: uppercase; vertical-align: top; margin-left: .5em; display: inline-block; line-height: 1.15; margin-top: .55em; white-space: nowrap; }
.cifra__num small.ub--2 span { display: block; }
@media (max-width: 599px) {
  .cifra__num small.ub--2 { display: block; margin: .5em 0 0 .04em; white-space: normal; letter-spacing: .1em; }
  .cifra__num small.ub--2 span { display: inline-block; margin-right: .4em; }
  .cifra__num small.ub--2 span:last-child { margin-right: 0; }
}
.cifra__sello { display: block; font-family: var(--f-titular); font-weight: var(--w-titular); font-size: clamp(1.75rem, 1.1rem + 2vw, 2.75rem); line-height: 1.08; letter-spacing: -.02em; max-width: 14ch; text-wrap: balance; }
.cifra__cota { position: relative; display: block; height: 14px; margin-top: 12px; transform-origin: left center; transition: transform 1.2s var(--ease) .1s; color: var(--c-texto-2); }
.cifra__cota::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: currentColor; opacity: .7; }
.cifra__cota::after, .cifra__cota i { content: ""; position: absolute; top: 0; width: 1.5px; height: 14px; background: var(--c-acento); transform: skewX(-40deg); }
.cifra__cota::after { left: 1px; }
.cifra__cota i { right: 1px; }
.js .cifra[data-cota] .cifra__cota { transform: scaleX(0); }
.js .cifra[data-cota].is-visto .cifra__cota { transform: none; }
.cifra__et { display: block; margin-top: 14px; font-size: var(--t-l); line-height: 1.35; max-width: 30ch; color: var(--c-texto); text-wrap: pretty; }
.cifra--m .cifra__et, .cifra--s .cifra__et { font-size: var(--t-m); }
.heroe .cifra { color: var(--blanco); }
.heroe .cifra__et { color: rgba(221, 216, 206, .86); }
.clinea { display: block; margin-top: 8px; font-size: var(--t-s); color: var(--c-texto-2); line-height: 1.4; }
.clinea b { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.375rem; color: var(--c-titulo); margin-right: 4px; letter-spacing: -.005em; }
.clinea--sello b { font-family: var(--f-marca); font-weight: 700; font-size: 1rem; }
.escala__intro { display: grid; gap: 24px; margin-bottom: clamp(40px, 6vw, 96px); }
@media (min-width: 900px) { .escala__intro { grid-template-columns: 1fr 1fr; align-items: end; } }
.escala__fila { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding-block: clamp(28px, 3.6vw, 48px); border-top: 1px solid var(--c-linea); container-type: inline-size; }
.escala__fila .cifra__num { font-size: min(var(--t-cifra), 17cqi); }
.escala__txt { max-width: 34ch; color: var(--c-texto-2); font-size: var(--t-m); line-height: 1.5; }
.escala__txt a { display: block; width: fit-content; padding-block: 10px; color: var(--c-acento-txt); font-weight: 600; text-underline-offset: 3px; }
@media (min-width: 900px) { .escala__fila { gap: 8px; } .escala__txt { justify-self: end; margin-top: -6px; } }
.escala__trio { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--c-linea); border-bottom: 1px solid var(--c-linea); }
.escala__trio > div { padding: clamp(24px, 3.6vw, 48px) 16px clamp(24px, 3.6vw, 48px) 0; }
.escala__trio > div:nth-child(2) { border-left: 1px solid var(--c-linea); padding-left: 16px; }
.escala__trio > div:nth-child(3) { grid-column: 1 / -1; border-top: 1px solid var(--c-linea); }
@media (min-width: 900px) {
  .escala__trio { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .escala__trio > div { padding-right: 32px; }
  .escala__trio > div + div { border-left: 1px solid var(--c-linea); padding-left: 32px; }
  .escala__trio > div:nth-child(3) { grid-column: auto; border-top: 0; }
}
.escala__trio .cifra__num { font-size: min(var(--t-cifra-m), 13vw); }
.escala__nota { margin-top: 14px; }
.escala__trio--emp { border-bottom: 0; }
.escala__trio--emp .cifra__num { font-size: clamp(2.25rem, 1.7rem + 2vw, 3.5rem); }
.bandas { padding-bottom: 0; }
.bandas__cab { display: grid; gap: 24px; margin-bottom: clamp(32px, 5vw, 72px); }
.banda { position: relative; display: grid; background: var(--negro-2); overflow: hidden; }
.banda__foto { position: relative; aspect-ratio: 16 / 10; overflow: hidden; }
.banda__foto img { width: 100%; height: 100%; object-fit: cover; }
.banda__bloque { position: relative; padding: 24px 22px 26px; display: grid; align-content: end; gap: 12px; background: var(--antracita); border-top: 3px solid var(--brand-green); }
.banda__n { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.125rem; letter-spacing: .06em; color: var(--c-acento-txt); }
.banda__t { font-family: var(--f-titular); font-weight: var(--w-titular); font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem); line-height: 1.08; letter-spacing: -.02em; }
.banda__t a { color: var(--blanco); text-decoration: none; }
.banda__t a::after { content: " →"; font-family: var(--f-texto); font-weight: 400; color: var(--brand-green); }
.banda .cifra { margin-top: 6px; color: var(--blanco); }
.banda .cifra__num { font-size: clamp(2.5rem, 1.6rem + 3.2vw, 5.5rem); }
.banda .cifra__et { font-size: var(--t-s); margin-top: 8px; max-width: 28ch; color: var(--c-texto); }
.banda .cifra__sello { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.25rem); }
.banda__rubros { display: flex; flex-wrap: wrap; gap: 0 18px; margin-top: 8px; border-top: 1px solid rgba(221, 216, 206, .16); padding-top: 8px; }
.banda__rubros a { display: inline-flex; align-items: center; min-height: var(--toque); color: var(--c-texto); text-decoration: none; font-size: var(--t-s); line-height: 1.3; border-bottom: 1px solid transparent; }
@media (hover: hover) and (pointer: fine) { .banda__rubros a:hover { color: var(--blanco); border-color: var(--brand-green); } }
.bandas__ind { display: none; }
@media (max-width: 899px) {
  .bandas__pila { display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; scroll-padding-inline: var(--g); padding: 0 var(--g) 4px; scrollbar-width: none; }
  .bandas__pila::-webkit-scrollbar { display: none; }
  .banda { flex: 0 0 min(86vw, 420px); scroll-snap-align: start; scroll-snap-stop: always; aspect-ratio: 4 / 5; max-height: calc(100svh - var(--cab-alto) - 120px); grid-template-rows: 1fr; }
  .banda__foto { position: absolute; inset: 0; aspect-ratio: auto; }
  .banda__foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28, 29, 27, 0) 30%, rgba(28, 29, 27, .62) 58%, rgba(28, 29, 27, .94) 100%); }
  .banda__bloque { align-self: end; align-content: end; background: none; border-top: 0; padding: 22px 20px 22px; gap: 8px; }
  .banda__bloque::before { content: ""; width: 28px; height: 2px; background: var(--brand-green); }
  .banda__rubros { display: none; }
  .banda .cifra { margin-top: 2px; }
  .banda .cifra__num { font-size: clamp(2.25rem, 1.6rem + 3vw, 3.5rem); }
  .bandas__ind { display: flex; justify-content: center; gap: 4px; padding: 6px var(--g) 0; }
  .bandas__ind button { width: var(--toque); height: var(--toque); padding: 0; background: none; border: 0; cursor: pointer; display: grid; place-items: center; }
  .bandas__ind button::before { content: ""; width: 22px; height: 3px; background: rgba(221, 216, 206, .25); transition: background-color .3s, width .3s; }
  .bandas__ind button[aria-current="true"]::before { background: var(--brand-green); width: 32px; }
  .bandas { padding-bottom: var(--sec); }
}
@media (max-width: 899px) and (orientation: landscape) {
  .banda { aspect-ratio: auto; height: calc(100svh - var(--cab-alto) - 64px); min-height: 240px; max-height: none; flex-basis: min(72vw, 560px); }
  .banda__bloque { padding: 16px 20px; gap: 6px; }
  .banda__t { font-size: 1.375rem; }
  .banda .cifra__num { font-size: 2.25rem; }
  .banda .cifra__et { margin-top: 4px; }
}
@media (min-width: 900px) {
  .bandas__pila { position: relative; }
  .banda { position: sticky; top: 0; height: min(78vh, 640px); height: min(78svh, 640px); grid-template-columns: minmax(0, 1fr) clamp(340px, 34%, 460px); box-shadow: 0 -24px 48px -24px rgba(28, 29, 27, .7); }
  .banda__foto { aspect-ratio: auto; height: 100%; }
  .banda__bloque { padding: 40px clamp(28px, 3vw, 48px) 44px; border-top: 0; border-left: 3px solid var(--brand-green); }
}
@media (min-width: 1280px) { .banda__foto::after { content: ""; position: absolute; inset: 0 auto 0 0; width: calc(var(--rail) + 120px); background: linear-gradient(90deg, rgba(28, 29, 27, .62), rgba(28, 29, 27, 0)); pointer-events: none; } }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) and (min-width: 900px) {
    .banda__foto img { animation: banda-foto linear both; animation-timeline: view(); animation-range: entry 0% exit 100%; }
    .banda__bloque { animation: banda-bloque linear both; animation-timeline: view(); animation-range: entry 10% entry 80%; }
  }
}
@keyframes banda-foto { from { transform: translateY(-7%) scale(1.14); } to { transform: translateY(7%) scale(1.14); } }
@keyframes banda-bloque { from { clip-path: inset(0 0 0 100%); } to { clip-path: inset(0 0 0 0); } }
@supports (animation-timeline: view()) and (timeline-scope: --a) {
  @media (prefers-reduced-motion: no-preference) and (min-width: 900px) {
    .bandas__pila { timeline-scope: --b2, --b3, --b4, --b5; }
    .banda:nth-child(2) { view-timeline: --b2 block; }
    .banda:nth-child(3) { view-timeline: --b3 block; }
    .banda:nth-child(4) { view-timeline: --b4 block; }
    .banda:nth-child(5) { view-timeline: --b5 block; }
    .banda:nth-child(-n+4) .banda__bloque > * { animation: banda-sale linear both; animation-range: entry 45% entry 90%; }
    .banda:nth-child(1) .banda__bloque > * { animation-timeline: --b2; }
    .banda:nth-child(2) .banda__bloque > * { animation-timeline: --b3; }
    .banda:nth-child(3) .banda__bloque > * { animation-timeline: --b4; }
    .banda:nth-child(4) .banda__bloque > * { animation-timeline: --b5; }
  }
}
@keyframes banda-sale { from { opacity: 1; } to { opacity: 0; } }
.mapa { position: relative; }
.mapa__cab { display: grid; gap: 24px; margin-bottom: clamp(32px, 4vw, 56px); }
@media (min-width: 900px) { .mapa__cab { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } }
.mapa__pais { display: none; overflow: visible; }
.mapa__pais path.reg { fill: var(--c, #D9D2C5); stroke: var(--c-fondo); stroke-width: .9; vector-effect: non-scaling-stroke; transition: fill .25s, opacity .25s; cursor: pointer; }
.mapa__pais path.reg[data-n="0"] { cursor: default; }
.mapa__pais path.reg.is-foco { fill: #3F7F62; }
.mapa__pais path.reg.is-hover { fill: var(--c-acento-txt); }
@media (hover: hover) and (pointer: fine) { .mapa__pais path.reg:not([data-n="0"]):hover { fill: var(--c-acento-txt); } }
.mapa__pais path.reg.is-sel { fill: var(--brand-green); }
.mapa.tiene-sel .mapa__pais path.reg:not(.is-sel):not(:hover):not(.is-hover) { opacity: .8; }
.mapa__sucursal { pointer-events: none; }
.mapa__sucursal circle { fill: none; stroke: var(--c-titulo); stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.mapa__sucursal circle + circle { fill: var(--c-titulo); stroke: none; }
.mapa__tip { position: absolute; z-index: 3; left: 0; top: 0; pointer-events: none; padding: 8px 12px; background: var(--grafito); color: var(--crema); font-size: .875rem; line-height: 1.3; white-space: nowrap; transform: translate(-50%, calc(-100% - 12px)); opacity: 0; transition: opacity .15s; }
.mapa__tip.is-visible { opacity: 1; }
.mapa__tip b { font-family: var(--f-marca); font-weight: 700; }
.mapa__pie { display: none; }
.mapa__leyenda { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .8125rem; color: var(--c-texto-2); }
.mapa__leyenda span { display: inline-flex; align-items: center; gap: 8px; }
.mapa__leyenda i { width: 14px; height: 14px; display: inline-block; border: 1px solid var(--c-linea); }
.mapa__leyenda i.of { width: 12px; height: 12px; border-radius: 50%; border: 1.5px solid var(--c-titulo); background: radial-gradient(var(--c-titulo) 0 2px, transparent 2.5px); }
.mapa__v { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: start; }
@media (min-width: 600px) { .mapa__v { grid-template-columns: 96px minmax(0, 1fr); gap: 28px; } }
.mapa__v-fig { position: sticky; top: calc(var(--cab-alto) + env(safe-area-inset-top) + 12px); }
.mapa__v-fig img { width: 100%; height: auto; max-height: calc(100svh - var(--cab-alto) - 40px); object-fit: contain; object-position: top; }
.mapa__v-lista { display: grid; }
.mapa__v-reg { border-top: 1px solid var(--c-linea); }
.mapa__v-reg:last-child { border-bottom: 1px solid var(--c-linea); }
.mapa__v-reg > summary { list-style: none; display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 56px; padding: 6px 0; cursor: pointer; color: var(--c-titulo); }
.mapa__v-reg > summary::-webkit-details-marker { display: none; }
.mapa__v-reg > summary:active { background: rgba(42, 43, 40, .05); }
.mapa__v-reg .r { font-family: var(--f-numero); font-weight: var(--w-numero); color: var(--c-acento-txt); font-size: 1rem; }
.mapa__v-reg .nm { font-family: var(--f-marca); font-weight: 700; font-size: 1rem; line-height: 1.2; transition: color .2s; }
.mapa__v-reg .n { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.625rem; line-height: 1; }
.mapa__v-reg[open] .nm, .mapa__v-reg.is-foco .nm, .mapa__v-reg.is-hover .nm, .mapa__v-reg.is-sel .nm { color: var(--c-acento-txt); }
.mapa__barra { display: none; }
.mapa__v-det { display: grid; padding: 0 0 14px 46px; }
.mapa__v-det a { display: flex; align-items: center; min-height: var(--toque); padding: 6px 0; color: var(--c-texto); text-decoration: none; font-size: 1rem; line-height: 1.35; }
.mapa__v-det a time, .mapa__v-det a em, .mapa__v-det a:nth-child(6):not(.todas) { display: none; }
.mapa__v-det a.todas { color: var(--c-acento-txt); font-weight: 600; }
@media (min-width: 900px) {
  .mapa__v { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--canaleta); row-gap: 0; }
  .mapa__v { --alto-chile: clamp(560px, calc(100svh - var(--cab-alto) - 48px), 960px); }
  .mapa__v-fig { grid-column: 1 / span 3; top: calc(var(--cab-alto) + 24px); height: var(--alto-chile); display: flex; justify-content: center; align-items: center; }
  .mapa__v-fig img { display: none; }
  .mapa__v-fig .mapa__pais { display: block; height: var(--alto-chile); width: auto; max-width: 100%; flex: none; }
  .mapa__v-lista { grid-column: 5 / -1; }
  .mapa__v-reg > summary { grid-template-columns: 48px minmax(9rem, 14rem) minmax(0, 1fr) 64px; gap: 20px; min-height: 58px; padding: 4px 0; }
  .mapa__v-reg .nm { font-size: 1.0625rem; }
  .mapa__v-reg .n { font-size: 1.75rem; text-align: right; }
  @media (hover: hover) and (pointer: fine) { .mapa__v-reg > summary:hover .nm { color: var(--c-acento-txt); } .mapa__v-reg > summary:hover .mapa__barra i { background: var(--c-titulo); } }
  .mapa__barra { display: block; position: relative; height: 14px; }
  .mapa__barra::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--c-linea); }
  .mapa__barra i { position: absolute; left: 0; top: calc(50% - 1px); height: 2px; width: max(6px, calc(var(--p) * 100%)); background: var(--brand-green); transform-origin: left center; transition: background-color .2s; }
  .mapa__barra i::after { content: ""; position: absolute; right: 0; top: -6px; width: 1.5px; height: 14px; background: var(--brand-green); transform: skewX(-40deg); }
  .js .mapa__v-lista .mapa__barra i { transform: scaleX(0); transition: transform 1s var(--ease) calc(var(--i, 0) * 45ms), background-color .2s; }
  .js .mapa__v-lista.is-visto .mapa__barra i { transform: none; }
  .mapa__v-reg.is-sel .mapa__barra i, .mapa__v-reg[open] .mapa__barra i { background: var(--c-titulo); }
  .mapa__v-det { padding: 4px 0 20px 68px; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .mapa__v-det a { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 14px; align-items: baseline; border-top: 1px solid var(--c-linea); padding: 10px 0; }
  .mapa__v-det a time { display: block; }
  .mapa__v-det a:nth-child(6):not(.todas) { display: grid; }
  .mapa__v-det a time { font-family: var(--f-numero); font-weight: var(--w-numero); color: var(--c-acento-txt); }
  .mapa__v-det a em { display: block; font-style: normal; font-family: var(--f-numero); font-weight: var(--w-numero); color: var(--c-titulo); white-space: nowrap; }
  .mapa__v-det a.todas { display: flex; grid-column: 1 / -1; border-top: 0; }
  @media (hover: hover) and (pointer: fine) { .mapa__v-det a:hover { color: var(--c-titulo); } .mapa__v-det a:hover span { text-decoration: underline; text-underline-offset: 3px; } }
  .mapa__pie { display: grid; gap: 12px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--c-linea); grid-template-columns: auto minmax(0, 1fr); align-items: start; }
  .mapa__pie .nota { max-width: 72ch; justify-self: end; text-align: right; }
}
.minimapa { width: 64px; flex: none; }
.minimapa img { width: 100%; }
.emb { display: grid; gap: clamp(40px, 4vw, 56px) 32px; }
@media (min-width: 700px) { .emb { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .emb { grid-template-columns: repeat(12, minmax(0, 1fr)); } }
.emb__card { position: relative; text-decoration: none; color: inherit; display: block; }
@media (min-width: 700px) { .emb__card--grande { grid-column: 1 / -1; } }
@media (min-width: 1000px) {
  .emb__card { grid-column: span 4; }
  .emb__card--grande { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 32px; align-items: end; }
  .emb__card--grande .emb__img { grid-column: 1 / span 8; aspect-ratio: 16 / 10; }
  .emb__card--grande .emb__txt { grid-column: 9 / -1; }
}
.emb__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-superficie); }
.emb__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
@media (hover: hover) and (pointer: fine) { .emb__card:hover .emb__img img { transform: scale(1.04); } .emb__card:hover .emb__t { color: var(--c-acento-txt); } }
.emb__img--verde { background: var(--c-bloque); color: var(--c-bloque-txt); display: flex; align-items: flex-end; padding: 22px 24px; border-top: 3px solid var(--brand-green); }
.emb__img--verde .curvas-img { position: absolute; inset: 0; opacity: .8; }
.emb__img--verde .minimapa-t { position: absolute; right: 18px; top: 16px; bottom: 16px; height: calc(100% - 32px); width: auto; opacity: .95; }
.emb__img--verde .cifra { position: relative; color: var(--c-bloque-txt); max-width: calc(100% - 64px); }
.cifra--bloque .cifra__num { font-size: clamp(3rem, 2rem + 2.6vw, 4.75rem); }
.cifra--bloque .cifra__et { color: var(--c-texto); font-size: var(--t-s); margin-top: 8px; max-width: 24ch; }
.cifra--bloque .cifra__sello { font-size: clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem); }
.emb__card--grande .cifra--bloque .cifra__num { font-size: clamp(3.5rem, 2rem + 5vw, 7.5rem); }
.emb__txt { padding-top: 18px; }
.emb__mag { margin: 2px 0 8px; display: grid; gap: 14px; }
.emb__card .cifra--card .cifra__num { font-size: clamp(2.75rem, 2rem + 3vw, 5rem); }
.emb__card--grande .cifra--card .cifra__num { font-size: clamp(3.5rem, 2rem + 5.4vw, 8.5rem); }
.emb__card .cifra--card .cifra__et { margin-top: 6px; font-size: var(--t-s); color: var(--c-texto-2); }
.emb__sec { display: flex; flex-wrap: wrap; gap: 8px 32px; }
.emb__sec .cifra__num { font-size: clamp(2rem, 1.6rem + 1.4vw, 3rem); }
.emb__sec .cifra__et { font-size: var(--t-xs); margin-top: 4px; color: var(--c-texto-2); }
.emb__card--verde .emb__sec { margin-top: 10px; }
.emb__t { display: block; font-family: var(--f-marca); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; margin-top: 10px; max-width: 38ch; color: var(--c-titulo); transition: color .25s; }
.emb__m { display: block; margin-top: 6px; font-size: var(--t-s); color: var(--c-texto-2); }
.tag { display: inline-block; font-family: var(--f-marca); font-weight: 700; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c-acento-txt); }
.olista { border-bottom: 1px solid var(--c-linea); }
.ofila { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 2px 14px; padding: 16px 0; border-top: 1px solid var(--c-linea); text-decoration: none; color: inherit; position: relative; align-items: baseline; }
.ofila__anio { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.25rem; line-height: 1.3; color: var(--c-acento-txt); grid-row: span 3; }
.ofila__t { display: grid; gap: 2px; min-width: 0; }
.ofila__tt { font-family: var(--f-marca); font-weight: 600; font-size: 1rem; line-height: 1.35; color: var(--c-titulo); }
.ofila__m { font-size: var(--t-s); color: var(--c-texto-2); line-height: 1.4; }
.ofila__mag { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.0625rem; color: var(--c-titulo); }
.ofila__r, .ofila__l { font-size: var(--t-s); color: var(--c-texto-2); line-height: 1.4; grid-column: 2; }
.ofila__mini { display: none; }
.ofila__ml { display: none; font-size: var(--t-s); color: var(--c-texto-2); line-height: 1.4; }
@media (max-width: 599px) {
  .ofila { padding: 14px 0; }
  .ofila__anio { grid-row: span 2; font-size: 1.125rem; }
  .ofila__m, .ofila__r, .ofila__l { display: none; }
  .ofila__ml { display: block; }
}
@media (min-width: 900px) {
  .ofila { grid-template-columns: 64px minmax(0, 1.7fr) minmax(0, 1fr) minmax(0, .9fr) 84px; gap: 24px; align-items: center; padding: 14px 0; min-height: 92px; }
  .ofila__anio { grid-row: auto; }
  .ofila__r, .ofila__l { grid-column: auto; }
  .ofila__mini { display: block; width: 84px; height: 63px; object-fit: cover; grid-column: 5; }
  .ofila:not(.ofila--foto)::before { content: ""; grid-column: 5; grid-row: 1; width: 84px; height: 63px; }
}
@media (hover: hover) and (pointer: fine) { .ofila:hover .ofila__tt { color: var(--c-acento-txt); } .ofila:hover::after { width: 100%; } }
.ofila::after { content: ""; position: absolute; left: 0; top: -1px; height: 2px; width: 0; background: var(--brand-green); transition: width .45s var(--ease); }
.ofila:active { background: rgba(42, 43, 40, .05); }
html:not(.js) .filtros { display: none; }
.filtros { display: grid; gap: 16px; padding: 24px 0 20px; border-top: 2px solid var(--c-linea-fuerte); margin-bottom: 8px; }
.filtros__fila1 { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 640px) { .filtros__fila1 { grid-template-columns: minmax(0, 1fr) 220px; align-items: end; } }
.filtros__mas { border: 1px solid var(--c-borde-campo); background: var(--c-superficie); }
.filtros__mas > summary { list-style: none; display: flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 16px; cursor: pointer; font-family: var(--f-marca); font-weight: 700; font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c-titulo); }
.filtros__mas > summary::-webkit-details-marker { display: none; }
.filtros__mas > summary::after { content: ""; margin-left: auto; width: 10px; height: 10px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .25s var(--ease); }
.filtros__mas[open] > summary::after { transform: rotate(225deg) translateY(-3px); }
.filtros__n { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 12px; background: var(--verde-boton); color: var(--negro-boton); font-family: var(--f-numero); font-size: .9375rem; letter-spacing: 0; }
.filtros__cuerpo { display: grid; gap: 16px; padding: 4px 16px 18px; }
.filtros__fila--sel { display: grid; gap: 14px; }
@media (min-width: 640px) { .filtros__fila--sel { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .filtros__fila--sel { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 639px) { .chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; } .chips::-webkit-scrollbar { display: none; } .chip { flex: none; } }
.chip { display: inline-flex; align-items: center; gap: 6px; min-height: var(--toque); padding: 0 14px; border: 1px solid var(--c-borde-campo); background: transparent; cursor: pointer; font-size: .9375rem; color: var(--c-titulo); text-decoration: none; transition: background-color .2s, color .2s, border-color .2s; touch-action: manipulation; }
.chip span { font-family: var(--f-numero); font-weight: var(--w-numero); color: var(--c-texto-2); }
@media (hover: hover) and (pointer: fine) { .chip:hover { border-color: var(--c-titulo); } }
.chip[aria-pressed="true"] { border-color: var(--brand-green); background: rgba(21, 143, 90, .12); box-shadow: inset 0 -2px 0 var(--brand-green); }
.blanco .chip[aria-pressed="true"] { background: var(--grafito); color: var(--crema); border-color: var(--grafito); }
.chip--fam { font-family: var(--f-marca); font-weight: 700; font-size: .875rem; }
.filtros__res { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 4px; }
.filtros__res output { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.5rem; color: var(--c-titulo); }
.limpiar { background: none; border: 0; min-height: var(--toque); padding: 0; cursor: pointer; color: var(--c-acento-txt); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.vacio { padding: 40px 0; font-size: var(--t-l); }
.mficha { width: min(560px, calc(100% - 2 * var(--g))); max-height: min(86vh, 720px); max-height: min(86dvh, 720px); padding: 0; border: 1px solid var(--c-linea-fuerte); background: var(--superficie); color: var(--c-texto); box-shadow: 0 40px 80px -20px rgba(28, 29, 27, .8); overflow: auto; overscroll-behavior: contain; }
.mficha::backdrop { background: rgba(28, 29, 27, .45); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.mficha__in { padding: 26px 24px calc(24px + env(safe-area-inset-bottom)); border-top: 3px solid var(--brand-green); }
.mficha__cab { display: flex; gap: 12px; align-items: start; }
.mficha__t { font-family: var(--f-marca); font-weight: 700; font-size: 1.25rem; line-height: 1.25; color: var(--c-titulo); }
.mficha__cerrar { margin-left: auto; flex: none; width: var(--toque); height: var(--toque); display: grid; place-items: center; background: none; border: 1px solid var(--c-linea-fuerte); color: var(--c-titulo); cursor: pointer; }
.mficha__cerrar svg { width: 16px; height: 16px; }
.mficha__img { margin-top: 18px; aspect-ratio: 16 / 9; overflow: hidden; background: var(--c-superficie); }
.mficha__img img { width: 100%; height: 100%; object-fit: cover; }
.mficha dl { margin-top: 18px; border-top: 1px solid var(--c-linea); }
.mficha dl > div { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--c-linea); }
.mficha dt { font-family: var(--f-marca); font-weight: 700; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c-texto-2); padding-top: 3px; }
.mficha dd { color: var(--c-titulo); line-height: 1.4; }
.mficha .botones { margin-top: 22px; }
.mficha__asa { display: none; }
@media (max-width: 599px) {
  .mficha { width: 100%; max-width: 100%; margin: auto 0 0; max-height: 88vh; max-height: 88dvh; border-inline: 0; border-bottom: 0; touch-action: pan-y; }
  .mficha__in { padding-top: 12px; }
  .mficha__asa { display: block; width: 40px; height: 5px; border-radius: 3px; background: var(--c-linea-fuerte); margin: 0 auto 14px; }
  .mficha__cab { touch-action: none; }
  .mficha dl > div { grid-template-columns: 1fr; gap: 2px; }
}
@media (prefers-reduced-motion: no-preference) { .mficha[open] { animation: subir .45s var(--ease) both; } }
.campo { display: grid; gap: 6px; align-content: start; min-width: 0; }
.campo label, .campo .lbl { font-family: var(--f-marca); font-weight: 700; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c-texto-2); }
.campo .opc { text-transform: none; letter-spacing: 0; font-family: var(--f-texto); font-weight: 400; font-size: .8125rem; }
.campo input, .campo select, .campo textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid var(--c-borde-campo); border-radius: 0; background: var(--c-superficie); font-size: max(16px, 1rem); line-height: 1.4; color: var(--c-titulo); appearance: none; -webkit-appearance: none; }
.campo input::placeholder, .campo textarea::placeholder { color: #8C8579; }
.archivo { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; min-height: 56px; padding: 6px 6px 6px 6px; border: 1px dashed var(--c-borde-campo); background: var(--c-superficie); }
.archivo__in { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.archivo__btn { display: inline-flex; align-items: center; min-height: var(--toque); padding: 0 16px; border: 1px solid var(--c-linea-fuerte); font-family: var(--f-marca); font-weight: 700; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--c-titulo) !important; cursor: pointer; }
.archivo__in:focus-visible + .archivo__btn { outline: 3px solid var(--c-foco); outline-offset: 2px; }
@media (hover: hover) and (pointer: fine) { .archivo__btn:hover { border-color: var(--brand-green); } }
.archivo__estado { font-size: var(--t-s); color: var(--c-texto-2); }
.mficha__t:focus { outline: none; box-shadow: none; }
.campo select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23A2A7AA' stroke-width='1.6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; background-size: 12px; padding-right: 40px; }
.campo select option { background: var(--superficie); color: var(--grafito); }
.campo select option:disabled { color: var(--gris); }
.campo textarea { min-height: 150px; resize: vertical; }
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible { outline: 2px solid var(--c-foco); outline-offset: 0; border-color: var(--c-foco); box-shadow: none; }
.campo input:focus, .campo select:focus, .campo textarea:focus { border-color: var(--c-foco); }
.campo--busca input { padding-left: 44px; background: var(--c-superficie) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='8.5' cy='8.5' r='6' fill='none' stroke='%23A2A7AA' stroke-width='1.6'/%3E%3Cpath d='M13 13l5 5' stroke='%23A2A7AA' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat 14px center / 18px; }
.campo input::-webkit-search-cancel-button { -webkit-appearance: searchfield-cancel-button; cursor: pointer; }
.campo [aria-invalid="true"] { border-color: var(--c-error); border-width: 2px; }
.campo [aria-invalid="true"]:focus, .campo [aria-invalid="true"]:focus-visible { border-color: var(--c-error); outline-color: var(--c-error); }
@media (max-width: 599px) { .campo label, .campo .lbl { font-size: .75rem; color: var(--c-texto); } }
.form { display: grid; gap: 18px; }
.form__dos { display: grid; gap: 18px; align-items: start; }
@media (min-width: 700px) { .form__dos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.form legend { padding: 0; margin-bottom: 10px; }
.radios { display: flex; flex-wrap: wrap; gap: 10px; }
.radio { position: relative; }
.radio input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.radio span { display: inline-flex; align-items: center; min-height: 48px; padding: 0 18px; border: 1px solid var(--c-borde-campo); cursor: pointer; background: transparent; font-weight: 500; color: var(--c-titulo); }
.radio input:checked + span { border-color: var(--brand-green); background: rgba(21, 143, 90, .16); box-shadow: inset 0 -2px 0 var(--brand-green); }
.radio input:focus-visible + span { outline: 3px solid var(--c-foco); outline-offset: 2px; }
.form__err { color: var(--c-error); font-size: var(--t-s); font-weight: 500; }
.form__priv { font-size: var(--t-xs); color: var(--c-texto-2); line-height: 1.5; max-width: 60ch; }
.form__priv a { color: var(--c-acento-txt); text-underline-offset: 3px; display: inline-block; padding-block: 4px; }
.form__previa { font-size: var(--t-xs); line-height: 1.5; color: var(--c-texto); padding: 10px 14px; border: 1px dashed var(--c-borde-campo); }
.form__folio { padding: 14px 16px; background: var(--c-superficie); border-left: 3px solid var(--brand-green); }
.form__folio b, .form__estado b { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.25rem; letter-spacing: .04em; color: var(--c-titulo); white-space: nowrap; }
.form__estado { padding: 16px 18px; background: var(--c-superficie); border-left: 3px solid var(--brand-green); font-size: var(--t-m); line-height: 1.5; color: var(--c-titulo); }
.form__estado.is-error { border-left-color: var(--c-error); }
.form__estado a { color: var(--c-acento-txt); overflow-wrap: anywhere; }
.form .boton { justify-self: start; }
@media (max-width: 479px) { .form .boton { justify-self: stretch; } }
.adjuntos { list-style: none; padding: 0; margin: 6px 0 0; display: grid; gap: 4px; }
.adjuntos li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 12px; background: var(--c-superficie); border-left: 2px solid var(--brand-green); font-size: var(--t-s); overflow-wrap: anywhere; color: var(--c-titulo); }
.adjuntos li span:last-child { flex: none; font-family: var(--f-numero); color: var(--c-texto-2); }
.adjuntos li.is-mal { border-left-color: var(--c-error); }
.contacto-g { display: grid; gap: clamp(40px, 5vw, 80px); }
@media (min-width: 1000px) { .contacto-g { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } .contacto-g--form { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); } }
.obra-cuerpo { display: grid; gap: clamp(40px, 5vw, 72px); }
@media (min-width: 1000px) { .obra-cuerpo { grid-template-columns: minmax(0, 1fr) 280px; } }
.obra-frase { margin-top: 24px; max-width: 52ch; }
.obra-mags { display: flex; flex-wrap: wrap; gap: 28px 56px; align-items: flex-end; }
.obra-datos { display: grid; gap: 0; border-top: 2px solid var(--c-linea-fuerte); }
@media (min-width: 600px) { .obra-datos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; } }
@media (min-width: 1100px) { .obra-datos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.obra-datos > div { padding: 16px 0 18px; border-bottom: 1px solid var(--c-linea); min-width: 0; }
.obra-datos dt { font-family: var(--f-marca); font-weight: 700; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; color: var(--c-texto-2); margin-bottom: 6px; }
.obra-datos dd { font-size: var(--t-l); line-height: 1.35; color: var(--c-titulo); overflow-wrap: anywhere; }
.obra-datos dd a { color: var(--c-acento-txt); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.obra-lado { align-self: start; min-width: 0; }
@media (min-width: 1000px) { .obra-lado { position: sticky; top: calc(var(--cab-alto) + 32px); } .obra-ubic .minimapa { width: 72px; } }
.obra-ubic { display: flex; gap: 20px; align-items: flex-start; }
.obra-ubic .minimapa { width: 44px; }
@media (min-width: 1100px) { .obra-ubic .minimapa { width: 56px; } }
.obra-ubic__l { font-family: var(--f-marca); font-weight: 700; line-height: 1.3; color: var(--c-titulo); }
.obra-cta { margin-top: 28px; padding: 22px 22px 18px; background: var(--c-bloque); color: var(--c-bloque-txt); border-top: 3px solid var(--brand-green); }
.obra-cta p { font-family: var(--f-marca); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; }
.obra-galeria { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 700px) { .obra-galeria { grid-template-columns: repeat(2, minmax(0, 1fr)); } .obra-galeria .gal-ancha { grid-column: 1 / -1; } }
.obra-galeria figure > div { aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-superficie); }
.obra-galeria .gal-ancha > div { aspect-ratio: 21 / 9; }
@media (max-width: 699px) { .obra-galeria .gal-ancha > div { aspect-ratio: 4 / 3; } }
.obra-galeria img { width: 100%; height: 100%; object-fit: cover; }
.obra-galeria--3 { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .obra-galeria--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.obra-galeria .gal-contenida { justify-self: start; width: 100%; }
.obra-galeria .gal-contenida > div { aspect-ratio: auto; }
.obra-galeria .gal-contenida img { height: auto; object-fit: contain; }
.obra-galeria figcaption { margin-top: 10px; font-family: var(--f-marca); font-weight: 600; font-size: .75rem; letter-spacing: .02em; line-height: 1.4; color: var(--c-texto-2); }
.ad-fig { max-width: 1100px; }
.ad { position: relative; overflow: hidden; aspect-ratio: 3 / 2; background: var(--c-superficie); --pos: 50%; user-select: none; -webkit-user-select: none; touch-action: pan-y; }
.ad__capa { position: absolute; inset: 0; display: block; pointer-events: none; }
.ad img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.ad__despues { clip-path: inset(0 0 0 var(--pos)); }
.ad-grupo { display: grid; gap: clamp(40px, 5vw, 64px); }
@media (min-width: 1100px) { .ad-grupo--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--canaleta); } }
.ad__linea { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 2px; margin-left: -1px; background: var(--brand-green); pointer-events: none; }
.ad__linea::after { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 18px; background: var(--brand-green); border: 2px solid var(--blanco); transform: translate(-50%, -50%) rotate(45deg); }
.ad__rot { position: absolute; top: 14px; padding: 5px 10px; background: rgba(28, 29, 27, .75); color: var(--blanco); font-family: var(--f-marca); font-weight: 700; font-size: .625rem; letter-spacing: .16em; text-transform: uppercase; pointer-events: none; }
.ad__rot--a { left: 14px; }
@media (max-width: 599px) { .ad__rot { top: 10px; padding: 5px 8px; font-size: .6875rem; line-height: 1.35; } .ad__rot--a { left: 10px; } .ad__rot--d { right: 10px; text-align: right; } .ad__f { display: block; font-weight: 500; letter-spacing: .12em; } .ad__p { display: none; } }
.ad__rot--d { right: 14px; }
.ad input[type="range"] { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; -webkit-appearance: none; appearance: none; touch-action: pan-y; }
.ad:focus-within .ad__linea { box-shadow: 0 0 0 3px var(--negro-mate), 0 0 0 6px var(--brand-green); }
.ad-pie { margin-top: 12px; display: grid; gap: 2px; font-size: var(--t-s); line-height: 1.45; color: var(--c-texto-2); }
.ad-pie b { font-family: var(--f-marca); font-weight: 700; font-size: 1rem; color: var(--c-titulo); }
.tag, .campo label, .campo .lbl, .mficha dt, .muro__rot, .pie h2, .persona__cargo, .obra-datos dt, .heroe__leyenda b, .maq__propia, .maq__ref, .ad__rot { font-weight: 600; letter-spacing: var(--ls-rotulo); }
@media (max-width: 699px) {
  .emb__img, .rub__img, .obra-galeria figure > div, .obra-galeria .gal-ancha > div, .banda__foto { aspect-ratio: 4 / 5; }
  .emb__img--verde, .rub__img--verde { aspect-ratio: 4 / 3; }
}
.obra-datos { grid-template-columns: minmax(0, 1fr) !important; column-gap: 0; border-top: 1px solid var(--c-linea-fuerte); }
.obra-datos > div { display: grid; grid-template-columns: minmax(104px, 32%) minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 15px 0 16px; }
.obra-datos dt { margin-bottom: 0; font-weight: 600; letter-spacing: var(--ls-rotulo); }
.obra-datos dd { font-size: var(--t-m); }
@media (min-width: 1024px) { .obra-datos dd { font-size: 1.125rem; } }
.metodo__txt { display: grid; gap: 28px; }
@media (min-width: 1000px) { .metodo__txt { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: end; gap: 64px; } }
.metodo__p { font-size: clamp(1.25rem, 1.1rem + .8vw, 1.875rem); line-height: 1.4; max-width: 34ch; font-weight: 400; color: var(--c-titulo); }
.pasos { display: grid; margin-top: clamp(56px, 7vw, 104px); position: relative; }
@media (min-width: 900px) {
  .pasos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pasos::before { content: ""; position: absolute; left: 0; right: 0; top: 20px; height: 1px; background: var(--c-linea-fuerte); }
}
.paso { position: relative; padding: 0 24px 0 0; }
.paso__n { display: block; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 2.5rem; line-height: 1; position: relative; background: var(--c-fondo); color: var(--brand-green); padding-right: 14px; width: max-content; }
.paso__t { display: block; margin-top: 18px; font-family: var(--f-marca); font-weight: 700; font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); line-height: 1.2; letter-spacing: -.01em; color: var(--c-titulo); }
@media (max-width: 899px) {
  .pasos { gap: 0; border-left: 1px solid var(--c-linea-fuerte); margin-left: 6px; }
  .paso { padding: 0 0 32px 28px; }
  .paso:last-child { padding-bottom: 0; }
  .paso__n { background: none; padding: 0; font-size: 2rem; }
  .paso__t { margin-top: 8px; }
  .paso::before { content: ""; position: absolute; left: -1px; top: 10px; width: 1.5px; height: 14px; background: var(--brand-green); transform: skewX(-40deg); }
}
.muro__cab { display: grid; gap: 28px; margin-bottom: clamp(40px, 5vw, 64px); }
@media (min-width: 900px) { .muro__cab { grid-template-columns: minmax(0, 1fr) auto; align-items: end; } }
.muro__rot { margin-bottom: 16px; font-family: var(--f-marca); font-weight: 700; font-size: .6875rem; letter-spacing: .16em; text-transform: uppercase; color: var(--c-texto-2); }
.carrusel { position: relative; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent var(--rail), #1C1D1B calc(var(--rail) + 6%), #1C1D1B 94%, transparent); mask-image: linear-gradient(90deg, transparent var(--rail), #1C1D1B calc(var(--rail) + 6%), #1C1D1B 94%, transparent); }
.carrusel + .carrusel { margin-top: 10px; }
.carrusel__pista { display: flex; width: max-content; margin: 0; animation: desfile var(--dur, 80s) linear infinite; }
.carrusel--inv .carrusel__pista { animation-direction: reverse; }
@media (hover: hover) and (pointer: fine) { .carrusel:hover .carrusel__pista { animation-play-state: paused; } }
.carrusel.is-pausa .carrusel__pista { animation-play-state: paused; }
@keyframes desfile { to { transform: translateX(-50%); } }
.logo-m { flex: none; display: grid; place-items: center; height: 104px; padding: 0 clamp(22px, 3vw, 40px); position: relative; }
.logo-m img, .mcel img, .partners img { height: var(--h, 46px); width: auto; max-width: 170px; object-fit: contain; transition: opacity .35s var(--ease); }
.lg { opacity: .78; filter: grayscale(1); }
.lg.pesado { opacity: .5; }
.lc { position: absolute; inset: 0; margin: auto; opacity: 0; }
@media (hover: hover) and (pointer: fine) {
  .logo-m:hover .lc, .mcel:hover .lc, .partners > div:hover .lc { opacity: 1; }
  .logo-m:hover .lg, .mcel:hover .lg, .partners > div:hover .lg { opacity: 0; }
}
.logo-esc { display: grid; justify-items: center; gap: 6px; }
.logo-esc .lc { inset: 0 0 auto 0; }
.logo-nm { font-family: var(--f-marca); font-weight: 600; font-size: .6875rem; line-height: 1.2; color: var(--c-texto-2); text-align: center; max-width: 16ch; }
.marca-t { display: grid; gap: 1px; padding-left: 10px; border-left: 3px solid var(--gris); font-family: var(--f-marca); font-weight: 700; font-size: .75rem; line-height: 1.15; letter-spacing: .06em; text-transform: uppercase; color: rgba(28, 29, 27, .78); white-space: nowrap; text-align: left; }
.marca-n { font-family: var(--f-marca); font-weight: 700; font-size: .875rem; line-height: 1.3; color: var(--c-texto-2); text-align: center; max-width: 18ch; }
.muro__ctrl { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; margin-top: 24px; }
.pausa-btn { display: inline-flex; align-items: center; gap: 8px; background: none; border: 1px solid var(--c-borde-campo); min-height: var(--toque); padding: 0 16px; cursor: pointer; font-size: .875rem; color: var(--c-titulo); }
.pausa-btn svg { width: 12px; height: 12px; }
.pestanas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.mgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--c-linea); border-left: 1px solid var(--c-linea); }
@media (min-width: 700px) { .mgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .mgrid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.mnombres { margin-top: clamp(28px, 4vw, 48px); }
.mlista { columns: 3 220px; column-gap: 32px; list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--c-linea); }
.mlista li { break-inside: avoid; padding: 11px 0; border-bottom: 1px solid var(--c-linea); font-family: var(--f-marca); font-weight: 600; font-size: .875rem; line-height: 1.35; color: var(--c-titulo); }
.mver { display: none; margin-top: 20px; }
@media (max-width: 699px) {
  .mgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mcel { padding: 10px 8px; }
  .js .muro-emp:not(.is-todos) .mcel:nth-child(n+16), .js .muro-emp:not(.is-todos) .mnombres { display: none; }
  .js .mver { display: block; }
}
@media (max-width: 399px) {
  .mgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .js .muro-emp:not(.is-todos) .mcel:nth-child(15) { display: none; }
}
.mcel { position: relative; display: grid; place-items: center; aspect-ratio: 3 / 2; padding: 14px; border-right: 1px solid var(--c-linea); border-bottom: 1px solid var(--c-linea); background: var(--c-superficie); text-align: center; min-width: 0; }
.mcel img { max-width: 82%; }
.mcel .marca-t { font-size: .6875rem; white-space: normal; }
.partners { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--c-linea); border-left: 1px solid var(--c-linea); }
@media (min-width: 700px) { .partners { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .partners { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.partners > div { display: grid; place-items: center; min-height: 110px; padding: 18px; border-right: 1px solid var(--c-linea); border-bottom: 1px solid var(--c-linea); position: relative; background: var(--c-superficie); }
.partners img { max-width: 80%; }
.partners > div img { mix-blend-mode: multiply; }
.logo-a { display: grid; place-items: center; align-self: stretch; justify-self: stretch; color: inherit; text-decoration: none; }
.logo-a::after { content: ""; position: absolute; inset: 0; }
.logo-a::before { content: "↗"; position: absolute; top: 6px; right: 9px; font-size: .8125rem; line-height: 1; color: var(--c-acento-txt); opacity: 0; transition: opacity .25s var(--ease); }
.logo-a:focus-visible { outline: none; }
.logo-a:focus-visible::after { outline: 2px solid var(--c-foco); outline-offset: -4px; }
.logo-a:focus-visible::before { opacity: 1; }
@media (hover: hover) and (pointer: fine) {
  .logo-a:hover::before { opacity: 1; }
  .logo-a:hover .marca-n, .logo-a:hover .logo-nm { color: var(--c-titulo); }
  .logo-a:hover .marca-t { color: var(--negro-mate); border-left-color: var(--brand-green); }
}
.mlista__a { display: block; color: inherit; text-decoration: none; }
.mlista__a::after { content: " ↗"; font-size: .8125em; color: var(--c-acento-txt); opacity: 0; transition: opacity .25s var(--ease); }
.mlista__a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.mlista__a:hover::after, .mlista__a:focus-visible::after { opacity: 1; }
.sec--familias { padding-top: clamp(24px, 4vw, 64px); padding-bottom: clamp(24px, 3vw, 48px); }
.srv-fam { padding-block: clamp(48px, 7vw, 112px); border-top: 1px solid var(--c-linea); scroll-margin-top: calc(var(--cab-alto) + 8px); }
.srv-fam:first-child { border-top: 0; padding-top: clamp(24px, 3vw, 48px); }
.srv-fam__cab { display: grid; gap: 20px; margin-bottom: clamp(28px, 4vw, 56px); }
@media (min-width: 1000px) { .srv-fam__cab { grid-template-columns: 96px minmax(0, 1fr) minmax(0, 340px); align-items: start; gap: 40px; } .srv-fam__cab .cifra { justify-self: end; } }
.srv-fam__n { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: clamp(3rem, 2rem + 3vw, 5rem); line-height: .85; color: var(--brand-green); }
.srv-fam__t { font-family: var(--f-titular); font-weight: var(--w-titular); font-size: clamp(1.625rem, 1.1rem + 2.4vw, 3.25rem); line-height: 1.06; letter-spacing: -.02em; color: var(--c-titulo); }
.srv-fam__d { margin-top: 12px; max-width: 52ch; color: var(--c-texto-2); }
.srv-fam__cab .cifra { max-width: 100%; }
.srv-fam__cab .cifra__num { font-size: clamp(2.5rem, 1.6rem + 2.8vw, 4.25rem); }
.srv-fam__cab .cifra__et { font-size: var(--t-s); color: var(--c-texto-2); margin-top: 8px; max-width: 30ch; }
.rub-grid { display: grid; gap: 36px 24px; }
@media (max-width: 639px) {
  .rub-grid { display: flex; gap: 14px; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; margin-inline: calc(-1 * var(--g)); padding: 0 var(--g) 6px; scroll-padding-inline: var(--g); }
  .rub-grid::-webkit-scrollbar { display: none; }
  .rub-grid > .rub { flex: 0 0 82%; scroll-snap-align: start; scroll-snap-stop: always; }
}
.rub-ind { display: none !important; }
@media (max-width: 639px) { .rub-ind { display: flex !important; padding-top: 2px; } }
@media (min-width: 640px) { .rub-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) {
  .rub-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rub-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .rub-grid--5 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .rub-grid--5 > :nth-child(-n+2) { grid-column: span 3; }
  .rub-grid--5 > :nth-child(n+3) { grid-column: span 2; }
  .rub-grid--5 > :nth-child(-n+2) .rub__img { aspect-ratio: 16 / 9; }
  .rub-grid--2 .rub__img { aspect-ratio: 16 / 9; }
}
.rub { display: block; text-decoration: none; color: inherit; }
.rub__img { aspect-ratio: 3 / 2; overflow: hidden; background: var(--c-superficie); position: relative; }
.rub__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
@media (hover: hover) and (pointer: fine) { .rub:hover .rub__img img { transform: scale(1.05); } .rub:hover .rub__t { color: var(--c-acento-txt); } }
.rub__img--verde { background: var(--c-bloque); display: flex; align-items: flex-end; padding: 22px; color: var(--c-bloque-txt); border-top: 3px solid var(--brand-green); }
.rub__img--verde .curvas-img { position: absolute; inset: 0; opacity: .8; }
.rub__img--verde .cifra { position: relative; color: var(--c-bloque-txt); }
.rub__t { margin-top: 16px; font-family: var(--f-marca); font-weight: 700; font-size: 1.1875rem; line-height: 1.25; color: var(--c-titulo); transition: color .25s; }
.rub__d { margin-top: 6px; font-size: var(--t-s); color: var(--c-texto-2); line-height: 1.5; }
.incluye { display: grid; gap: clamp(32px, 4vw, 64px); }
@media (min-width: 1000px) { .incluye { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); } }
.incluye__lista { list-style: none; padding: 0; counter-reset: inc; border-top: 2px solid var(--c-linea-fuerte); }
.incluye__lista li { counter-increment: inc; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--c-linea); font-size: var(--t-l); line-height: 1.4; color: var(--c-titulo); }
.incluye__lista li::before { content: counter(inc, decimal-leading-zero); font-family: var(--f-numero); font-weight: var(--w-numero); color: var(--brand-green); font-size: 1.125rem; padding-top: 3px; }
.vecinos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); border-top: 1px solid var(--c-linea); border-left: 1px solid var(--c-linea); }
.vecinos a { display: block; padding: 22px; background: var(--c-superficie); border-right: 1px solid var(--c-linea); border-bottom: 1px solid var(--c-linea); text-decoration: none; font-family: var(--f-marca); font-weight: 700; line-height: 1.3; min-height: 96px; color: var(--c-titulo); transition: background-color .25s; }
.vecinos a span { display: block; font-family: var(--f-numero); font-weight: var(--w-numero); color: var(--c-acento-txt); font-size: 1rem; margin-bottom: 6px; }
@media (hover: hover) and (pointer: fine) { .vecinos a:hover { background: var(--arena); } }
.historia { display: grid; gap: clamp(32px, 4vw, 64px); }
@media (min-width: 1000px) { .historia { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.historia__fotos { display: grid; grid-template-columns: 1.3fr 1fr; gap: 12px; align-items: start; }
.historia__fotos > div { overflow: hidden; }
.historia__fotos img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 3 / 4; }
.historia__fotos > div:first-child img { aspect-ratio: 4 / 5; }
.historia__fotos--una { grid-template-columns: minmax(0, 1fr); }
.historia__fotos--una > div:first-child img { aspect-ratio: 4 / 3; }
.tl { position: relative; margin-top: clamp(40px, 5vw, 72px); }
.tl__pista { display: grid; gap: 0; margin: 0; }
@media (min-width: 1000px) { .tl__pista { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.hito { position: relative; padding: 0 0 36px 28px; border-left: 1px solid var(--c-linea-fuerte); }
@media (min-width: 1000px) { .hito { padding: 44px 28px 0 0; border-left: 0; border-top: 1px solid var(--c-linea-fuerte); } }
.hito::before { content: ""; position: absolute; left: -1px; top: 6px; width: 1.5px; height: 14px; background: var(--brand-green); transform: skewX(-40deg); }
@media (min-width: 1000px) { .hito::before { left: 4px; top: -7px; } }
.hito__a { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: clamp(2.25rem, 1.8rem + 2vw, 3.5rem); line-height: .95; color: var(--c-titulo); }
.hito__t { margin-top: 12px; font-family: var(--f-marca); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; color: var(--c-titulo); }
.hito__d { margin-top: 8px; font-size: var(--t-s); color: var(--c-texto-2); line-height: 1.5; max-width: 34ch; }
.hito .enlace { margin-top: 4px; }
.mision { max-width: none; }
.mision__f { display: block; max-width: 24ch; font-family: var(--f-marca); font-weight: 600; font-size: clamp(1.75rem, 1.2rem + 2vw, 3rem); line-height: 1.15; letter-spacing: -.01em; text-wrap: balance; color: var(--c-titulo); }
.mision__r { display: block; max-width: 44ch; margin-top: 18px; font-family: var(--f-texto); font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); line-height: 1.45; color: var(--c-texto); }
.equipo { display: grid; gap: 0; border-top: 2px solid var(--c-linea-fuerte); }
@media (min-width: 900px) { .equipo { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.persona { padding: 24px 0 26px; border-bottom: 1px solid var(--c-linea); display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 18px; align-items: start; align-content: start; }
@media (min-width: 900px) { .persona { grid-template-columns: 1fr; padding: 32px 32px 36px 0; border-bottom: 0; } .persona + .persona { border-left: 1px solid var(--c-linea); padding-left: 32px; } }
.retrato { position: relative; width: 76px; height: 76px; overflow: hidden; background: var(--antracita); }
@media (min-width: 900px) { .retrato { width: 88px; height: 88px; } }
.retrato img { width: 100%; height: 100%; object-fit: cover; }
.retrato--ini { display: grid; place-items: center; font-family: var(--f-marca); font-weight: 700; font-size: 1.5rem; color: var(--blanco); letter-spacing: .04em; }
.retrato::after { content: ""; position: absolute; left: 0; top: 0; width: 34%; height: 4px; background: var(--brand-green); }
.persona__cargo { font-family: var(--f-marca); font-weight: 700; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--c-acento-txt); }
.persona__n { font-family: var(--f-marca); font-weight: 700; font-size: 1.3125rem; line-height: 1.2; margin-top: 6px; color: var(--c-titulo); }
.persona__p { font-size: var(--t-s); color: var(--c-texto-2); margin-top: 4px; line-height: 1.4; }
.persona__c { margin-top: 8px; display: grid; font-size: var(--t-s); }
.persona__c a { display: inline-flex; align-items: center; min-height: var(--toque); color: var(--c-texto); text-decoration: none; justify-self: start; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine) { .persona__c a:hover { color: var(--c-acento-txt); text-decoration: underline; text-underline-offset: 3px; } }
.persona--sin-foto { grid-template-columns: minmax(0, 1fr) !important; }
.equipo--lista { grid-template-columns: 1fr !important; }
.equipo--lista .persona { grid-template-columns: 76px minmax(0, 1fr) !important; padding: 22px 0 !important; border-left: 0 !important; border-bottom: 1px solid var(--c-linea) !important; }
.equipo--lista .persona--sin-foto { grid-template-columns: minmax(0, 1fr) !important; }
.dos { display: grid; gap: clamp(28px, 4vw, 64px); }
@media (min-width: 1000px) { .dos { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.tres { display: grid; gap: 0; border-top: 1px solid var(--c-linea); }
@media (min-width: 900px) { .tres { grid-template-columns: repeat(3, minmax(0, 1fr)); } .tres > * + * { border-left: 1px solid var(--c-linea); padding-left: 28px; } }
.tres > * { padding-block: 24px; padding-right: 28px; border-bottom: 1px solid var(--c-linea); }
.oficina__c { font-family: var(--f-titular); font-weight: var(--w-titular); font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem); line-height: 1.05; letter-spacing: -.02em; color: var(--c-titulo); overflow-wrap: normal; }
.tres > * { min-width: 0; }
.oficina__r { margin-top: 8px; color: var(--c-texto-2); }
.registro { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 20px; padding: 20px 0; border-top: 1px solid var(--c-linea); align-items: start; }
.registro--fin { border-bottom: 1px solid var(--c-linea); }
.registro__s { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.5rem; color: var(--brand-green); line-height: 1.1; }
.registro__s svg { width: 26px; height: 26px; }
.registro b { font-family: var(--f-marca); font-weight: 700; display: block; line-height: 1.3; color: var(--c-titulo); }
.registro .enlace-txt { display: inline-flex; align-items: center; min-height: var(--toque); }
.seg-cifras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--c-linea); border-bottom: 1px solid var(--c-linea); margin-top: clamp(32px, 4vw, 56px); }
.seg-cifras > div { padding: 22px 12px 24px 0; min-width: 0; }
.seg-cifras > div + div { border-left: 1px solid var(--c-linea); padding-left: 16px; }
@media (min-width: 900px) { .seg-cifras > div + div { padding-left: 32px; } }
.seg-cifras .cifra__num { font-size: clamp(3rem, 2rem + 4vw, 6.5rem); }
.seg-cifras .cifra__et { font-size: var(--t-s); margin-top: 8px; }
.seg-docs { display: grid; gap: 0; margin-top: clamp(32px, 4vw, 56px); border-top: 1px solid var(--c-linea); }
@media (min-width: 700px) { .seg-docs { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 40px; } }
@media (min-width: 700px) { .seg-docs { column-gap: 56px; } }
.seg-doc { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 16px; padding: 18px 0 20px; border-bottom: 1px solid var(--c-linea); align-items: start; }
.seg-doc svg { width: 18px; height: 18px; margin-top: 0; color: var(--c-texto-2); }
.seg-doc svg * { stroke-width: 1px; vector-effect: non-scaling-stroke; }
.seg-doc b { display: block; font-family: var(--f-marca); font-weight: 600; font-size: .6875rem; letter-spacing: .14em; text-transform: uppercase; line-height: 1.5; color: var(--c-texto-2); }
.seg-doc span { display: block; margin-top: 6px; font-size: var(--t-m); color: var(--c-titulo); line-height: 1.45; }
.seg-doc a { color: var(--c-acento-txt); }
.maq-cifras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--c-linea); margin-top: clamp(32px, 4vw, 56px); }
@media (min-width: 1000px) { .maq-cifras { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.maq-cifras > div { padding: 24px 16px 28px 0; border-bottom: 1px solid var(--c-linea); min-width: 0; }
.maq-cifras > div:nth-child(even) { border-left: 1px solid var(--c-linea); padding-left: 16px; }
@media (min-width: 1000px) { .maq-cifras > div + div { border-left: 1px solid var(--c-linea); padding-left: 24px; } }
.maq-cifras .cifra__num { font-size: clamp(3rem, 2rem + 3vw, 5.5rem); }
.maq-cifras .cifra__et { font-size: var(--t-s); margin-top: 8px; }
.maq-grid { display: grid; gap: 48px 32px; }
@media (min-width: 700px) { .maq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .maq-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.maq { display: grid; align-content: start; }
.maq__img { position: relative; aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-superficie); }
.maq__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
@media (hover: hover) and (pointer: fine) { .maq:hover .maq__img img { transform: scale(1.04); } }
.maq__ico { position: absolute; right: 12px; top: 12px; width: 40px; height: 40px; display: grid; place-items: center; color: rgba(221, 216, 206, .86); filter: drop-shadow(0 1px 6px rgba(28, 29, 27, .55)); }
.maq__ico svg { width: 30px; height: 30px; }
.maq__ico svg * { stroke-width: 1px !important; vector-effect: non-scaling-stroke; }
.maq__silueta { position: absolute; inset: 0; display: grid; place-items: center; background: var(--arena); color: rgba(42, 43, 40, .8); }
.maq__silueta svg { width: 56%; height: auto; max-height: 72%; }
.maq__silueta svg * { stroke-width: 1px !important; vector-effect: non-scaling-stroke; }
.maq__silueta::after { content: ""; position: absolute; left: 14%; right: 14%; bottom: 14%; height: 1px; background: rgba(42, 43, 40, .28); }
.maq__silueta::before { content: ""; position: absolute; left: 14%; bottom: calc(14% - 6px); width: 1.5px; height: 13px; background: var(--brand-green); transform: skewX(-40deg); box-shadow: calc(72cqw - 2px) 0 0 var(--brand-green); }
.maq__img { container-type: inline-size; }
.maq__leyenda { margin-top: 10px; font-size: .75rem; line-height: 1.4; color: var(--c-texto-2); }
.maq__cat { margin-top: 18px; }
.maq__n { font-family: var(--f-marca); font-weight: 700; font-size: 1.3125rem; line-height: 1.2; margin-top: 4px; color: var(--c-titulo); }
.maq__e { margin-top: 8px; font-family: var(--f-numero); font-weight: 500; font-size: 1.125rem; color: var(--c-titulo); line-height: 1.35; }
.maq__u { margin-top: 8px; font-size: var(--t-s); color: var(--c-texto-2); line-height: 1.5; }
.maq__q { display: flex; align-items: baseline; gap: 12px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--c-linea); }
.maq__q b { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 2.25rem; line-height: 1; color: var(--c-titulo); white-space: nowrap; }
.maq__q b small { font-family: var(--f-texto); font-size: .8125rem; font-weight: 500; color: var(--c-texto-2); margin-right: 4px; letter-spacing: 0; }
.maq__q span { font-size: .8125rem; color: var(--c-texto-2); }
.maq__cr { margin-top: 10px; font-size: .75rem; color: var(--c-texto-2); line-height: 1.4; }
.maq__cr a { color: inherit; display: inline-block; padding-block: 6px; }
.cierre { position: relative; overflow: hidden; isolation: isolate; color: var(--blanco); }
.cierre__fondo { position: absolute; inset: 0; z-index: -2; }
.cierre__fondo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; transform: scale(1.12); }
.cierre::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(28, 29, 27, .9), rgba(28, 29, 27, .64) 50%, rgba(28, 29, 27, .94)); }
.cierre__frase { font-family: var(--f-titular); font-weight: var(--w-titular); font-size: clamp(2.25rem, 1rem + 6.4vw, 7.5rem); line-height: .98; letter-spacing: -.035em; text-wrap: balance; color: var(--blanco); }
.cierre__frase .linea { display: block; }
.cierre__frase .cierre__b { font-weight: 300; }
@media (max-width: 899px) { .cierre__frase .cierre__b { font-weight: 400; } }
.cierre__fila { display: grid; gap: 28px; margin-top: clamp(40px, 5vw, 72px); padding-top: 28px; border-top: 1px solid rgba(221, 216, 206, .24); }
@media (min-width: 900px) { .cierre__fila { grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 56px; } }
.cierre .boton--linea { --b-fg: var(--blanco); --b-bd: rgba(221, 216, 206, .6); --b-barr: var(--blanco); }
@media (hover: hover) and (pointer: fine) { .cierre .boton--linea:hover { --b-fg: var(--negro-mate); } }
.cierre__datos { display: flex; flex-wrap: wrap; gap: 0 32px; font-size: var(--t-m); align-items: center; }
.cierre__datos a { display: inline-flex; align-items: center; min-height: var(--toque); color: var(--blanco); text-decoration: underline; text-decoration-color: var(--brand-green); text-underline-offset: 5px; overflow-wrap: anywhere; }
.cierre__datos span { color: rgba(221, 216, 206, .78); }
@supports (animation-timeline: view()) { @media (prefers-reduced-motion: no-preference) { .cierre__fondo img { animation: paralaje linear both; animation-timeline: view(); animation-range: cover; } } }
@keyframes paralaje { from { transform: translateY(-6%) scale(1.12); } to { transform: translateY(6%) scale(1.12); } }
.pie { background: var(--pie); color: rgba(221, 216, 206, .82); padding: clamp(56px, 6vw, 96px) 0 calc(28px + env(safe-area-inset-bottom)); font-size: var(--t-s); border-top: 1px solid var(--c-linea); overflow: hidden; }
@media (max-width: 767px) { .pie { padding-bottom: calc(176px + env(safe-area-inset-bottom)); } }
.pie .logo { color: var(--blanco); width: 190px; }
.pie__g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
.pie__g > div:first-child { grid-column: 1 / -1; }
@media (min-width: 900px) { .pie__g { grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr)); gap: 32px; } .pie__g > div:first-child { grid-column: auto; } }
.pie h2 { font-family: var(--f-marca); font-weight: 700; font-size: .6875rem; letter-spacing: .2em; text-transform: uppercase; color: var(--blanco); margin-bottom: 8px; }
.pie ul { list-style: none; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.pie li a { display: inline-flex; align-items: center; min-height: var(--toque); padding-block: 6px; line-height: 1.35; }
.pie a[href^="mailto"] { overflow-wrap: normal; word-break: keep-all; white-space: nowrap; }
@media (max-width: 479px) { .pie__g > div:last-child { grid-column: 1 / -1; } }
.pie a { color: rgba(221, 216, 206, .84); text-decoration: none; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine) { .pie a:hover { color: var(--blanco); text-decoration: underline; text-decoration-color: var(--brand-green); text-underline-offset: 3px; } }
.pie__ofis { padding-block: 8px; line-height: 1.4; color: var(--c-texto-2); }
.redes { display: flex; flex-wrap: wrap; align-items: center; gap: 2px; margin-left: -11px; }
.red { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: var(--toque); min-height: var(--toque); color: var(--c-texto); text-decoration: none; transition: color .2s; }
.red svg { width: 22px; height: 22px; flex: none; }
.red:focus-visible { color: var(--brand-green); }
@media (hover: hover) and (pointer: fine) { .red:hover { color: var(--brand-green); } .red:hover .red__n { color: var(--c-titulo); } }
.pie li.pie__redes { padding-block: 2px; }
.mm__redes { margin-left: -11px; }
.redes--contacto { margin: 2px 0 0; gap: 4px 24px; }
.redes--contacto .red { justify-content: flex-start; min-width: 0; }
.redes--contacto .red { padding-right: 6px; }
.red__n { font-size: var(--t-s); color: var(--c-texto); }
.registro--redes .registro__s { min-height: 1px; }
.pie__lema { margin-top: 20px; max-width: 30ch; line-height: 1.5; color: var(--blanco); }
.pie__legal { margin-top: 14px; max-width: 46ch; font-size: var(--t-xs); line-height: 1.55; color: var(--c-texto-2); }
.pie .cont { container-type: inline-size; }
.pie__marca { margin-top: clamp(40px, 6vw, 88px); font-family: var(--f-marca); font-weight: 700; font-size: 14.2cqi; line-height: .8; letter-spacing: -.03em; color: rgba(221, 216, 206, .045); white-space: nowrap; user-select: none; overflow: hidden; }
@media (min-width: 1280px) { .pie__marca { font-size: min(14.2cqi, 200px); } }
.denuncia { display: grid; gap: 16px 40px; padding: clamp(20px, 2.4vw, 28px) clamp(20px, 2.6vw, 32px); border: 1px solid color-mix(in srgb, var(--brand-green) 70%, transparent); align-items: center; }
@media (min-width: 760px) { .denuncia { grid-template-columns: minmax(0, 1fr) auto; } }
.denuncia__t { margin: 0; font-family: var(--f-marca); font-weight: 700; font-size: 1.0625rem; letter-spacing: 0; text-transform: none; line-height: 1.3; color: var(--c-titulo); }
.denuncia__p { margin-top: 6px; max-width: 62ch; font-size: var(--t-s); line-height: 1.5; color: var(--c-texto-2); }
.denuncia .denuncia__b { --b-bd: var(--brand-green); justify-self: start; }
.pie .denuncia__t { font-size: 1.0625rem; letter-spacing: 0; text-transform: none; margin-bottom: 0; color: var(--blanco); }
.pie .denuncia a.denuncia__b { color: var(--b-fg); min-height: var(--toque); }
.pie__denuncia { margin-top: clamp(36px, 4.5vw, 56px); }
.pie__base { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 32px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--c-linea); font-size: var(--t-xs); color: var(--c-texto-2); align-items: center; }
.pie__leg { display: flex; flex-wrap: wrap; gap: 0 22px; }
.pie__base a { display: inline-flex; align-items: center; min-height: var(--toque); color: rgba(221, 216, 206, .8); }
@media (min-width: 768px) { .pie__base { padding-right: 84px; } }
.flota { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 95;
  display: flex; flex-direction: column; align-items: flex-end; gap: 10px; transition: opacity .25s var(--ease); }
.flota__red { position: relative; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; margin-right: 4px;
  color: var(--blanco); background: rgba(44, 45, 42, .72); border: 1px solid rgba(221, 216, 206, .22);
  -webkit-backdrop-filter: blur(10px) saturate(1.2); backdrop-filter: blur(10px) saturate(1.2);
  box-shadow: 0 8px 20px -10px rgba(28, 29, 27, .7); transition: color .2s, border-color .2s, background-color .2s; touch-action: manipulation; }
.flota__red::before { content: ""; position: absolute; inset: -3px; border-radius: 50%; }
.flota__red svg { width: 20px; height: 20px; }
.flota__red:focus-visible { color: var(--brand-green); border-color: var(--brand-green); }
@media (hover: hover) and (pointer: fine) { .flota__red:hover { color: var(--brand-green); border-color: var(--brand-green); } }
.wa {
  position: relative; display: inline-flex; align-items: center; gap: 0; height: 48px; min-width: 48px; padding: 0 12px; border-radius: 24px;
  background: var(--verde-boton); color: var(--negro-boton); text-decoration: none; border: 2px solid var(--superficie);
  box-shadow: 0 12px 28px -8px rgba(28, 29, 27, .7);
  transition: background-color .25s, gap .35s var(--ease), padding .35s var(--ease);
  touch-action: manipulation;
}
.wa svg { width: 24px; height: 24px; flex: none; }
.wa span { max-width: 0; overflow: hidden; white-space: nowrap; font-family: var(--f-marca); font-weight: 700; font-size: .78rem; letter-spacing: .06em; transition: max-width .45s var(--ease); }
@media (hover: hover) and (pointer: fine) { .wa:hover { gap: 10px; padding-right: 18px; } .wa:hover span { max-width: 260px; } }
.wa:focus-visible { gap: 10px; padding-right: 18px; }
.wa:focus-visible span { max-width: 260px; }
body:has(.form :focus, .filtros :focus, .busca404 :focus) .flota { opacity: .15; pointer-events: none; }
@media (max-width: 899px) { .mapa__v-reg > summary { padding-right: 56px; } }
@media (max-width: 599px) { .ofila { padding-right: 48px; } .obra-datos > div { padding-right: 48px; } .mficha .botones { padding-right: 0; } }
@media (max-width: 767px) { .pie__base { padding-right: 64px; } }
.cinta-previa { position: fixed; left: max(10px, env(safe-area-inset-left)); bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 96; padding: 5px 12px; background: rgba(28, 29, 27, .9); color: var(--blanco); border: 1px solid rgba(221, 216, 206, .35); font-family: var(--f-marca); font-weight: 700; font-size: .625rem; letter-spacing: .18em; text-transform: uppercase; pointer-events: none; }
@media (max-width: 899px) { .cinta-previa { top: calc(var(--cab-alto) + env(safe-area-inset-top) + 2px); bottom: auto; left: 50%; transform: translateX(-50%); padding: 2px 8px; font-size: .5625rem; } }
.e404 .cifra__num { font-size: clamp(6rem, 4rem + 18vw, 18rem); }
.busca404 { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; max-width: 560px; }
.busca404 input { flex: 1 1 240px; min-height: 52px; padding: 12px 14px; border: 1px solid rgba(221, 216, 206, .6); background: rgba(28, 29, 27, .6); color: var(--blanco); font-size: max(16px, 1rem); border-radius: 0; -webkit-appearance: none; appearance: none; }
.busca404 input::placeholder { color: rgba(221, 216, 206, .7); }
.creditos { list-style: none; padding: 0; }
.creditos li { padding: 16px 0; border-top: 1px solid var(--c-linea); line-height: 1.5; overflow-wrap: anywhere; }
.creditos a { color: var(--c-acento-txt); text-underline-offset: 3px; overflow-wrap: anywhere; }
.mt-s { margin-top: 16px; } .mt-m { margin-top: 28px; } .mt-l { margin-top: clamp(36px, 5vw, 72px); } .mt-xl { margin-top: clamp(56px, 7vw, 112px); }
.fila-fin { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px 24px; }
@media (prefers-reduced-motion: no-preference) {
  .js .heroe--inicio .heroe__medio { animation: acercar 2.6s var(--ease) both; }
  .js .heroe--inicio .h1-a, .js .heroe--inicio .h1-b, .js .heroe--inicio .heroe__bajada, .js .heroe--inicio .botones, .js .heroe--inicio .fams { animation: subir 1.1s var(--ease) both; }
  .js .heroe--inicio .h1-a { animation-delay: .15s; }
  .js .heroe--inicio .h1-b { animation-delay: .3s; }
  .js .heroe--inicio .heroe__bajada { animation-delay: .45s; }
  .js .heroe--inicio .botones { animation-delay: .58s; }
  .js .heroe--inicio .fams { animation-delay: .75s; }
  .lin { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
  .lin__in { display: block; transform: translateY(100%); transition: transform 1s var(--ease); transition-delay: calc(var(--l, 0) * 90ms); }
  .is-lineas-visto .lin__in { transform: none; }
  @media (max-width: 899px) {
    .lin__in { transition-duration: .7s; transition-delay: calc(var(--l, 0) * 60ms); }
    .js .cifra .cifra__linea .cifra__num { transition-duration: .7s; transition-delay: 0s; }
    .js .revela > *, .js .revela img { transition-duration: .8s; }
  }
  .js .cifra .cifra__linea .cifra__num { transform: translateY(100%); transition: transform 1s var(--ease) .12s; }
  .js .cifra.is-visto .cifra__linea .cifra__num { transform: none; }
  .js .revela > * { clip-path: inset(100% 0 0 0); transition: clip-path 1.1s var(--ease-circ); }
  .js .revela img { transform: scale(1.08); transition: transform 1.1s var(--ease-circ), clip-path 1.1s var(--ease-circ); }
  .js .revela.is-visto > * { clip-path: inset(0 0 0 0); }
  .js .revela.is-visto img { transform: none; }
}
@keyframes acercar { from { transform: scale(1.08); } to { transform: none; } }
@keyframes subir { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .carrusel__pista { animation: none !important; flex-wrap: wrap; width: auto; justify-content: center; }
  .carrusel__pista [aria-hidden="true"] { display: none; }
  .carrusel { -webkit-mask-image: none; mask-image: none; padding-left: var(--rail); }
  .heroe__medio video { display: none; }
}
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
@media print {
  .cab, .rail, .flota, .mm, .fams, .heroe__pausa, .carrusel, .cinta-previa, .cortina, .mapa__h { display: none !important; }
  .heroe { min-height: auto; }
}
.clinea--vacia, .emb__mag--vacia, .maq__q--vacia { display: block; margin: 0; padding: 0; border: 0; }
@supports (grid-template-rows: subgrid) {
  @media (min-width: 900px) {
    .equipo:not(.equipo--lista) .persona { grid-row: span 6; grid-template-rows: subgrid; row-gap: 0; }
    .equipo:not(.equipo--lista) .persona > div:not(.retrato), .equipo:not(.equipo--lista) .persona__c { display: contents; }
    .equipo:not(.equipo--lista) .persona__cargo { margin-top: 18px; }
    .equipo:not(.equipo--lista) .persona__c a:first-child { margin-top: 8px; }
  }
  @media (min-width: 640px) {
    .rub-grid { row-gap: 0; }
    .rub-grid > .rub { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
    .rub-grid > .rub > .rub__d { margin-bottom: 36px; }
  }
  @media (min-width: 700px) {
    .emb { row-gap: 0; }
    .emb > .emb__card:not(.emb__card--grande) { display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
    .emb > .emb__card:not(.emb__card--grande) > .emb__txt { display: contents; }
    .emb > .emb__card:not(.emb__card--grande) .tag { margin-top: 18px; }
    .emb > .emb__card:not(.emb__card--grande) .emb__m { margin-bottom: clamp(40px, 4vw, 56px); }
    .emb > .emb__card--grande { margin-bottom: clamp(40px, 4vw, 56px); }
    .maq-grid { row-gap: 0; }
    .maq-grid > .maq { display: grid; grid-row: span 7; grid-template-rows: subgrid; row-gap: 0; align-content: start; }
    .maq-grid > .maq > :last-child { margin-bottom: 48px; }
  }
}
@supports not (grid-template-rows: subgrid) { @media (min-width: 900px) { .equipo .persona__p { min-height: 2lh; } } }
.mm__link:active, .mm__acc:active, .mm__sub a:active, .mm__fam-t:active, .chip:active, .filtros__mas > summary:active, .pie a:active, .mficha__cerrar:active, .vecinos a:active, .mapa__v-det a:active { background-color: rgba(42, 43, 40, .06); }
.rub:active .rub__img img, .emb__card:active .emb__img img, .banda:active .banda__foto img { opacity: .86; transition: opacity .1s; }
.tit, .emb__t, .rub__t, .persona__n, .maq__n, .srv-fam__t, .hito__t, .ofila__tt, .banda__t, .mficha__t, .ad-pie b { text-wrap: balance; }
html[data-estilo="editorial"] body { line-height: 1.7; letter-spacing: .005em; }
html[data-estilo="editorial"] .heroe h1, html[data-estilo="editorial"] .display, html[data-estilo="editorial"] .cierre__frase,
html[data-estilo="editorial"] .banda__t, html[data-estilo="editorial"] .srv-fam__t, html[data-estilo="editorial"] .oficina__c { font-weight: 400; letter-spacing: -.015em; text-transform: none; }
html[data-estilo="editorial"] .heroe h1 { line-height: 1; }
html[data-estilo="editorial"] .display { line-height: 1.05; }
html[data-estilo="editorial"] .heroe h1 .h1-a { font-weight: 400; }
html[data-estilo="editorial"] .heroe h1 .h1-b, html[data-estilo="editorial"] .cierre__frase .cierre__b { font-style: italic; font-weight: 400; color: var(--gris-voz); letter-spacing: -.015em; margin-top: 0; }
html[data-estilo="editorial"] .cifra__num { font-weight: 400; letter-spacing: -.02em; line-height: .88; font-variant-numeric: lining-nums; }
html[data-estilo="editorial"] .cifra__num .pref { font-weight: 500; font-variation-settings: "opsz" 6; font-size: .6em; vertical-align: .22em; margin-right: .06em; color: var(--brand-green); }
html[data-estilo="editorial"] .cifra__num small:not(.ub) { font-family: var(--f-serif); font-weight: 400; font-size: max(.3em, 16px); vertical-align: 1.55em; margin-left: .1em; }
html[data-estilo="editorial"] .cifra__sello, html[data-estilo="editorial"] .mapa__panel h3 { font-weight: 500; letter-spacing: -.01em; }
html[data-estilo="editorial"] .emb__t, html[data-estilo="editorial"] .rub__t, html[data-estilo="editorial"] .maq__n, html[data-estilo="editorial"] .persona__n,
html[data-estilo="editorial"] .mficha__t { font-family: var(--f-serif); font-weight: 500; letter-spacing: 0; }
html[data-estilo="editorial"] .lead { font-family: var(--f-marca); font-weight: 400; font-size: clamp(1.0625rem, .95rem + .45vw, 1.375rem); line-height: 1.55; }
html[data-estilo="editorial"] .cifra__et, html[data-estilo="editorial"] .clinea { font-family: var(--f-marca); }
html[data-estilo="editorial"] :is(.cifra--m, .cifra--s, .emb__sec, .seg-cifras, .heroe__cifras, .maq-cifras, .escala__trio, .banda, .mapa__v, .srv-fam__cab, .emb__card:not(.emb__card--grande)) .cifra__num,
html[data-estilo="editorial"] :is(.srv-fam__n, .hito__a, .banda__n, .paso__n, .ofila__anio, .ofila__mag, .mapa__v-reg .r, .mapa__v-reg .n, .mapa__v-det time, .mapa__v-det em, .mega__num, .mega__cifra, .mm__cifras b, .fams b, .vecinos a span, .maq__q b, .maq__e, .clinea b, .filtros__res output, .chip span, .registro__s, .heroe__tel a, .form__folio b, .ficha-lam__a) {
  font-family: var(--f-marca); font-weight: 500; font-variant-numeric: tabular-nums lining-nums; letter-spacing: -.01em; font-variation-settings: normal; }
html[data-estilo="editorial"] .incluye__lista li::before { font-family: var(--f-marca); font-weight: 500; font-variant-numeric: tabular-nums; }
html[data-estilo="editorial"] .cifra__num .pref--txt { color: var(--c-texto-2); font-family: var(--f-marca); font-size: .2em; font-variation-settings: normal; text-transform: uppercase; letter-spacing: .16em; vertical-align: .9em; }
html[data-estilo="editorial"] :is(.maq__e, .ficha-dato, .obra-datos dd, .emb__t, .mficha__t, .persona__n, .rub__t) { font-family: var(--f-marca); font-weight: 600; letter-spacing: 0; }
html[data-estilo="editorial"] .heroe h1 .h1-b { color: rgba(221, 216, 206, .74); }
.rub__img--verde, .emb__img--verde { container-type: inline-size; }
.rub__img--verde .cifra--bloque .cifra__num, .emb__img--verde .cifra--bloque .cifra__num { font-size: min(clamp(3rem, 2rem + 2.6vw, 4.75rem), 19cqi); }
.emb__card--grande .emb__img--verde .cifra--bloque .cifra__num { font-size: min(clamp(3.5rem, 2rem + 5vw, 7.5rem), 19cqi); }
.rub__img--verde .cifra--bloque .cifra__sello, .emb__img--verde .cifra--bloque .cifra__sello { font-size: min(clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem), 10.5cqi); }
html[data-estilo="editorial"] :is(.rub__img--verde, .emb__img--verde) .cifra--bloque .cifra__num { font-size: min(3.5rem, 12.5cqi); font-family: var(--f-marca); font-weight: 500; }
html[data-estilo="editorial"] .emb__card--grande .emb__img--verde .cifra--bloque .cifra__num { font-size: min(5.5rem, 12.5cqi); }
html[data-estilo="editorial"] .cifra--sello .cifra__sello { font-size: min(2.5rem, 11cqi); line-height: 1.12; padding-top: .08em; }
html[data-estilo="editorial"] .cifra--sello .cifra__linea { padding-top: .5em; margin-top: -.5em; }
html[data-estilo="editorial"] .hito__a { font-size: clamp(2rem, 1.5rem + 1.4vw, 2.75rem); }
html[data-estilo="editorial"] .srv-fam__cab .cifra__num, html[data-estilo="editorial"] .banda .cifra__num { font-size: clamp(2rem, 1.2rem + 1.8vw, 3rem); }
@media (max-width: 599px) { html[data-estilo="editorial"] .maq-cifras .cifra__num { font-size: 2.25rem; } }
html[data-estilo="editorial"] .emb__card .cifra--card .cifra__num { font-size: clamp(2.25rem, 1.6rem + 2vw, 3.75rem); }
html[data-estilo="editorial"] .tl__pista { column-gap: 8px; }
html[data-estilo="editorial"] .pie a[href^="mailto"] { white-space: nowrap; font-size: .875rem; }
.bj-corta, .heroe__tres { display: none; }
@media (max-width: 899px) {
  .heroe--inicio .heroe__bajada--inicio { display: block; margin-top: 10px; max-width: 36ch; font-size: 1rem; line-height: 1.42; }
  .bj-larga { display: none; }
  .bj-corta { display: inline; }
  .heroe__tres { display: flex; margin: 14px 0 0; padding: 10px 0 0; list-style: none; border-top: 1px solid rgba(221, 216, 206, .24); max-width: 420px; }
  .heroe__tres li { flex: 1; font-size: .875rem; line-height: 1.25; color: rgba(221, 216, 206, .86); }
  .heroe__tres b { display: block; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.625rem; line-height: 1.05; color: var(--blanco); font-variant-numeric: tabular-nums; }
  .heroe--inicio .botones { margin-top: 18px; }
  .heroe__pausa { left: var(--g); right: auto; }
  .heroe__leyenda { left: calc(var(--g) + 58px); width: calc(100% - 2 * var(--g) - 58px - 64px); }
}
@media (max-width: 899px) and (max-height: 600px) and (orientation: portrait) {
  .heroe--inicio h1 { font-size: min(var(--t-heroe), 5.4vh); }
  .heroe--inicio .heroe__bajada--inicio { font-size: .9375rem; margin-top: 8px; }
  .heroe__tres { margin-top: 10px; padding-top: 8px; }
  .heroe__tres b { font-size: 1.375rem; }
  .heroe--inicio .botones { margin-top: 14px; }
}
.cifras5 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; margin-top: clamp(28px, 4vw, 56px); padding-top: clamp(24px, 3vw, 40px); border-top: 1px solid var(--c-linea); }
.cifras5__a, .cifras5__m { grid-column: 1 / -1; }
@media (min-width: 760px) { .cifras5 { grid-template-columns: repeat(6, minmax(0, 1fr)); } .cifras5 > div { grid-column: span 2; } .cifras5 > .cifras5__a { grid-column: span 3; } }
.cifras5 .escala__nota { margin-top: 8px; max-width: 30ch; }
.escala--corta .escala__lead { max-width: 52ch; }
.fcar { list-style: none; margin: clamp(28px, 4vw, 48px) 0 0; padding: 0; display: grid; gap: 14px; }
@media (min-width: 1000px) { .fcar { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 700px) and (max-width: 999px) { .fcar { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 699px) {
  .fcar { grid-auto-flow: column; grid-auto-columns: 74%; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--g)); padding-inline: var(--g); scroll-padding-inline: var(--g); scrollbar-width: none; overscroll-behavior-x: contain; }
  .fcar::-webkit-scrollbar { display: none; }
  .fcar__i { scroll-snap-align: start; }
}
.fcar__a { display: flex; flex-direction: column; height: 100%; background: var(--c-superficie); color: inherit; text-decoration: none; border-top: 2px solid var(--c-linea); transition: border-color .3s var(--ease-ui); }
.fcar__img { aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-fondo-alt); }
.fcar__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.fcar__txt { display: grid; gap: 6px; padding: 14px 16px 18px; }
.fcar__n { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: .9375rem; color: var(--c-acento-txt); }
.fcar__t { margin: 0; font-family: var(--f-marca); font-weight: 700; font-size: 1.0625rem; line-height: 1.25; color: var(--c-titulo); }
.fcar .cifra { margin-top: 2px; }
.fcar .cifra__num { font-size: 1.75rem; }
.fcar .cifra__et { margin-top: 4px; font-size: .875rem; }
.fcar__r { margin: 4px 0 0; font-size: .875rem; line-height: 1.4; color: var(--c-texto-2); }
@media (hover: hover) and (pointer: fine) { .fcar__a:hover { border-top-color: var(--brand-green); } .fcar__a:hover img { transform: scale(1.03); } }
.pres-ini { display: grid; gap: 20px; align-items: end; }
@media (min-width: 900px) { .pres-ini { grid-template-columns: minmax(0, 1fr) auto; gap: 48px; } }
.pres-ini__mapa { display: block; margin-top: clamp(24px, 3vw, 44px); }
.pres-ini__mapa img { display: block; width: 100%; height: auto; }
.emb.emb--car { gap: 20px; }
@media (min-width: 900px) { .emb.emb--car { grid-template-columns: repeat(3, minmax(0, 1fr)); } .emb.emb--car > .emb__card { grid-column: auto; } }
@media (max-width: 899px) {
  .emb.emb--car { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; scroll-snap-type: x mandatory; margin-inline: calc(-1 * var(--g)); padding-inline: var(--g); scroll-padding-inline: var(--g); scrollbar-width: none; overscroll-behavior-x: contain; }
  .emb.emb--car::-webkit-scrollbar { display: none; }
  .emb.emb--car > * { scroll-snap-align: start; }
}
.mand-ini .carrusel { margin-top: clamp(20px, 3vw, 36px); }
.gers { display: grid; gap: 14px; }
@media (min-width: 900px) { .gers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.ger { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 16px; align-items: center; padding: 18px; background: var(--c-superficie); border-top: 2px solid var(--brand-green); }
.ger .retrato { width: 64px; height: 64px; }
.ger__d { min-width: 0; }
.ger__cargo { font-family: var(--f-marca); font-weight: 600; font-size: .8125rem; letter-spacing: .06em; text-transform: uppercase; color: var(--c-acento-txt); }
.ger__n { margin: 2px 0 0; font-family: var(--f-marca); font-weight: 700; font-size: 1.125rem; line-height: 1.25; color: var(--c-titulo); }
.ger__tel { display: inline-block; margin-top: 2px; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.25rem; color: var(--c-texto); text-decoration: none; }
.ger__acc { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.ger__b { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 8px; border: 1px solid var(--c-linea-fuerte); color: var(--c-titulo); text-decoration: none; font-family: var(--f-marca); font-weight: 600; font-size: .875rem; touch-action: manipulation; transition: border-color .2s, background-color .2s; }
.ger__b svg { width: 18px; height: 18px; flex: none; }
.ger__b:first-child { background: var(--verde-boton); border-color: var(--verde-boton); color: var(--negro-boton); }
@media (hover: hover) and (pointer: fine) { .ger__b:hover { border-color: var(--brand-green); } .ger__b:first-child:hover { background: var(--c-acento-txt); } }
.ctc-ini__mas { margin-top: 20px; font-size: .9375rem; line-height: 1.6; color: var(--c-texto-2); }
.ctc-ini__mas a { color: var(--c-acento-txt); }
@media (max-width: 699px) {
  .ini .tit--ante { display: none; }
  .ini .display { font-size: clamp(1.75rem, 1.2rem + 3vw, 2.25rem); }
  .ini .lead { font-size: 1.0625rem; }
  .ini .lead.mt-m { margin-top: 12px; }
  .cifras5 { gap: 20px 16px; margin-top: 22px; padding-top: 20px; }
  .cifras5 .cifra__et { margin-top: 6px; }
  .pres-ini__cifra, .mand-ini .muro__cab > .cifra { display: none; }
  .pres-ini__mapa { margin-top: 18px; }
  .emb.emb--car { margin-top: 22px; }
  .emb.emb--car .emb__img { aspect-ratio: 4 / 3; }
  .emb.emb--car .emb__txt { padding-top: 0; }
  .mand-ini .carrusel { margin-top: 16px; }
  .mand-ini .muro__ctrl { margin-top: 12px; }
  .ger { padding: 14px; gap: 2px 14px; }
  .ger .retrato { width: 52px; height: 52px; }
  .ger__acc { margin-top: 10px; }
  .ctc-ini .botones.mt-l { margin-top: 20px; }
}
.cab__ctc { margin-left: auto; display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid color-mix(in srgb, currentColor 45%, transparent); color: inherit; text-decoration: none; font-family: var(--f-marca); font-weight: 600; font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; touch-action: manipulation; }
.cab__ctc + .hamb { margin-left: 6px; }
@media (min-width: 1100px) { .cab__ctc { display: none; } }
@media (max-width: 359px) { .cab__ctc { padding: 0 10px; letter-spacing: .04em; } }
@media (min-width: 1100px) and (max-width: 1299px) { .nav__link { padding: 0 8px; letter-spacing: .12em; } .nav__link::after { left: 8px; right: 8px; } .boton--cab { padding: 0 14px; margin-left: 6px; } }
.mm__link--menor { min-height: var(--toque); font-size: 1rem; font-weight: 500; color: var(--c-texto-2); }
@media (max-width: 1099px) and (max-height: 700px) {
  .mm { overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
  .mm__cab { position: sticky; top: 0; z-index: 2; background: var(--crema); }
  .mm__cuerpo { flex: none; overflow: visible; padding-bottom: 8px; }
  .mm__pie { flex: none; padding-top: 8px; }
  .mm.is-abierto { background: var(--crema); }
  .mm::before { display: none; }
}
@media (max-width: 699px) {
  :root { --t-rotulo: .875rem; --ls-rotulo: .1em; --t-xs: .875rem; }
  .boton { font-size: .875rem; letter-spacing: .08em; }
  .tag, .muro__rot, .pie h2, .seg-doc b, .campo label, .campo .lbl, .campo .opc, .mficha dt, .obra-datos dt, .persona__cargo, .heroe__leyenda b,
  .ad__rot, .maq__leyenda, .maq__cr, .obra-galeria figcaption, .archivo__btn, .filtros__mas > summary, .mapa__leyenda, .maq__q span, .maq__q b small, .ger__cargo, .wa span { font-size: .875rem; letter-spacing: .05em; }
  .pie__base, .pie__base a { font-size: .9375rem; }
}
.pie__canal { font-size: .9375rem; }
@media (max-width: 899px) {
  .pie { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .lead, .texto p, .heroe__bajada, .ctc-ini__mas, .denuncia__p { padding-right: 44px; }
  .botones--heroe, .ctc-ini .botones, .form__acc, .form .botones { padding-right: 56px; }
  .botones--heroe .boton, .ctc-ini .botones .boton { max-width: 100%; }
}
html { scroll-padding-bottom: 140px; }
.campo input, .campo select, .campo textarea, .form button[type="submit"] { scroll-margin-bottom: 150px; scroll-margin-top: calc(var(--cab-alto) + 24px); }
@media (max-width: 359px) { .flota .wa { height: 44px; min-width: 44px; padding: 0 10px; } }
@media (max-width: 899px) { .form > button[type="submit"] { max-width: calc(100% - 56px); } }
@media (max-width: 699px) {
  .pie { padding-top: 40px; }
  .pie__marca { display: none; }
  .pie__g { gap: 24px 16px; }
  .pie__lema { margin-top: 14px; }
  .pie li a { min-height: 40px; padding-block: 4px; }
  .pie__g > div:last-child ul { display: flex; flex-wrap: wrap; gap: 0 18px; }
  .pie__g > div:last-child li.pie__ofis { flex-basis: 100%; }
  .pie__denuncia { margin-top: 28px; }
  .pie__base { margin-top: 20px; }
}
.pie__col > summary { list-style: none; cursor: default; }
.pie__col > summary::-webkit-details-marker { display: none; }
@media (min-width: 700px) { .pie__col > summary { pointer-events: none; } }
@media (max-width: 699px) {
  .pie__g { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .pie__g > div:first-child { margin-bottom: 20px; }
  .pie__col { border-top: 1px solid var(--c-linea); }
  .pie__col > summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; cursor: pointer; }
  .pie__col > summary h2 { margin: 0; }
  .pie__col > summary::after { content: "+"; font-size: 1.25rem; line-height: 1; color: var(--c-acento-txt); }
  .pie__col[open] > summary::after { content: "–"; }
  .pie__col ul { padding-bottom: 10px; }
  .pie__g > div:last-child { border-top: 1px solid var(--c-linea); padding-top: 14px; }
}
.ctc-otros { display: grid; }
@media (min-width: 900px) { .ctc-otros { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; } .ctc-otros .registro--fin { border-bottom: 0; } }
.cont--form > .mt-l { max-width: 780px; }
.pasos-ley { list-style: none; margin: 0; padding: 0; counter-reset: paso; border-top: 1px solid var(--c-linea); }
.pasos-ley li { counter-increment: paso; display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 4px 16px; padding: 18px 0; border-bottom: 1px solid var(--c-linea); }
.pasos-ley li::before { content: counter(paso, decimal-leading-zero); grid-row: span 2; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.25rem; color: var(--c-acento-txt); }
.pasos-ley b { font-family: var(--f-marca); font-weight: 700; font-size: 1rem; color: var(--c-titulo); }
.pasos-ley span { font-size: var(--t-m); line-height: 1.5; color: var(--c-texto); max-width: 70ch; }
@media (min-width: 900px) { .pasos-ley { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0 24px; } .pasos-ley li { grid-template-columns: minmax(0, 1fr); border-bottom: 0; } .pasos-ley li::before { grid-row: auto; } }
.js .heroe__video { opacity: 0; transition: opacity .6s var(--ease-ui); }
.js .heroe__video.is-listo { opacity: 1; }
.nav__link { white-space: nowrap; }
@media (min-width: 1100px) and (max-width: 1499px) { .nav__link { padding: 0 9px; letter-spacing: .13em; } .nav__link::after { left: 9px; right: 9px; } .boton--cab { padding: 0 16px; margin-left: 8px; } }
.fcar .cifra--sello .cifra__sello { font-size: 1.125rem; line-height: 1.25; max-width: none; }
.ctc-ini .botones { margin-top: 28px; }
.ger__b { gap: 6px; padding: 0 6px; font-size: .8125rem; }
@media (max-width: 699px) { .ger__b { font-size: .875rem; } }
.pie__base, .pie__base a { font-size: .9375rem; }
@media (min-width: 1100px) and (max-width: 1379px) { .nav__link { padding: 0 7px; letter-spacing: .08em; } .nav__link::after { left: 7px; right: 7px; } .boton--cab { padding: 0 12px; margin-left: 6px; letter-spacing: .1em; } .cab__in { gap: 16px; } }
@media (max-width: 379px) {
  .cab__in { gap: 10px; }
  .cab .logo { width: 128px; }
  .cab__ctc { text-transform: none; letter-spacing: 0; font-size: .875rem; padding: 0 10px; min-height: 38px; }
  .cab__ctc + .hamb { margin-left: 2px; }
}
@media (max-width: 899px) and (max-height: 600px) and (orientation: portrait) {
  .heroe--inicio h1 { font-size: 1.625rem; line-height: 1.08; }
  .heroe--inicio .heroe__cuerpo { padding-top: calc(var(--cab-alto) + env(safe-area-inset-top) + 8px); padding-bottom: 74px; }
  .heroe--inicio .heroe__bajada--inicio { font-size: .875rem; line-height: 1.38; margin-top: 6px; }
  .heroe__tres { margin-top: 8px; padding-top: 6px; }
  .heroe__tres b { font-size: 1.25rem; }
  .heroe__tres li { font-size: .875rem; }
  .heroe--inicio .botones { margin-top: 10px; gap: 2px; }
  .botones--heroe .boton { min-height: 46px; }
  .botones--heroe .boton--linea { min-height: 40px; }
}
.emb__img { --ar: 75%; }
.rub__img { --ar: 66.667%; }
.maq__img { --ar: 75%; }
@media (min-width: 1100px) { .rub-grid--5 > :nth-child(-n+2) .rub__img, .rub-grid--2 .rub__img { --ar: 56.25%; } }
@media (max-width: 699px) { .emb__img, .rub__img { --ar: 125%; } .emb__img--verde, .rub__img--verde { --ar: 75%; } }
@supports (grid-template-rows: subgrid) {
  @media (min-width: 640px) {
    .rub-grid > .rub .rub__img { aspect-ratio: auto; height: 0; padding: var(--ar) 0 0; }
  }
  @media (min-width: 700px) {
    .emb > .emb__card:not(.emb__card--grande) .emb__img, .maq-grid > .maq .maq__img { aspect-ratio: auto; height: 0; padding: var(--ar) 0 0; }
  }
}
.emb__img > img, .rub__img > img, .maq__img > img, .emb__img > picture, .rub__img > picture, .maq__img > picture { position: absolute; inset: 0; width: 100%; height: 100%; }
.emb__img > picture img, .rub__img > picture img, .maq__img > picture img { width: 100%; height: 100%; object-fit: cover; }
.emb__img--verde > .cifra, .rub__img--verde > .cifra { position: absolute; left: 24px; bottom: 22px; max-width: calc(100% - 88px); }
.carrusel:focus-within .carrusel__pista { animation-play-state: paused; }
@media (hover: hover) and (pointer: fine) { .logo-a:hover .lc, .logo-a:focus-visible .lc { opacity: 1; } .logo-a:hover .lg, .logo-a:focus-visible .lg { opacity: 0; } }
.caso__t { margin-top: 12px; font-family: var(--f-titular); font-weight: var(--w-titular); font-size: var(--t-xl); line-height: 1.2; letter-spacing: -.01em; color: var(--c-titulo); max-width: 30ch; text-wrap: balance; }
.caso__bajada { max-width: 62ch; }
.caso__g { display: grid; gap: 0; border-top: 1px solid var(--c-linea); }
@media (min-width: 900px) { .caso__g { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; } }
.caso__b { padding: 20px 0 22px; border-bottom: 1px solid var(--c-linea); }
.caso__bt { font-family: var(--f-marca); font-weight: 600; font-size: var(--t-rotulo); letter-spacing: var(--ls-rotulo); text-transform: uppercase; color: var(--c-acento-txt); }
.caso__b p { margin-top: 8px; font-size: var(--t-m); line-height: 1.6; color: var(--c-texto); max-width: 62ch; }
.caso-prensa ul { list-style: none; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--c-linea); }
.caso-prensa li { display: grid; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--c-linea); }
.caso-prensa a { color: var(--c-titulo); font-weight: 600; text-decoration: underline; text-decoration-color: var(--c-linea-fuerte); text-underline-offset: 3px; }
.caso-prensa li span { font-size: var(--t-s); color: var(--c-texto-2); }
.caso-prensa li .caso-prensa__t { color: var(--c-texto); }
.caso-rel { font-size: var(--t-m); color: var(--c-texto); }
.caso-rel a { color: var(--c-acento-txt); font-weight: 600; }
.mitig { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--c-linea); }
.mitig li { display: grid; gap: 6px; padding: 18px 0; border-bottom: 1px solid var(--c-linea); }
.mitig b { font-family: var(--f-marca); font-weight: 700; color: var(--c-titulo); }
.mitig span { color: var(--c-texto); line-height: 1.55; max-width: 70ch; }
.reg-idx { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); border-top: 1px solid var(--c-linea); }
@media (min-width: 700px) { .reg-idx { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; } }
@media (min-width: 1100px) { .reg-idx { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.reg-idx a { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 48px; padding: 8px 0; border-bottom: 1px solid var(--c-linea); color: var(--c-titulo); text-decoration: none; }
.reg-idx .r { font-family: var(--f-numero); color: var(--c-acento-txt); }
.reg-idx .nm { font-family: var(--f-marca); font-weight: 600; font-size: .9375rem; }
.reg-idx .n { font-size: .875rem; color: var(--c-texto-2); }
@media (hover: hover) and (pointer: fine) { .reg-idx a:hover .nm { color: var(--c-acento-txt); } }
.reg-g { display: grid; gap: 32px; }
@media (min-width: 900px) { .reg-g { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; } }
.reg-lista { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--c-linea); }
.reg-lista li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--c-linea); color: var(--c-texto); }
.reg-lista li span { font-family: var(--f-numero); color: var(--c-texto-2); }
.reg-lista a { color: var(--c-titulo); }
.reg-lam img { height: 200px; width: auto; }
@media (max-width: 899px) { .reg-lam { display: none; } }
.faq { display: grid; gap: 0; border-top: 1px solid var(--c-linea); }
.faq__i { padding: 24px 0; border-bottom: 1px solid var(--c-linea); scroll-margin-top: calc(var(--cab-alto) + 16px); }
.faq__q { font-family: var(--f-marca); font-weight: 700; font-size: 1.1875rem; line-height: 1.3; color: var(--c-titulo); text-wrap: balance; }
.faq__a { margin-top: 10px; font-size: var(--t-m); line-height: 1.6; color: var(--c-texto); }
.faq__mas { margin-top: 8px; }
.faq__mas a { color: var(--c-acento-txt); font-weight: 600; }
.boton:not(.boton--linea) { font-weight: 700; }
@media (hover: hover) and (pointer: fine) { .boton:not(.boton--linea):hover { --b-fg: var(--crema); } }
.heroe .boton:not(.boton--linea), .oscuro .boton:not(.boton--linea), .cierre:not(.cierre--claro) .boton:not(.boton--linea) { --b-barr: var(--crema); }
@media (hover: hover) and (pointer: fine) { .heroe .boton:not(.boton--linea):hover, .oscuro .boton:not(.boton--linea):hover, .cierre:not(.cierre--claro) .boton:not(.boton--linea):hover { --b-fg: var(--grafito); } }
.heroe--tipo { background: var(--crema); color: var(--c-texto); border-bottom: 1px solid var(--c-linea); }
.heroe--tipo h1, .heroe--tipo .heroe__ante a { color: var(--c-titulo); }
.heroe--tipo .heroe__ante, .heroe--tipo .heroe__bajada, .heroe--tipo .ficha-dato { color: var(--c-texto-2); text-shadow: none; }
.heroe--tipo .heroe__bajada { color: var(--c-texto); }
.heroe--tipo .cifra, .heroe--tipo .cifra__et { color: var(--c-titulo); }
.heroe--tipo .heroe__tel a { color: var(--c-titulo); }
.heroe--tipo .heroe__tel span { color: var(--c-texto-2); }
.heroe--tipo .ficha-lam__a { -webkit-text-stroke: 1px rgba(42, 43, 40, .28); }
.heroe--tipo .boton--linea { --b-fg: var(--c-titulo); --b-bd: var(--c-linea-fuerte); --b-barr: var(--c-titulo); }
.cierre--claro { color: var(--c-texto); background: var(--arena); }
.cierre--claro::before { content: none; }
.cierre--claro .cierre__frase { color: var(--c-titulo); }
.cierre--claro .cierre__fila { border-top-color: var(--c-linea); }
.cierre--claro .boton--linea { --b-fg: var(--c-titulo); --b-bd: var(--c-linea-fuerte); --b-barr: var(--c-titulo); }
.cierre--claro .cierre__datos a { color: var(--c-titulo); }
.cierre--claro .cierre__datos span { color: var(--c-texto-2); }
.cierre--claro { --gris-voz: #5E5B55; }
@media (hover: hover) and (pointer: fine) { .cierre--claro .boton--linea:hover { --b-fg: var(--crema); } }
.sec--foto { position: relative; isolation: isolate; overflow: hidden; }
.sec--foto > .sec__fondo { position: absolute; inset: 0; z-index: -2; }
.sec--foto > .sec__fondo img { width: 100%; height: 100%; object-fit: cover; }
.sec--foto::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(28, 29, 27, .86), rgba(28, 29, 27, .72) 45%, rgba(28, 29, 27, .9)); }
.sec--foto-suave { position: relative; isolation: isolate; overflow: hidden; }
.sec--foto-suave > .sec__fondo { position: absolute; inset: 0; z-index: -2; }
.sec--foto-suave > .sec__fondo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.6); }
.sec--foto-suave::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(250, 247, 241, .9); }
.mod-foto { display: grid; gap: clamp(24px, 3vw, 48px); align-items: start; }
@media (min-width: 900px) { .mod-foto { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); } }
.mod-foto__img { overflow: hidden; aspect-ratio: 4 / 3; background: var(--c-fondo-alt); }
.mod-foto__img img { width: 100%; height: 100%; object-fit: cover; }
.cifras-lux { position: relative; isolation: isolate; overflow: hidden; background: #201E1A; }
.cifras-lux > .cl-fondo { position: absolute; inset: 0; z-index: -2; }
.cifras-lux > .cl-fondo img { width: 100%; height: 100%; object-fit: cover; }
.cifras-lux::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(32, 28, 22, .92) 0%, rgba(32, 28, 22, .8) 40%, rgba(32, 28, 22, .93) 100%); }
.cl-cab { max-width: 62ch; }
.cl-cab .lead { color: var(--c-texto); }
.cl-grandes { display: grid; gap: 14px; margin-top: clamp(28px, 4vw, 56px); }
@media (min-width: 900px) { .cl-grandes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } }
.cl-panel { position: relative; isolation: isolate; overflow: hidden; display: flex; align-items: flex-end; min-height: clamp(250px, 32vw, 460px); container-type: inline-size; border-top: 1px solid var(--brand-green); background: rgba(32, 28, 22, .5); }
.cl-f { position: absolute; inset: 0; z-index: -2; }
.cl-f img { width: 100%; height: 100%; object-fit: cover; }
.cl-panel::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(32, 28, 22, .2) 0%, rgba(32, 28, 22, .5) 42%, rgba(32, 28, 22, .93) 100%); }
.cl-panel__in { width: 100%; padding: clamp(18px, 4cqi, 34px); }
.cl-rot { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-family: var(--f-marca); font-weight: 600; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--c-texto-2); }
.cl-rot::before { content: ""; flex: none; width: 28px; height: 1px; background: var(--brand-green); }
.cl-rot__n { font-family: var(--f-numero); font-weight: var(--w-numero); letter-spacing: .04em; color: var(--c-acento-txt); }
.cl-rot__n::after { content: "·"; margin-left: 10px; color: var(--c-texto-2); }
.cl-g { display: block; }
.cl-g .cifra__num { font-size: min(14.5cqi, 7.75rem); line-height: .86; letter-spacing: -.02em; }
.cl-g .cifra__num small { color: var(--c-acento-txt); }
.cl-g .cifra__et { margin-top: 12px; font-size: var(--t-m); color: var(--c-texto); }
.cl-franja { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; margin-top: 22px; }
.cl-franja > div { padding: 18px 0 6px; border-top: 1px solid var(--c-linea-fuerte); }
.cl-franja > div:last-child { grid-column: 1 / -1; }
@media (min-width: 700px) { .cl-franja { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; } .cl-franja > div:last-child { grid-column: auto; } }
.cl-franja .cifra__num { font-size: clamp(2.25rem, 1.6rem + 2.2vw, 3.75rem); }
.cl-franja .cifra__num small { color: var(--c-acento-txt); }
.cl-franja .cifra__et { color: var(--c-texto); }
.cl-nota { margin-top: 8px; font-size: .875rem; line-height: 1.4; color: var(--c-texto-2); max-width: 32ch; }
@media (prefers-reduced-motion: no-preference) {
  .js .cifras-lux .cl-panel, .js .cifras-lux .cl-franja > div { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ease), transform 1s var(--ease); }
  .js .cifras-lux.is-visto .cl-panel, .js .cifras-lux.is-visto .cl-franja > div { opacity: 1; transform: none; }
  .js .cifras-lux.is-visto .cl-panel:nth-child(2) { transition-delay: .12s; }
  .js .cifras-lux.is-visto .cl-franja > div:nth-child(1) { transition-delay: .24s; }
  .js .cifras-lux.is-visto .cl-franja > div:nth-child(2) { transition-delay: .32s; }
  .js .cifras-lux.is-visto .cl-franja > div:nth-child(3) { transition-delay: .4s; }
  @supports (animation-timeline: view()) {
    .cl-f img, .cifras-lux > .cl-fondo img { animation: paralaje linear both; animation-timeline: view(); animation-range: cover; }
  }
}
.pres-ini__foto .mod-foto__img { aspect-ratio: 21 / 9; }
@media (max-width: 699px) { .pres-ini__foto .mod-foto__img { aspect-ratio: 4 / 3; } }
.pres-ini__foto figcaption { margin-top: 8px; font-size: .875rem; color: var(--c-texto-2); }
.seg-foto .mod-foto__img { aspect-ratio: 21 / 9; }
.cifra__num .pref { color: var(--c-acento-txt); }
.heroe:not(.heroe--tipo) .heroe__velo { background:
  linear-gradient(0deg, rgba(28, 29, 27, .94) 0%, rgba(28, 29, 27, .86) 40%, rgba(28, 29, 27, .62) 72%, rgba(28, 29, 27, .6) 100%),
  linear-gradient(90deg, rgba(28, 29, 27, .7) 0%, rgba(28, 29, 27, .45) 55%, rgba(28, 29, 27, 0) 85%); }
@media (max-width: 899px) { .heroe:not(.heroe--tipo) .heroe__velo { background: linear-gradient(180deg, rgba(28, 29, 27, .78) 0%, rgba(28, 29, 27, .86) 30%, rgba(28, 29, 27, .9) 60%, rgba(28, 29, 27, .95) 100%); } }
.heroe--inicio .heroe__velo { background:
  linear-gradient(0deg, rgba(28, 29, 27, .95) 0%, rgba(28, 29, 27, .86) 45%, rgba(28, 29, 27, .6) 75%, rgba(28, 29, 27, .5) 100%),
  linear-gradient(90deg, rgba(28, 29, 27, .72) 0%, rgba(28, 29, 27, .4) 60%, rgba(28, 29, 27, 0) 90%); }
@media (max-width: 899px) { .heroe--inicio .heroe__velo { background: linear-gradient(180deg, rgba(28, 29, 27, .8) 0%, rgba(28, 29, 27, .86) 30%, rgba(28, 29, 27, .9) 60%, rgba(28, 29, 27, .96) 100%); } }
.fams { background: rgba(28, 29, 27, .9); }
.heroe__cifras { background: rgba(28, 29, 27, .9); }
.cifras-lux::before { background: linear-gradient(180deg, rgba(32, 28, 22, .93) 0%, rgba(32, 28, 22, .9) 40%, rgba(32, 28, 22, .95) 100%); }
.cl-panel::before { background: linear-gradient(180deg, rgba(32, 28, 22, .3) 0%, rgba(32, 28, 22, .72) 30%, rgba(32, 28, 22, .92) 48%, rgba(32, 28, 22, .95) 100%); }
.sec--foto::before { background: linear-gradient(180deg, rgba(28, 29, 27, .92), rgba(28, 29, 27, .88) 45%, rgba(28, 29, 27, .94)); }
.cifra__linea { padding-top: .42em; margin-top: -.42em; }
.srv-fam__cab .cifra__num { font-size: clamp(2.25rem, 1.4rem + 2vw, 3.25rem); }
.rub__img--verde .cifra--bloque .cifra__sello, .emb__img--verde .cifra--bloque .cifra__sello { font-size: min(clamp(1.5rem, 1rem + 1.2vw, 2.25rem), 8.6cqi); max-width: 12ch; hyphens: auto; overflow-wrap: break-word; }
.emb__img--verde > .cifra, .rub__img--verde > .cifra { max-width: calc(100% - 96px); }
.sec--lavado, .sec--lado, .sec--duo { position: relative; isolation: isolate; overflow: hidden; background-image: none !important; }
.sec--lavado > .sec__fondo, .sec--lado > .sec__fondo, .sec--duo > .sec__fondo { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.sec__fondo img { width: 100%; height: 100%; object-fit: cover; }
.sec--lavado::before { content: ""; position: absolute; inset: 0; z-index: -1; background: color-mix(in srgb, var(--c-fondo) 88%, transparent); }
.sec--lado > .sec__fondo { left: 42%; }
.sec--lado > .sec__fondo img { opacity: .5; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #1C1D1B 55%); mask-image: linear-gradient(90deg, transparent 0%, #1C1D1B 55%); }
.sec--lado::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--c-fondo) 0%, var(--c-fondo) 38%, color-mix(in srgb, var(--c-fondo) 55%, transparent) 100%); }
.sec--duo > .sec__fondo img { filter: grayscale(1) sepia(.35); opacity: .13; }
@media (max-width: 899px) {
  .sec--lado > .sec__fondo { left: 0; }
  .sec--lado > .sec__fondo img { opacity: .14; -webkit-mask-image: none; mask-image: none; }
  .sec--lado::before { background: color-mix(in srgb, var(--c-fondo) 72%, transparent); }
}
.sec.claro:not(.sec--lavado):not(.sec--lado):not(.sec--duo):not(.sec--foto-suave),
.sec.neblina:not(.sec--lavado):not(.sec--lado):not(.sec--duo),
.sec.verde:not(.sec--lavado):not(.sec--lado):not(.sec--duo), .cierre--claro { isolation: isolate; }
.sec.claro:not(.sec--lavado):not(.sec--lado):not(.sec--duo):not(.sec--foto-suave)::after,
.sec.neblina:not(.sec--lavado):not(.sec--lado):not(.sec--duo)::after,
.sec.verde:not(.sec--lavado):not(.sec--lado):not(.sec--duo)::after, .cierre--claro::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: url("/assets/img/curvas-d.svg") no-repeat right -180px top -60px / max(1100px, 90%) auto;
}
.sec.neblina:not(.sec--lavado):not(.sec--lado):not(.sec--duo)::after, .cierre--claro::after { background-image: url("/assets/img/curvas-e.svg"); background-position: left -220px bottom -80px; }
.cifra__num .pref.pref--txt { color: inherit; opacity: 1; }
.cifra__linea { padding-bottom: .1em; margin-bottom: -.1em; }
.srv-fam__cab .cifra__num { font-size: clamp(2rem, 1.2rem + 1.4vw, 2.5rem); }
.pres-ini .display { font-size: min(var(--t-display), 5vw); }
@media (max-width: 899px) { .pres-ini .display { font-size: var(--t-display); } }
.rub__img--verde .cifra--bloque .cifra__sello, .emb__img--verde .cifra--bloque .cifra__sello { hyphens: manual; overflow-wrap: normal; font-size: min(clamp(1.375rem, .9rem + 1.1vw, 2.125rem), 7.4cqi); max-width: none; }
@media (max-width: 699px) { .cl-rot { letter-spacing: .1em; flex-wrap: wrap; gap: 6px 8px; } }
.sec--lado > .sec__fondo img { opacity: .42; }
.sec--lado::before { background: linear-gradient(90deg, var(--c-fondo) 0%, var(--c-fondo) 38%, color-mix(in srgb, var(--c-fondo) 72%, transparent) 100%); }
.oficina__c { font-size: clamp(1.5rem, 1rem + 1vw, 1.875rem); }
.rub__img--verde .cifra--bloque .cifra__sello, .emb__img--verde .cifra--bloque .cifra__sello { font-size: min(clamp(1.5rem, 1rem + 1.2vw, 2.25rem), 8.6cqi, calc((100cqi - 88px) / 7.4)); hyphens: manual; overflow-wrap: normal; max-width: none; }
.rub__img--verde .cifra--bloque .cifra__num, .emb__img--verde .cifra--bloque .cifra__num { font-size: min(clamp(3rem, 2rem + 2.6vw, 4.75rem), 19cqi, calc((100cqi - 60px) / 6.6)); }
.cifra__linea { padding-bottom: .1em; margin-bottom: -.1em; }
.mapa__cab > :first-child { container-type: inline-size; }
.mapa__cab .display { font-size: min(var(--t-display), 16cqi); }
.tres > div:has(> .oficina__c) { container-type: inline-size; }
.oficina__c { font-size: min(clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem), 15.5cqi); }
@media (min-width: 900px) and (max-width: 1379px) { .pasos-ley { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 24px; } }
@media (max-width: 479px) { .seg-cifras > div + div { padding-left: 10px; } .seg-cifras .cifra__et { font-size: .8125rem; letter-spacing: 0; } }
@media (max-width: 899px) { .heroe--ficha .heroe__cuerpo, .heroe--obra .heroe__cuerpo, .incluye__lista li, .creditos li, main:has(.creditos) .texto, .busca404 { padding-right: 60px; } .ger { padding-right: 64px; } }
@media (min-width: 900px) and (max-width: 1279px) { .fams ol { padding-right: 72px; } }
.obra-datos dd a { display: inline-block; vertical-align: top; padding: 11px 0; margin: -11px 0; }
.pie li a, .red, .ger__tel { min-height: 44px; }
.ger__tel { display: inline-flex; align-items: center; }
.srv-fam[class*="sec--"] .rub { background: var(--c-superficie); padding-bottom: 16px; }
.srv-fam[class*="sec--"] .rub__t, .srv-fam[class*="sec--"] .rub__d { padding-inline: 16px; }
.ad-fig--blanda { max-width: 1000px; }
.secu-grupo { display: grid; gap: clamp(48px, 6vw, 80px); }
.secu__t { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin-bottom: 16px; }
.secu__t a { font-family: var(--f-marca); font-weight: 700; font-size: 1.0625rem; line-height: 1.3; color: var(--c-titulo); text-decoration: underline; text-decoration-color: var(--c-linea-fuerte); text-underline-offset: 4px; }
.secu__t a:hover { text-decoration-color: var(--c-acento-txt); }
.secu__t span { font-size: var(--t-s); color: var(--c-texto-2); }
.secu__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); }
.secu__c { margin: 0; min-width: 0; }
.secu__img { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--c-superficie); }
.secu__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.secu__rot { position: absolute; top: 12px; left: 12px; padding: 5px 10px; background: rgba(28, 29, 27, .78); color: var(--blanco); font-family: var(--f-marca); font-weight: 600; font-size: .6875rem; line-height: 1.3; letter-spacing: var(--ls-rotulo); text-transform: uppercase; }
.secu__c:nth-child(2) .secu__rot { background: var(--verde-boton); color: var(--negro-boton); font-weight: 700; }
.secu__c figcaption { margin-top: 10px; font-size: var(--t-s); line-height: 1.45; color: var(--c-texto-2); }
@media (max-width: 899px) {
  .secu__g { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain;
             margin-inline: calc(-1 * var(--g)); padding-inline: var(--g); scroll-padding-inline: var(--g); scrollbar-width: none; padding-bottom: 4px; }
  .secu__g::-webkit-scrollbar { display: none; }
  .secu__c { scroll-snap-align: start; }
}
@media (prefers-reduced-motion: no-preference) { .secu__g { scroll-behavior: smooth; } }
.sec .secu-grupo { margin-top: clamp(28px, 3.5vw, 44px); }
@media (max-width: 420px) { .cl-rot { gap: 6px 8px; letter-spacing: .08em; } .cl-rot::before { width: 14px; } .cl-rot__n::after { content: none; } }
.cifra__num small:not(.ub) { font-size: max(.42em, 11px); }
.obra-datos dd:has(> a ~ a) { font-size: 0; line-height: 0; }
.obra-datos dd:has(> a ~ a) a { display: block; width: fit-content; padding: 11px 0; margin: 0; font-size: var(--t-m); line-height: 1.35; }
.obra-datos dd:has(> a ~ a) a:first-child { margin-top: -11px; }
@media (min-width: 1024px) { .obra-datos dd:has(> a ~ a) a { font-size: 1.125rem; } }
[data-tema="claro"] .srv-fam__n, [data-tema="claro"] .enlace, [data-tema="claro"] .emb__txt .tag, .sec--familias .srv-fam__n { color: var(--verde-sobre-claro); }
.sec--lavado .hito__d { color: var(--grafito); }
@media (max-width: 1099px) { .sec--lado::before { background: color-mix(in srgb, var(--c-fondo) 78%, transparent); } }
@media (max-width: 1099px) { .cl-panel::before { background: linear-gradient(180deg, rgba(32, 28, 22, .45) 0%, rgba(32, 28, 22, .86) 26%, rgba(32, 28, 22, .95) 46%, rgba(32, 28, 22, .96) 100%); } }
@media (max-width: 899px) { .heroe__cifras .cont { padding-right: 60px; } }
.heroe--tipo .heroe__ante .sep, .heroe__ante .sep { opacity: .8; }
.form__priv a { display: inline-block; padding: 12px 2px; margin: -12px 0; }
:is(.sec--lavado, .sec--lado, .sec--duo, .sec--foto-suave) :is(.enlace, .tag, .emb__txt .tag, .srv-fam__n, .registro__s) { color: #135C3C; }
:is(.sec--lavado, .sec--lado, .sec--duo, .sec--foto-suave) .hito__d { color: var(--grafito); }
:is(.sec--lavado, .sec--lado, .sec--duo, .sec--foto-suave) .cifra__num .pref:not(.pref--txt) { color: #135C3C; }
@media (max-width: 699px) { #cap-t { padding-right: 56px; } }
.sec--ref.sec--lavado::before { background: color-mix(in srgb, var(--c-fondo) 88%, transparent); }
.sec--ref-tenue.sec--lavado::before { background: color-mix(in srgb, var(--c-fondo) 94%, transparent); }
.sec--ref.sec--duo > .sec__fondo img { filter: grayscale(1) sepia(.35); opacity: .12; }
.sec--ref-tenue.sec--duo > .sec__fondo img { opacity: .07; }
.heroe--tipo.sec--lavado::before { background: color-mix(in srgb, var(--crema) 86%, transparent); }
.heroe--tipo.sec--lavado.sec--ref-tenue::before { background: color-mix(in srgb, var(--crema) 93%, transparent); }
.mega--srv { background: var(--superficie); box-shadow: 0 30px 60px -28px rgba(42, 43, 40, .22), 0 1px 0 var(--c-linea);
  transition: opacity .2s var(--ease), transform .2s var(--ease), visibility 0s .2s; }
.mega--srv.is-abierto { transition-delay: 0s; }
.mega--srv .mega__in { padding-top: 26px; padding-bottom: 0; }
.msrv { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(16px, 1.6vw, 28px); }
.msrv__fam { min-width: 0; display: flex; flex-direction: column; }
@media (prefers-reduced-motion: no-preference) {
  .mega--srv .msrv__fam { opacity: 0; transform: translateY(8px); transition: opacity .32s var(--ease), transform .32s var(--ease); transition-delay: calc(var(--i) * 30ms); }
  .mega--srv.is-abierto .msrv__fam { opacity: 1; transform: none; }
}
.msrv__cab { position: relative; display: block; text-decoration: none; color: var(--blanco); overflow: hidden; border-radius: 2px; isolation: isolate; }
.msrv__fotos { position: relative; display: block; aspect-ratio: 3 / 2; background: var(--arena); }
.msrv__fotos--sin { background: linear-gradient(135deg, var(--arena), var(--linea)); }
.msrv__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.0001);
  transition: opacity .45s var(--ease), transform 1.4s var(--ease), filter 1.4s var(--ease); }
.msrv__img.is-activa { opacity: 1; }
.msrv__img:not([src]) { visibility: hidden; }
.msrv__img { pointer-events: none; }
.msrv__cab::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(0deg, rgba(28, 29, 27, .9) 0%, rgba(28, 29, 27, .76) 30%, rgba(28, 29, 27, .34) 56%, rgba(28, 29, 27, 0) 78%); }
.msrv__tit { text-shadow: 0 1px 12px rgba(28, 29, 27, .45); }
.msrv__tit { position: absolute; left: 14px; right: 14px; bottom: 12px; z-index: 2; display: grid; gap: 3px; }
.msrv__n { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: .95rem; letter-spacing: .08em; color: var(--blanco); opacity: .9; }
.msrv__nom { font-family: var(--f-marca); font-weight: 700; font-size: .95rem; line-height: 1.22; color: var(--blanco); text-wrap: balance; }
@media (hover: hover) and (pointer: fine) {
  .msrv__fam:hover .msrv__img { filter: saturate(1.12); }
  .msrv__cab:hover .msrv__nom { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .msrv__fam:hover .msrv__img { transform: scale(1.04); }
}
.msrv__fam:focus-within .msrv__img { filter: saturate(1.12); }
.msrv__cifra { margin: 16px 0 10px; display: grid; gap: 4px; min-height: 4.4em; align-content: start; }
.msrv__cifra b { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: clamp(1.6rem, .9rem + 1.05vw, 2.25rem); line-height: .95; letter-spacing: -.01em; color: var(--c-titulo); white-space: nowrap; }
.msrv__cifra b i { font-style: normal; color: var(--verde-sobre-claro); margin-right: .04em; }
.msrv__cifra b small { font-size: .5em; font-weight: 500; color: var(--verde-sobre-claro); margin-left: .12em; vertical-align: .55em; }
.msrv__cifra > span { font-size: .8125rem; line-height: 1.35; color: var(--c-texto-2); }
.msrv__cifra--sello b { font-family: var(--f-marca); font-weight: 700; font-size: 1rem; line-height: 1.22; white-space: normal; letter-spacing: -.005em; }
.msrv__rubros { list-style: none; margin: 0 0 26px; padding: 0; border-top: 1px solid var(--c-linea); }
.msrv__rubros li { border-bottom: 1px solid var(--c-linea); }
.msrv__rubros a { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; padding: 8px 0;
  font-size: .9375rem; line-height: 1.3; color: var(--c-texto); text-decoration: none; }
.msrv__rubros a span { background: linear-gradient(var(--brand-green), var(--brand-green)) 0 100% / 0 1px no-repeat; padding-bottom: 2px; transition: background-size .3s var(--ease); }
.msrv__rubros a::after { content: ""; flex: none; width: 15px; height: 10px; background: var(--verde-sobre-claro); opacity: 0; transform: translateX(-6px);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5h13M10 1.5L13.5 5 10 8.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 5h13M10 1.5L13.5 5 10 8.5' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: opacity .25s var(--ease), transform .25s var(--ease); }
.msrv__rubros a:hover, .msrv__rubros a:focus-visible { color: var(--c-acento-txt); }
.msrv__rubros a:hover span, .msrv__rubros a:focus-visible span { background-size: 100% 1px; }
.msrv__rubros a:hover::after, .msrv__rubros a:focus-visible::after { opacity: 1; transform: none; }
.msrv__pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 40px;
  margin-top: 2px; padding: 16px 0 20px; border-top: 1px solid var(--c-linea); }
.msrv__links { display: flex; flex-wrap: wrap; gap: 4px 32px; }
.msrv__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; }
.msrv__cta p { margin: 0; font-family: var(--f-marca); font-weight: 600; font-size: .95rem; color: var(--c-titulo); }
.msrv__cta .boton { min-height: 44px; }
.msrv__tel { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1.125rem;
  letter-spacing: .01em; color: var(--c-titulo); text-decoration: none; }
.msrv__tel svg { width: 18px; height: 18px; color: var(--verde-sobre-claro); }
.msrv__tel:hover span { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--brand-green); }
@media (max-width: 1279px) {
  .msrv { gap: 14px; }
  .msrv__nom { font-size: .8125rem; }
  .msrv__rubros a { font-size: .875rem; }
}
.mm__fams { display: grid; gap: 10px; padding: 4px 0 6px; }
.mm__fam { padding: 0; }
.mm__fam-b { position: relative; display: block; width: 100%; height: 110px; padding: 0; border: 0; border-radius: 2px; overflow: hidden; cursor: pointer;
  background: var(--arena); color: var(--blanco); text-align: left; font: inherit; isolation: isolate; -webkit-tap-highlight-color: transparent; }
.mm__fam-foto { position: absolute; inset: 0; z-index: -2; }
.mm__fam-foto--sin { background: linear-gradient(135deg, #4A4943, #2E2F2B); }
.mm__fam-img { width: 100%; height: 100%; object-fit: cover; }
.mm__fam-img:not([src]) { visibility: hidden; }
.mm__fam-b::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(0deg, rgba(28, 29, 27, .72) 0%, rgba(28, 29, 27, .3) 60%, rgba(28, 29, 27, 0) 100%),
              linear-gradient(90deg, rgba(28, 29, 27, .82) 0%, rgba(28, 29, 27, .55) 55%, rgba(28, 29, 27, .25) 100%); }
.mm__fam-tit { text-shadow: 0 1px 10px rgba(28, 29, 27, .45); }
.mm__fam-tit { position: absolute; left: 16px; right: 52px; bottom: 14px; display: grid; gap: 2px; }
.mm__fam-tit b { font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 1rem; letter-spacing: .08em; color: var(--blanco); opacity: .9; }
.mm__fam-tit span { font-family: var(--f-marca); font-weight: 700; font-size: 1.0625rem; line-height: 1.2; color: var(--blanco); }
.mm__fam-b > svg { position: absolute; right: 16px; bottom: 18px; width: 14px; height: 14px; color: var(--blanco); transition: transform .3s var(--ease); }
.mm__fam-b[aria-expanded="true"] > svg { transform: rotate(180deg); }
.mm__fpanel .mm__fam-c { margin: 12px 0 2px; }
.mm__fpanel .mm__sub a { padding-left: 4px; min-height: 44px; border-bottom: 1px solid var(--c-linea); }
.mm__fpanel .mm__sub a.mm__sub-fam { color: var(--c-acento-txt); font-family: var(--f-marca); font-weight: 600; font-size: .9375rem; border-bottom: 0; }
.mm__sub--todos { padding: 6px 0 10px; }
.mm__sub--todos a { padding-left: 0; color: var(--c-acento-txt); font-family: var(--f-marca); font-weight: 600; }
.pie { position: relative; isolation: isolate; }
.pie__fondo { position: absolute; left: 0; right: 0; bottom: 0; height: clamp(260px, 36vw, 520px); z-index: -1; pointer-events: none; overflow: hidden; }
.pie__fondo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 42%; opacity: .62;
  -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .55) 32%, #000 62%);
  mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .55) 32%, #000 62%); }
.pie__fondo::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 150px;
  background: linear-gradient(0deg, rgba(52, 53, 47, .93) 0%, rgba(52, 53, 47, .82) 45%, rgba(52, 53, 47, 0) 100%); }
.pie__marca { position: relative; color: rgba(221, 216, 206, .07); }
.pie__denuncia .denuncia, .pie__denuncia > * { background-color: rgba(52, 53, 47, .78); }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .pie__fondo img { animation: pie-paralaje linear both; animation-timeline: view(); animation-range: entry 0% cover 60%; }
    @keyframes pie-paralaje { from { transform: translateY(24px) scale(1.04); } to { transform: none; } }
  }
}
.pie__fondo img { opacity: .55; }
@media (max-width: 767px) {
  .pie__fondo { height: 132px; }
  .pie__fondo img { opacity: .55; -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .45) 34%, #000 72%); mask-image: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .45) 34%, #000 72%); }
  .pie__fondo::after { display: none; }
}
@media (max-width: 480px) {
  .ctc-ini .botones .boton { white-space: nowrap; font-size: .8125rem; letter-spacing: .06em; padding-inline: 16px; gap: 8px; }
}
@media (max-width: 400px) { .ctc-ini .botones .boton { font-size: .75rem; letter-spacing: .03em; padding-inline: 14px; } .ctc-ini .botones .boton::after { display: none; } }
@media (max-width: 359px) { .ctc-ini .botones .boton { white-space: normal; text-align: center; } }
@media (min-width: 900px) { .mand-ini .muro__cab { grid-template-columns: minmax(0, 1fr); align-items: start; gap: 22px; } }
.heroe.heroe--inicio:not(.heroe--tipo) .heroe__velo { background:
  linear-gradient(180deg, rgba(28, 29, 27, .5) 0%, rgba(28, 29, 27, 0) 18%),
  radial-gradient(ellipse 60% 52% at 24% 60%, rgba(28, 29, 27, .64) 0%, rgba(28, 29, 27, .4) 50%, rgba(28, 29, 27, 0) 86%),
  linear-gradient(0deg, rgba(28, 29, 27, .55) 0%, rgba(28, 29, 27, 0) 24%); }
@media (max-width: 899px) { .heroe.heroe--inicio:not(.heroe--tipo) .heroe__velo { background:
  linear-gradient(180deg, rgba(28, 29, 27, .48) 0%, rgba(28, 29, 27, .32) 18%, rgba(28, 29, 27, .42) 42%, rgba(28, 29, 27, .58) 70%, rgba(28, 29, 27, .74) 100%); } }
.heroe--inicio .heroe__medio video, .heroe--inicio .heroe__medio img { filter: saturate(1.14) contrast(1.03); }
.heroe--inicio h1 { text-shadow: 0 2px 18px rgba(28, 29, 27, .55), 0 1px 3px rgba(28, 29, 27, .35); }
.heroe--inicio .heroe__bajada, .heroe--inicio .heroe__leyenda li { text-shadow: 0 1px 10px rgba(28, 29, 27, .7), 0 1px 2px rgba(28, 29, 27, .5); }
.heroe.heroe--inicio .fams { background: rgba(28, 29, 27, .52); -webkit-backdrop-filter: blur(10px) saturate(1.1); backdrop-filter: blur(10px) saturate(1.1); }
.ger__b { min-width: 0; white-space: nowrap; }
.ger__b span { overflow: hidden; text-overflow: clip; }
@media (max-width: 699px) {
  .ger__acc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ger__b:first-child { grid-column: 1 / -1; }
}
@media (min-width: 900px) { .heroe--inicio .boton--linea { background: rgba(28, 29, 27, .32); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); } }
.cab--sobre:not(.is-solida) .nav__link, .cab--sobre:not(.is-solida) .marca { text-shadow: 0 1px 8px rgba(28, 29, 27, .55); }
@media (max-width: 899px) {
  .heroe__leyenda li { right: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .heroe__leyenda b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .heroe__leyenda b { font-size: .65rem; letter-spacing: .1em; }
  .heroe--inicio .heroe__cuerpo { padding-bottom: calc(112px + env(safe-area-inset-bottom)); }
}
.heroe--inicio.con-clima .heroe__medio video, .heroe--inicio.con-clima .heroe__medio img {
  filter: saturate(var(--cl-sat, 1.14)) contrast(var(--cl-con, 1.03)) brightness(var(--cl-bri, 1)) sepia(var(--cl-sep, 0));
  transition: opacity .6s var(--ease-ui), filter 2.6s var(--ease-ui); }
.clima-capa { position: absolute; inset: 0; z-index: -2; pointer-events: none; opacity: 0; transition: opacity 2.6s var(--ease-ui); }
.clima-capa--tono { transition: opacity 2.6s var(--ease-ui), background-color 2.6s var(--ease-ui); }
.clima-capa--vineta { background: radial-gradient(ellipse 90% 80% at 50% 42%, rgba(16, 26, 46, 0) 48%, rgba(16, 26, 46, .5) 100%); }
.clima-capa--ruido { overflow: hidden; }
.clima-mov { position: absolute; left: 0; top: 0; will-change: transform; }
.clima-mov canvas { display: block; transform-origin: 0 0; }
.clima-capa--sol { inset: auto; width: 0; height: 0; }
.clima-capa--sol canvas { position: absolute; left: -128px; top: -128px; width: 256px; height: 256px; transform-origin: 50% 50%; }
.clima-capa--flare { inset: auto; left: 0; width: 100%; height: 2px; margin-top: -1px;
  background: linear-gradient(90deg, rgba(170, 196, 255, 0) 0%, rgba(176, 200, 255, .1) calc(var(--sx, 86%) - 40%), rgba(214, 228, 255, .55) calc(var(--sx, 86%) - 6%),
    rgba(255, 250, 238, .9) var(--sx, 86%), rgba(214, 228, 255, .5) calc(var(--sx, 86%) + 5%), rgba(176, 200, 255, 0) calc(var(--sx, 86%) + 22%));
  border-radius: 50%; }
.clima-capa--lienzo { width: 100%; height: 100%; }
.clima-rot { position: absolute; z-index: 3; top: calc(var(--cab-alto) + env(safe-area-inset-top) + 8px); right: max(var(--g), calc((100% - 1600px) / 2 + var(--g)));
  max-width: calc(100% - 2 * var(--g)); opacity: 0; transform: translateY(-6px); transition: opacity 1s var(--ease-ui), transform 1s var(--ease); }
.clima-rot.is-visible { opacity: 1; transform: none; }
.clima-rot.is-izq { right: auto; left: var(--g); }
@media (min-width: 1280px) { .clima-rot.is-izq { left: calc(var(--rail) + var(--g)); } }
.clima-rot.is-oculto { display: none; }
.clima-rot.is-corto .clima-rot__e, .clima-rot.is-corto .clima-rot__s--e { display: none; }
.clima-rot__b { position: relative; display: flex; align-items: center; gap: 8px; max-width: 100%; height: 30px; margin: 0; padding: 0 14px 0 10px; border-radius: 15px;
  border: 1px solid rgba(221, 216, 206, .3); background: rgba(28, 29, 27, .34); -webkit-backdrop-filter: blur(12px) saturate(1.15); backdrop-filter: blur(12px) saturate(1.15);
  color: var(--blanco); font-family: var(--f-marca); font-weight: 600; font-size: .625rem; line-height: 1; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap;
  text-shadow: 0 1px 6px rgba(28, 29, 27, .5); cursor: pointer; touch-action: manipulation; transition: background-color .25s var(--ease-ui), border-color .25s var(--ease-ui); }
.clima-rot__b::before { content: ""; position: absolute; inset: -7px -4px; }
@media (hover: hover) and (pointer: fine) { .clima-rot__b:hover { background: rgba(28, 29, 27, .5); border-color: rgba(221, 216, 206, .5); } }
.clima-rot__b[aria-expanded="true"] { background: rgba(28, 29, 27, .56); border-color: rgba(221, 216, 206, .5); }
.clima-rot__ic { display: grid; place-items: center; flex: none; width: 16px; height: 16px; }
.clima-rot__ic svg { width: 16px; height: 16px; }
.clima-rot__c { min-width: 0; max-width: 16ch; overflow: hidden; text-overflow: ellipsis; }
.clima-rot__s { opacity: .55; }
.clima-rot__t { font-family: var(--f-numero); font-weight: 600; font-size: .8125rem; letter-spacing: .02em; font-variant-numeric: tabular-nums; }
.clima-rot__e { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 389px) { .clima-rot__b { gap: 6px; padding: 0 12px 0 9px; letter-spacing: .1em; } }
.clima-menu { position: absolute; right: 0; top: calc(100% + 8px); width: max-content; min-width: 236px; max-width: calc(100vw - 2 * var(--g)); padding: 6px; border-radius: 12px;
  background: rgba(36, 37, 34, .96); border: 1px solid rgba(221, 216, 206, .22); -webkit-backdrop-filter: blur(16px) saturate(1.1); backdrop-filter: blur(16px) saturate(1.1);
  box-shadow: 0 18px 40px -16px rgba(28, 29, 27, .7); color: var(--blanco); text-transform: none; letter-spacing: 0; }
.clima-rot.is-izq .clima-menu { right: auto; left: 0; }
.clima-menu[hidden] { display: none; }
.clima-menu button { display: flex; align-items: center; gap: 10px; width: 100%; min-height: var(--toque); padding: 0 12px; border: 0; border-radius: 8px; background: transparent;
  color: inherit; font-family: var(--f-marca); font-weight: 600; font-size: .8125rem; line-height: 1.2; letter-spacing: .02em; text-align: left; cursor: pointer; touch-action: manipulation; }
.clima-menu button:focus-visible { outline: 2px solid var(--brand-green); outline-offset: -2px; }
@media (hover: hover) and (pointer: fine) { .clima-menu button:hover { background: rgba(221, 216, 206, .1); } }
.clima-menu button[aria-current="true"]::after { content: ""; flex: none; margin-left: auto; width: 6px; height: 6px; border-radius: 50%; background: var(--brand-green); }
.clima-menu svg { width: 17px; height: 17px; flex: none; opacity: .85; }
.clima-menu__nota { margin: 4px 12px; max-width: 30ch; font-size: .8125rem; line-height: 1.4; color: rgba(233, 228, 218, .82); }
.clima-menu__nota:empty { display: none; }
.clima-menu__fuente { margin: 2px 12px 6px; padding-top: 8px; border-top: 1px solid rgba(221, 216, 206, .14); font-size: .75rem; color: rgba(233, 228, 218, .62); }
.clima-menu__fuente a { color: inherit; text-underline-offset: 2px; }
.clima-frente { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; pointer-events: none; }
.clima-destello { position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0; mix-blend-mode: screen;
  background: radial-gradient(ellipse 120% 95% at var(--fx, 70%) 0%, rgba(232, 238, 255, .95) 0%, rgba(206, 216, 255, .45) 45%, rgba(190, 204, 255, .12) 100%); }
.heroe.clima-claro .clima-capa--nubes, .heroe.clima-claro .clima-capa--niebla {
  -webkit-mask-image: radial-gradient(circle at var(--cl-x) var(--cl-y), rgba(0, 0, 0, .12) 0, rgba(0, 0, 0, .12) calc(var(--cl-r) * .3), #000 var(--cl-r));
  mask-image: radial-gradient(circle at var(--cl-x) var(--cl-y), rgba(0, 0, 0, .12) 0, rgba(0, 0, 0, .12) calc(var(--cl-r) * .3), #000 var(--cl-r)); }
@media print { .clima-capa, .clima-rot, .clima-frente, .clima-destello { display: none !important; } }
.juego-inv .ji { display: grid; gap: clamp(28px, 4vw, 72px); align-items: start; }
@media (min-width: 900px) {
  .juego-inv .ji { grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.15fr); }
  .ji__img { position: sticky; top: calc(var(--cab-alto) + 32px); margin-top: clamp(56px, 6vw, 120px); }
}
.juego-inv .tit--ante { display: block; }
.ji__sub { margin: clamp(26px, 2.4vw, 36px) 0 12px; font-family: var(--f-marca); font-weight: 600; font-size: var(--t-rotulo); letter-spacing: var(--ls-rotulo); text-transform: uppercase; color: var(--c-rotulo); }
.ji__pasos { counter-reset: jp; list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; max-width: 52ch; }
.ji__pasos li { counter-increment: jp; display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: baseline; font-size: var(--t-m); line-height: 1.45; color: var(--c-texto); }
.ji__pasos li::before { content: counter(jp, decimal-leading-zero); font-family: var(--f-numero); font-weight: var(--w-numero); font-size: 0.95em; color: var(--c-acento-txt); font-variant-numeric: tabular-nums; }
.ji__pasos b { font-weight: 600; color: var(--c-titulo); }
.ji__datos { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; }
.ji__datos li { padding: 7px 12px; border: 1px solid var(--c-linea-fuerte); border-radius: 999px; font-size: var(--t-s); line-height: 1.2; color: var(--c-texto-2); }
.juego-inv .botones { margin-top: clamp(24px, 2.4vw, 34px); }
.ji__img { position: relative; display: block; overflow: hidden; border-radius: 14px; aspect-ratio: 16 / 10; background: var(--negro-mate);
  box-shadow: 0 34px 70px -34px rgba(28, 29, 27, 0.6), 0 0 0 1px rgba(28, 29, 27, 0.08); }
.ji__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--ease-ui); }
.ji__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 10px; padding: 15px 24px 15px 20px;
  border-radius: 999px; background: var(--verde-boton); color: var(--blanco); font-family: var(--f-marca); font-weight: 700; font-size: 13px; letter-spacing: 0.18em; text-transform: uppercase;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35), 0 0 0 8px rgba(30, 138, 85, 0.22); transition: transform 0.3s var(--ease-ui), box-shadow 0.3s var(--ease-ui); }
.ji__sello { position: absolute; right: 12px; bottom: 12px; padding: 5px 9px; border-radius: 6px; background: rgba(28, 29, 27, 0.72); color: rgba(255, 255, 255, 0.9);
  font-family: var(--f-marca); font-weight: 600; font-size: 10.5px; letter-spacing: 0.16em; text-transform: uppercase; }
@media (hover: hover) and (pointer: fine) {
  .ji__img:hover img { transform: scale(1.035); }
  .ji__img:hover .ji__play { transform: translate(-50%, -50%) scale(1.06); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.4), 0 0 0 12px rgba(30, 138, 85, 0.26); }
}
.ji__img:focus-visible { outline: 3px solid var(--c-foco); outline-offset: 4px; }
@media (max-width: 899px) { .ji__img { order: -1; } }
@media (max-width: 699px) { .juego-inv .botones { flex-direction: column; align-items: stretch; gap: 8px; } .ji__pasos li { font-size: var(--t-s); } }
@media (prefers-reduced-motion: reduce) { .ji__img img, .ji__play { transition: none; } }
.cl-cab--juego { max-width: none; display: grid; gap: clamp(28px, 4vw, 64px); align-items: start; }
.cl-cab--juego .cl-cab__txt { max-width: 62ch; }
@media (min-width: 1100px) { .cl-cab--juego { grid-template-columns: minmax(0, 1fr) minmax(0, 500px); } }
.simx { position: relative; overflow: hidden; border-radius: 14px; color: var(--blanco);
  background: rgba(22, 23, 21, 0.74); border: 1px solid rgba(233, 228, 218, 0.16);
  -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1);
  box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.75); }
.simx__media { position: relative; }
.simx__img { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #E6DED0; }
.simx__img > img, .simx__img > video { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.simx__nuevo, .simx__sello { position: absolute; top: 12px; padding: 6px 9px 5px; border-radius: 4px; font-family: var(--f-marca); font-weight: 700;
  font-size: 10.5px; line-height: 1; letter-spacing: 0.18em; text-transform: uppercase; }
.simx__nuevo { left: 12px; background: var(--verde-boton); color: #fff; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22); }
.simx__sello { right: 12px; background: rgba(28, 29, 27, 0.78); color: rgba(255, 255, 255, 0.92); font-weight: 600; }
.simx__nuevo--linea { position: static; display: inline-block; margin-right: 10px; vertical-align: 1px; padding: 5px 7px 4px; font-size: 10px; }
.simx__play { position: absolute; z-index: 2; left: clamp(18px, 1.8vw, 26px); bottom: -22px; display: inline-flex; align-items: center; gap: 9px;
  height: 44px; padding: 0 20px 0 16px; border-radius: 999px; background: var(--verde-boton); color: #fff; text-decoration: none;
  font-family: var(--f-marca); font-weight: 700; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.38); transition: transform 0.3s var(--ease-ui), box-shadow 0.3s var(--ease-ui); }
.simx__play::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; animation: simx-late 2.8s var(--ease-ui) infinite; }
@keyframes simx-late { 0% { box-shadow: 0 0 0 0 rgba(17, 128, 79, 0.45); } 70%, 100% { box-shadow: 0 0 0 12px rgba(17, 128, 79, 0); } }
.simx__pausa { position: absolute; z-index: 2; right: 10px; bottom: 10px; width: 34px; height: 34px; display: grid; place-items: center; padding: 0;
  border: 0; border-radius: 50%; background: rgba(28, 29, 27, 0.62); color: #fff; cursor: pointer; }
.simx__pausa .i-play, .simx__pausa[aria-pressed="true"] .i-pausa { display: none; }
.simx__pausa[aria-pressed="true"] .i-play { display: block; }
.simx__pausa:focus-visible, .simx__ad button:focus-visible { outline: 3px solid var(--c-foco); outline-offset: 2px; }
.simx__in { padding: 36px clamp(20px, 1.9vw, 28px) clamp(22px, 2vw, 28px); }
.simx__k { margin: 0 0 8px; font-family: var(--f-marca); font-weight: 600; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--verde-sobre-oscuro); }
.simx__t { margin: 0; font-family: var(--f-titular); font-weight: 700; font-size: clamp(1.5rem, 1.15rem + 1vw, 2rem); line-height: 1.08;
  letter-spacing: var(--ls-titular); color: var(--blanco); text-wrap: balance; }
.simx__d { margin: 10px 0 0; font-size: var(--t-m); line-height: 1.5; color: rgba(233, 228, 218, 0.86); max-width: 46ch; text-wrap: pretty; }
.simx__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 22px; }
.simx__nota { margin: 0; font-size: var(--t-xs); line-height: 1.4; color: rgba(233, 228, 218, 0.64); }
.simx__etapas { list-style: none; counter-reset: et; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; margin: 20px 0 0; padding: 0; }
.simx__etapas li { counter-increment: et; position: relative; padding-top: 10px; font-size: 12.5px; line-height: 1.2; color: rgba(233, 228, 218, 0.8); }
.simx__etapas li::before { content: counter(et, decimal-leading-zero); display: block; margin-bottom: 3px; font-family: var(--f-cifra); font-weight: 600;
  font-size: 13px; line-height: 1; color: var(--verde-sobre-oscuro); }
.simx__etapas li::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: rgba(233, 228, 218, 0.18);
  background-image: linear-gradient(var(--verde-sobre-oscuro), var(--verde-sobre-oscuro)); background-repeat: no-repeat; background-size: 100% 100%; }
.simx.is-anima .simx__etapas li::after { background-size: 0% 100%; }
.simx.is-anima.is-vista .simx__etapas li::after { background-size: 100% 100%; transition: background-size 0.5s var(--ease-ui); }
.simx.is-anima.is-vista .simx__etapas li:nth-child(2)::after { transition-delay: 0.35s; }
.simx.is-anima.is-vista .simx__etapas li:nth-child(3)::after { transition-delay: 0.7s; }
.simx.is-anima.is-vista .simx__etapas li:nth-child(4)::after { transition-delay: 1.05s; }
.simx.is-anima.is-vista .simx__etapas li:nth-child(5)::after { transition-delay: 1.4s; }
@media (hover: hover) and (pointer: fine) {
  .simx__media:hover .simx__play { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.45); }
  .simx__media:hover .simx__img > video, .simx__media:hover .simx__img > img { filter: saturate(1.08) contrast(1.03); }
}
.simx__img > img, .simx__img > video { transition: filter 0.4s var(--ease-ui); }
@media (max-width: 699px) {
  .simx__in { padding: 34px 20px 22px; }
  .simx__d { font-size: var(--t-s); }
  .simx__etapas { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 16px; }
  .simx__etapas li { display: inline-flex; align-items: baseline; gap: 5px; padding-top: 0; font-size: 13px; }
  .simx__etapas li::before { display: inline; margin: 0; font-size: 12px; }
  .simx__etapas li::after { display: none; }
  .simx__pie { margin-top: 18px; }
  .simx__pie .boton { width: 100%; justify-content: center; }
  .simx__nota { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .simx__play::before { animation: none; }
  .simx__play, .simx__img > img, .simx__img > video { transition: none; }
}
