/*
 * landing.css — GENERADO por tools/build-landing-css.py.
 * No editar a mano: cualquier cambio se pierde al regenerar.
 * Medidas extraídas de landing_saritja_def.pdf.
 */

:root {
	--c-tinta: #282829;
	--c-tinta-2: #353234;
	--c-terracota: #c07f63;
	--c-salvia: #8e9884;
	--c-crema: #f7f4ed;
	--c-hueso: #fdfbf7;
	--c-menta: #c1d7d3;
	--c-gris: #878f8c;
	--c-gris-txt: #707875;
	--c-terra-txt: #ab6445;
	--c-pizarra: #44484c;
	--c-blanco: #ffffff;
	--lienzo: 1440px;
}


/* ── Fuentes del diseño, auto-alojadas ─────────────────────────────── */
@font-face{font-family:'Playfair Display';src:url('../fonts/PlayfairDisplay-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../fonts/PlayfairDisplay-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../fonts/PlayfairDisplay-MediumItalic.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('../fonts/PlayfairDisplay-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fonts/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Minion Pro';src:url('../fonts/MinionPro-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ── Base ──────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--c-blanco);color:var(--c-tinta);
     font-family:Montserrat,Helvetica,Arial,sans-serif;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2{margin:0;font-weight:400}
ul{list-style:none;margin:0;padding:0}

/* ══════════════════════════════════════════════════════════════════════
   Capa de flujo. Es la que manda por debajo de 1440 px: los bloques caen
   en vertical, sin desbordamiento. El lienzo pixel perfect del diseño
   vive en el @media (min-width:1440px) del final y sólo se aplica allí.
   ══════════════════════════════════════════════════════════════════════ */
.landing{position:relative;width:100%;overflow-x:hidden}
.landing > section{position:relative;width:100%;
  display:flex;flex-direction:column;align-items:center;
  padding:clamp(48px,7vw,96px) clamp(20px,5vw,48px);gap:clamp(22px,3vw,36px)}
.landing > section > *{width:100%;max-width:820px}

.landing [class*="__media"],.s-loc__mapa,.s-video__marco{width:100%;overflow:hidden}
.landing [class*="__media"] img,.s-video__marco img{width:100%;height:auto;object-fit:cover}
.s-loc__mapa img,.s-mat__tira-img img,.s-stats__icono img{width:100%;height:auto;object-fit:contain}

/* Tipografía fluida. */
.s-hero__titulo{font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(34px,7vw,61px);line-height:1.09;color:var(--c-blanco)}
.s-hero__titulo-1{font-weight:700;display:block}
.s-hero__titulo-2{display:block}
.s-story__titulo,.s-arch__titulo,.s-int__titulo,.s-priv__titulo,.s-out__titulo,
.s-mat__titulo,.s-loc__titulo,.s-sharing__titulo{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(26px,4.6vw,45px);line-height:1.2;color:var(--c-tinta-2)}
.s-story__destacado,.s-arch__pie,.s-mat__pie{font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(18px,2.8vw,27px);line-height:1.25;color:var(--c-terracota)}
.s-hero__sub,.s-sharing__sub,.s-out__cuerpo{font-size:clamp(15px,2.2vw,19px);line-height:1.5}
.s-story__cuerpo,.s-arch__cuerpo,.s-int__cuerpo,.s-priv__cuerpo,
.s-sharing__tarjeta-texto,.s-mat__cuerpo,.s-out__dato-texto{
  font-size:clamp(14px,1.9vw,15.8px);line-height:1.72}
.s-story__cuerpo p + p,.s-sharing__tarjeta-texto p + p,.s-arch__cuerpo p + p,
.s-priv__cuerpo p + p,.s-int__cuerpo p + p,.s-mat__cuerpo p + p{margin-top:1.15em}
.s-cta__titulo{font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(18px,3vw,28px);line-height:1.35;text-align:center}
.s-int__nota-texto{font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(14px,2vw,16.1px);line-height:1.5}

/* Rótulo NN / SECCIÓN */
.eyebrow{display:block;font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(11px,1.5vw,13.5px);letter-spacing:.26em;color:var(--c-terracota)}
.eyebrow__sep{margin:0 .35em}

/* Filetes */
.s-story__rule,.s-priv__rule,.s-out__dato-rule,.s-int__rule,.s-mat__tira-rule{
  display:block;height:1px;background:currentColor;opacity:.5;width:100%;max-width:130px}
.s-int__rule{max-width:423.5px;margin-top:10px}
.s-priv__rule,.s-out__dato-rule{background:var(--c-blanco);max-width:291px}

/* Cifras */
.s-stats__lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:36px 12px;text-align:center;width:100%}
.s-stats__icono{display:block;height:72px;margin:0 auto 20px}
.s-stats__icono img{height:100%;width:auto;margin:0 auto}
.s-stats__valor{font-family:'Playfair Display',Georgia,serif;font-weight:700;
  font-size:clamp(22px,3.4vw,34.7px);line-height:1.2;color:var(--c-tinta)}
.s-stats__rule{display:block;width:33px;height:1px;background:var(--c-tinta);
  opacity:.5;margin:16px auto}
.s-stats__etiqueta{font-size:9.6px;letter-spacing:.23em;text-indent:.23em;color:var(--c-tinta)}

/* Vídeo */
.s-video__marco{display:block;position:relative;text-decoration:none}
.s-video__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:clamp(52px,9vw,89.16px);pointer-events:none}
.s-video__play svg{width:100%;height:auto}
.s-video__boton,.s-cta__boton{display:flex;align-items:center;justify-content:center;
  text-decoration:none;cursor:pointer;background:var(--c-blanco);color:var(--c-tinta);
  font-size:11.2px;letter-spacing:.25em;text-indent:.25em;white-space:nowrap;
  width:max-content;max-width:100%;padding:0 30px;margin:0 auto}
.s-video__boton{height:39px;border-radius:19.5px;
  box-shadow:8px 8px 8px rgba(0,0,0,.68)}
/* Gana a `.landing > section > *{width:100%}`: la píldora se ajusta al rótulo. */
.landing > section > .s-video__boton,.landing > section > .s-cta__boton{width:max-content}
.s-cta__boton{height:54px}
.s-cta__boton{font-family:'Playfair Display',Georgia,serif;font-size:12.1px}

/* Interiores / materiales */
.s-int__lema{font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(14px,2.2vw,18px);letter-spacing:.27em;color:var(--c-tinta-2)}
.s-mat__marcas{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.s-mat__marca{background:var(--c-crema);padding:28px 22px}
.s-mat__marca-nombre{font-size:13.5px;letter-spacing:.135em;color:var(--c-terracota);margin-bottom:14px}
.s-mat__marca-texto{font-family:'Playfair Display',Georgia,serif;font-size:15.1px;
  line-height:1.46;color:var(--c-tinta-2)}
.s-mat__tira{display:flex;align-items:center;gap:14px;width:100%}
.s-mat__tira-label{font-family:'Playfair Display',Georgia,serif;font-size:15.8px;
  color:var(--c-gris);white-space:nowrap}
/* En el modal y el pie el gris va sobre claro y necesita más contraste. */
.modal__cuerpo label{color:var(--c-gris-txt)}
.s-mat__tira-rule{flex:1;max-width:none;background:var(--c-gris);opacity:.6}

/* Ubicación */
.s-loc__lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px 16px}
.s-loc__item{display:flex;align-items:flex-start;gap:17px}
.s-loc__marca{flex:0 0 37.03px;height:37.07px;border-radius:50%;background:var(--c-pizarra);
  color:var(--c-blanco);display:flex;align-items:center;justify-content:center;
  font-family:'Minion Pro',Georgia,serif;font-weight:700;font-size:19.4px}
/* Avión y chincheta son SVG del propio diseño: sin círculo dibujado por CSS. */
.s-loc__item--avion .s-loc__marca,.s-loc__item--pin .s-loc__marca{background:none;
  border-radius:0;display:block}
.s-loc__item--avion .s-loc__marca{flex:0 0 37.03px;height:37.07px}
.s-loc__item--pin .s-loc__marca{flex:0 0 33.18px;height:50.43px;margin-left:1.93px}
.s-loc__marca svg{width:100%;height:100%}
.s-loc__nombre,.s-loc__tiempo{display:block;font-family:'Playfair Display',Georgia,serif;
  font-weight:500;font-size:clamp(16px,2.6vw,21.3px);line-height:1.2;color:var(--c-tinta-2)}
.s-loc__nombre{font-style:italic}
.s-loc__notas{font-size:clamp(14px,2.2vw,18.9px);line-height:1.2}
.s-loc__notas p{margin:0 0 18px;text-indent:-10px;padding-left:10px}
.s-loc__notas p::before{content:"· "}
.s-loc__panel{background:var(--c-menta);padding:clamp(28px,5vw,48px)}

/* Bandas de color y secciones con imagen a sangre, en modo flujo. */
.s-video,.s-priv{background:var(--c-salvia);color:var(--c-blanco)}
.s-arch{background:var(--c-crema)}
.s-int{background:var(--c-hueso)}
.s-video__banda{display:none}
.s-hero,.s-sharing,.s-out,.s-cta{padding:clamp(56px,9vw,110px) clamp(20px,5vw,48px)}
.s-hero__media,.s-sharing__media,.s-out__media,.s-cta__media{position:absolute;inset:0;
  width:100%;height:100%}
.landing .s-hero__media img,.landing .s-sharing__media img,
.landing .s-out__media img,.landing .s-cta__media img{
  width:100%;height:100%;object-fit:cover}

/* Los contenedores de texto reparten su propio aire vertical. */
.s-story__texto,.s-arch__texto,.s-arch__cabecera,.s-int__cabecera,.s-int__nota,
.s-priv__cabecera,.s-out__cabecera,.s-out__texto,.s-sharing__intro,.s-mat__izq,
.s-mat__der,.s-loc__izq,.s-cta__cuerpo,.s-cta__contacto,.s-priv__tarjeta,
.s-sharing__tarjeta,.s-out__dato,.s-loc__panel{
  display:flex;flex-direction:column;gap:clamp(14px,2.5vw,24px)}
.s-hero__media::after,.s-sharing__media::after,.s-out__media::after,.s-cta__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.10) 34%,rgba(0,0,0,.55) 100%)}
.s-hero > *:not(.s-hero__media),.s-sharing > *:not(.s-sharing__media),
.s-out > *:not(.s-out__media),.s-cta > *:not(.s-cta__media){
  position:relative;z-index:1;color:var(--c-blanco)}
.s-sharing__tarjeta,.s-out__dato{background:rgba(0,0,0,.30);padding:clamp(24px,4vw,40px)}
.s-sharing__tarjeta-label,.s-out__dato-label{color:var(--c-blanco);letter-spacing:.22em}
.s-out__dato-valor{font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(30px,5vw,54px);line-height:1.2;color:var(--c-blanco)}
.s-priv__tarjeta{background:transparent}
.s-priv__titulo,.s-priv__cuerpo,.s-sharing__titulo,.s-out__titulo{color:var(--c-blanco)}
.s-priv .eyebrow,.s-sharing .eyebrow,.s-out .eyebrow{color:var(--c-blanco)}

/* Portada en flujo */
.s-hero{min-height:88svh;justify-content:flex-end;gap:0;padding-left:clamp(20px,5vw,48px)}
.s-hero__top{display:flex;flex-direction:column;align-items:center;gap:16px;
  margin-bottom:auto;padding-bottom:clamp(32px,8vw,64px)}
.s-hero__tag{font-size:9.5px;letter-spacing:.25em;color:var(--c-blanco)}
.s-hero__logo{width:clamp(150px,34vw,206px)}
.s-hero__logo svg,.s-hero__omega svg,.s-cta__logo svg,.s-cta__omega svg{width:100%;height:auto}
.s-hero__cuerpo{display:flex;flex-direction:column;gap:18px}
.s-hero__omega{width:clamp(210px,50vw,340px)}

/* Pie */
.s-cta__pie{display:flex;flex-direction:column;align-items:center;gap:26px;text-align:center}
.s-cta__logo{width:clamp(180px,40vw,248px)}
.s-cta__omega{width:clamp(180px,40vw,241px)}
.s-cta__lema{font-family:'Playfair Display',Georgia,serif;font-size:11.1px;
  letter-spacing:.30em;text-align:center;color:var(--c-blanco)}
.s-cta__direccion{font-size:15.8px;line-height:1.2;text-align:center}
.s-cta__linea{font-weight:300;font-size:10.5px;text-align:center}
.s-cta__linea a{text-decoration:none;margin:0 10px}
.s-cta__legal{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
  font-weight:300;font-size:11px;color:var(--c-blanco)}
.s-cta__legal a{text-decoration:none}

/* ══════════════════════════════════════════════════════════════════════
   Movimiento
   ══════════════════════════════════════════════════════════════════════
   Dos reglas de fondo:
   - Sólo se animan `opacity` y `transform`. Nada que provoque reflow, y nada
     que desplace el resultado final: al terminar, todo queda en su sitio
     exacto del diseño.
   - Todo el bloque está dentro de `prefers-reduced-motion: no-preference`.
     Quien haya pedido menos movimiento en su sistema ve la página quieta.
   ══════════════════════════════════════════════════════════════════════ */

:root{
  --curva:cubic-bezier(.22,.61,.36,1);
  /* Para el hover, una curva simétrica: arranca despacio y frena despacio. Una
     `ease-out` sale disparada en el primer fotograma y se siente brusca. */
  --curva-suave:cubic-bezier(.4,0,.2,1);
  --t-hover:.4s;
  --t-corta:.28s;
  --t-media:.55s;
  --t-larga:.9s;
}

/* ── Hover y foco ──────────────────────────────────────────────────── */
.s-video__boton,.s-cta__boton{transform:translateY(0);
  transition:transform var(--t-hover) var(--curva-suave),
             box-shadow var(--t-hover) var(--curva-suave)}
.s-video__boton:hover,.s-cta__boton:hover,
.s-video__boton:focus-visible,.s-cta__boton:focus-visible{transform:translateY(-2px)}
.s-video__boton:active,.s-cta__boton:active{transform:translateY(0)}
/* Con `.landing` delante: si no, la regla del lienzo (misma especificidad, más
   abajo en el archivo) se impone y la sombra del hover no llega a aplicarse.
   El botón del vídeo va centrado con `translateX(-50%)`, así que aquí hay que
   repetirlo: si no, al pasar el ratón se descoloca media anchura. */
.landing .s-video__boton:hover,.landing .s-video__boton:focus-visible{
  transform:translateX(-50%) translateY(-2px);box-shadow:10px 10px 11px rgba(0,0,0,.72)}
.landing .s-video__boton:active{transform:translateX(-50%) translateY(0)}
.landing .s-cta__boton:hover,.landing .s-cta__boton:focus-visible{
  box-shadow:0 8px 22px rgba(0,0,0,.28)}

/* Enlaces de texto: el subrayado aparece desde la izquierda. */
.s-cta__linea a,.s-cta__legal a,.cabecera__volver,.legal__contenido a{
  position:relative;text-decoration:none}
.s-cta__linea a::after,.s-cta__legal a::after,.legal__contenido a::after{
  content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform var(--t-corta) var(--curva)}
.s-cta__linea a:hover::after,.s-cta__legal a:hover::after,.legal__contenido a:hover::after,
.s-cta__linea a:focus-visible::after,.s-cta__legal a:focus-visible::after,
.legal__contenido a:focus-visible::after{transform:scaleX(1)}
.s-cta__legal a[aria-current="page"]::after{transform:scaleX(1)}

/* En el marco del vídeo sólo reacciona el icono: la foto se queda quieta. */
.s-video__play{transition:transform var(--t-hover) var(--curva-suave),opacity var(--t-corta) linear}
.s-video__img{transition:opacity var(--t-corta) linear}
.s-video__marco:hover .s-video__play,.s-video__marco:focus-visible .s-video__play{
  transform:translate(-50%,-50%) scale(1.07)}

.cabecera__logo{transition:opacity var(--t-corta) var(--curva)}
.cabecera__logo:hover,.cabecera__logo:focus-visible{opacity:.78}
.modal__cuerpo input[type="submit"]{
  transition:background var(--t-corta) var(--curva),transform var(--t-corta) var(--curva)}
.modal__cuerpo input[type="submit"]:hover{transform:translateY(-1px)}
.modal__cerrar svg{transition:transform var(--t-corta) var(--curva)}
.modal__cerrar:hover svg,.modal__cerrar:focus-visible svg{transform:rotate(90deg)}

/* Foco visible coherente en todo el sitio. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--c-terracota);outline-offset:3px}
.s-hero a:focus-visible,.s-sharing a:focus-visible,.s-out a:focus-visible,
.s-cta a:focus-visible,.cabecera a:focus-visible{outline-color:var(--c-blanco)}

/* ── Entrada al hacer scroll ───────────────────────────────────────── */
/* Sin JS no se oculta nada: las reglas cuelgan de `.js`, que añade el propio
   script antes del primer pintado. */
@keyframes saritja-funde{from{opacity:0}to{opacity:1}}
@keyframes saritja-sube{from{opacity:0;translate:0 26px}to{opacity:1;translate:none}}
@keyframes saritja-asienta{from{scale:1.045}to{scale:none}}

@media (prefers-reduced-motion: no-preference){
  /* Con @keyframes y no con `transition`: `transition` es una sola propiedad y
     esta regla, más específica que la del botón, le borraba la suya. Por eso el
     hover saltaba de golpe en vez de suavizarse. */
  .js [data-anima]{opacity:0}
  .js [data-anima].esta-dentro{
    animation:saritja-funde var(--t-larga) var(--curva) var(--retardo,0ms) both}
  .js [data-anima="sube"].esta-dentro{animation-name:saritja-sube}
  /* La imagen se asienta desde un leve acercamiento. */
  .js [data-anima="funde"].esta-dentro img{
    animation:saritja-asienta 1.4s var(--curva) var(--retardo,0ms) both}
  /* Terminada la entrada se retira la animación, para no dejar al elemento
     promocionado a capa propia: eso altera el suavizado del texto. */
  .js [data-anima].ha-entrado,.js [data-anima].ha-entrado img{
    animation:none;opacity:1;translate:none;scale:none}
}

/* ── Utilidades ────────────────────────────────────────────────────── */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ══════════════════════════════════════════════════════════════════════
   Vídeo diferido: el marco es un botón con la imagen estática; al pulsar,
   el JS inserta el reproductor dentro.
   ══════════════════════════════════════════════════════════════════════ */
button.s-video__marco{appearance:none;border:0;padding:0;background:none;
  font:inherit;color:inherit;cursor:pointer;width:100%}
.s-video__marco:focus-visible{outline:2px solid var(--c-blanco);outline-offset:4px}
.s-video__reproductor{position:absolute;inset:0;width:100%;height:100%;border:0;
  background:#000;object-fit:cover}
.s-video__marco.esta-activo .s-video__play,
.s-video__marco.esta-activo .s-video__img{opacity:0;pointer-events:none}

/* ══════════════════════════════════════════════════════════════════════
   Modal de contacto. Sin JS se abre con :target; con JS, con la clase.
   ══════════════════════════════════════════════════════════════════════ */
body.tiene-modal{overflow:hidden}
.modal{display:none;position:fixed;inset:0;z-index:100;
  align-items:center;justify-content:center;padding:clamp(16px,4vw,48px)}
.modal:target,.modal.esta-abierto{display:flex}
.modal__fondo{position:absolute;inset:0;background:rgba(40,40,41,.72);
  backdrop-filter:blur(3px);cursor:pointer}
.modal__caja{position:relative;width:100%;max-width:560px;max-height:calc(100vh - 2 * clamp(16px,4vw,48px));
  overflow-y:auto;background:var(--c-hueso);color:var(--c-tinta);
  padding:clamp(32px,5vw,56px) clamp(24px,4vw,56px);
  box-shadow:0 24px 70px rgba(0,0,0,.35)}
.modal__cerrar{position:absolute;top:14px;right:14px;width:40px;height:40px;
  display:flex;align-items:center;justify-content:center;color:var(--c-tinta-2);
  text-decoration:none;border-radius:50%;transition:background .18s ease}
.modal__cerrar:hover,.modal__cerrar:focus-visible{background:rgba(40,40,41,.07)}
.modal__cerrar svg{width:20px;height:20px}
.modal__titulo{font-family:'Playfair Display',Georgia,serif;font-size:clamp(20px,3vw,27px);
  line-height:1.2;color:var(--c-tinta-2);margin-bottom:8px}
.modal__titulo::after{content:"";display:block;width:64px;height:1px;
  background:var(--c-terracota);margin-top:18px}
.modal__cuerpo{margin-top:26px}

/* ── Contact Form 7 dentro del modal ───────────────────────────────── */
.modal__cuerpo p{margin:0 0 18px}
.modal__cuerpo label{display:block;font-size:10.5px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--c-gris-txt)}
.modal__cuerpo input[type="text"],.modal__cuerpo input[type="email"],
.modal__cuerpo input[type="tel"],.modal__cuerpo textarea{
  width:100%;margin-top:8px;padding:10px 2px;border:0;border-bottom:1px solid rgba(40,40,41,.28);
  background:none;font-family:Montserrat,Helvetica,Arial,sans-serif;font-size:15px;
  line-height:1.5;color:var(--c-tinta);border-radius:0;transition:border-color .18s ease}
.modal__cuerpo textarea{height:104px;min-height:104px;resize:vertical}
.modal__cuerpo input:focus,.modal__cuerpo textarea:focus{
  outline:none;border-bottom-color:var(--c-terracota)}
.modal__cuerpo .wpcf7-acceptance label,.modal__cuerpo .wpcf7-list-item label{
  display:flex;align-items:flex-start;gap:10px;font-size:12.5px;letter-spacing:0;
  text-transform:none;color:var(--c-tinta);line-height:1.5}
.modal__cuerpo .wpcf7-list-item{margin:0}
.modal__cuerpo input[type="checkbox"]{flex:0 0 16px;width:16px;height:16px;margin-top:2px;
  accent-color:var(--c-terracota)}
.modal__cuerpo input[type="submit"]{width:100%;margin-top:10px;padding:16px 24px;border:0;
  background:var(--c-tinta-2);color:var(--c-blanco);cursor:pointer;
  font-family:'Playfair Display',Georgia,serif;font-size:12.1px;letter-spacing:.166em;
  text-indent:.166em;text-transform:uppercase;transition:background .18s ease}
.modal__cuerpo input[type="submit"]:hover{background:var(--c-terracota)}
.modal__cuerpo .wpcf7-spinner{display:block;margin:12px auto 0}
.modal__cuerpo .wpcf7-not-valid-tip{margin-top:6px;font-size:12px;color:#b3261e}
.modal__cuerpo .wpcf7-response-output{margin:18px 0 0!important;padding:12px 14px!important;
  border:0!important;border-left:2px solid var(--c-terracota)!important;
  background:rgba(192,127,99,.10);font-size:13.5px;line-height:1.5}
.modal__cuerpo .wpcf7 form.sent .wpcf7-response-output{
  border-left-color:var(--c-salvia)!important;background:rgba(142,152,132,.14)}

@media (max-width: 640px){
  .s-loc__lista,.s-mat__marcas,.s-stats__lista{grid-template-columns:1fr}
  .eyebrow{white-space:normal}
}

/* ══════════════════════════════════════════════════════════════════════
   Páginas interiores (textos legales). Aquí no hay diseño que replicar:
   se usa la misma paleta y tipografía, en una columna legible.
   ══════════════════════════════════════════════════════════════════════ */
.cabecera{background:var(--c-tinta-2);color:var(--c-blanco)}
.cabecera__caja{max-width:1100px;margin:0 auto;padding:22px clamp(20px,5vw,48px);
  display:flex;align-items:center;justify-content:space-between;gap:24px}
.cabecera__logo{display:block;width:clamp(120px,22vw,168px);flex:0 0 auto}
.cabecera__logo svg{width:100%;height:auto}
.cabecera__volver{display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;
  opacity:.85;transition:opacity .18s ease}
.cabecera__volver:hover,.cabecera__volver:focus-visible{opacity:1}
.cabecera__volver svg{width:16px;height:16px}

.legal{max-width:1100px;margin:0 auto;padding:clamp(48px,7vw,96px) clamp(20px,5vw,48px)}
.legal__articulo{max-width:760px}
.legal__cabecera{margin-bottom:clamp(32px,5vw,56px)}
.legal__titulo{font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(30px,5vw,45px);line-height:1.18;color:var(--c-tinta-2)}
.legal__titulo::after{content:"";display:block;width:64px;height:1px;
  background:var(--c-terracota);margin-top:24px}
.legal__fecha{margin-top:20px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--c-gris-txt)}

.legal__contenido{font-size:15.8px;line-height:1.75;color:var(--c-tinta)}
.legal__contenido > * + *{margin-top:1.15em}
.legal__contenido h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(21px,3vw,27px);
  line-height:1.25;color:var(--c-tinta-2);margin-top:2em}
.legal__contenido h3{font-family:'Playfair Display',Georgia,serif;font-size:18px;
  line-height:1.3;color:var(--c-tinta-2);margin-top:1.6em}
.legal__contenido a{color:var(--c-terra-txt);text-underline-offset:3px}
.legal__contenido ul,.legal__contenido ol{padding-left:1.35em;list-style:disc}
.legal__contenido ol{list-style:decimal}
.legal__contenido li + li{margin-top:.5em}
.tabla-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.legal__contenido table{width:100%;min-width:460px;border-collapse:collapse;font-size:14px}
.legal__contenido th,.legal__contenido td{text-align:left;vertical-align:top;
  padding:10px 12px;border-bottom:1px solid rgba(40,40,41,.14)}
.legal__contenido th{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--c-gris-txt);font-weight:400}
.legal__contenido strong{font-weight:400;color:var(--c-tinta-2)}
/* Datos que faltan por rellenar: se marcan para que no pasen desapercibidos. */
.legal__contenido mark.pendiente{background:#faf4f1;color:#a05d41;
  padding:1px 6px;border:1px dashed rgba(160,93,65,.55);border-radius:2px;
  font-size:.9em;letter-spacing:.04em;white-space:nowrap}

/* Página de agradecimiento: mismas piezas que las legales, más un botón de
   vuelta. El de la landing es blanco porque va sobre una foto; aquí el fondo es
   claro, así que se invierte a tinta. */
.gracias .legal__titulo::after{margin-top:20px}
.gracias__acciones{margin-top:clamp(36px,5vw,56px)}
.gracias__boton{margin:0;background:var(--c-tinta-2);color:var(--c-blanco)}
.gracias__boton:hover,.gracias__boton:focus-visible{background:var(--c-terracota)}

/* El pie es el mismo marcado que en la landing, aquí sobre fondo sólido. */
.pie-solido{background:var(--c-tinta-2);color:var(--c-blanco);
  padding:clamp(48px,6vw,72px) clamp(20px,5vw,48px) clamp(28px,4vw,40px)}
.pie-solido .s-cta__pie{max-width:1100px;margin:0 auto;gap:30px}
.pie-solido .s-cta__legal{margin-top:34px;padding-top:24px;
  border-top:1px solid rgba(255,255,255,.16)}
.pie-solido .s-cta__direccion,.pie-solido .s-cta__linea{color:var(--c-blanco)}
.pie-solido .s-cta__legal a[aria-current="page"]{opacity:.55}

@media (min-width: 760px){
  .pie-solido .s-cta__pie{flex-direction:row;justify-content:space-between;
    align-items:center;text-align:left}
}

@media (min-width: 1440px) {

/* ══════════════════════════════════════════════════════════════════════
   A partir de 1440 px: lienzo fijo, réplica exacta del diseño. Todo lo
   que sigue está generado desde las medidas del PDF.
   ══════════════════════════════════════════════════════════════════════ */
.landing{width:100%;margin:0;overflow-x:clip}
.landing > section{width:100%;display:block;padding:0;gap:0;overflow:clip}
.landing > section > *{max-width:none;width:auto}
.s-hero{height:977.3px;min-height:0}
.s-story{height:1119.6px}
.s-video{height:807.6px;background:none;color:inherit}
.s-stats{height:436.6px}
.s-arch{height:1227.0px;background:var(--c-crema)}
.s-sharing{height:1073.8px}
.s-int{height:1429.0px;background:var(--c-hueso)}
.s-priv{height:814.4px;background:var(--c-salvia)}
.s-out{height:986.3px}
.s-mat{height:945.9px}
.s-loc{height:879.6px}
.s-cta{height:1024.6px}

.landing [class*="__media"] img,.s-video__marco img{width:100%;height:100%;object-fit:cover}
.s-loc__mapa img,.s-mat__tira-img img{width:100%;height:100%;object-fit:contain}
.s-stats__icono{height:auto;margin:0}
.s-stats__icono img{width:100%;height:100%;object-fit:contain}
.s-video__banda{display:block}
.s-video__play{transform:none;top:auto;left:auto}
/* En el lienzo el icono va posicionado por coordenadas, sin `translate` de
   centrado: aquí el hover sólo escala, o saltaría media anchura. */
.landing .s-video__marco:hover .s-video__play,
.landing .s-video__marco:focus-visible .s-video__play{transform:scale(1.07)}
.s-video__boton,.s-cta__boton{max-width:none;margin:0}
.s-hero__media::after,.s-sharing__media::after,.s-out__media::after,.s-cta__media::after{
  background:none}
.s-sharing__media,.s-out__media,.s-cta__media{inset:auto}
.s-mat__tira{position:absolute;width:510px}
.s-mat__tira-rule{max-width:none}
.s-story__rule,.s-priv__rule,.s-out__dato-rule,.s-int__rule{max-width:none;margin:0;opacity:.55}
.eyebrow{white-space:nowrap;letter-spacing:normal}
.s-stats__lista{display:contents}
.s-loc__panel{padding:0}
.s-mat__marca{padding:58.5px 18px 0 21.7px;width:221.2px;height:214.5px}
.s-sharing__tarjeta,.s-out__dato{padding:0}
.s-priv__tarjeta{background:var(--c-salvia)}

.landing .s-hero__top {
	display: contents;
}

.landing .s-hero__cuerpo {
	display: contents;
}

.landing .s-story__texto {
	display: contents;
}

.landing .s-arch__cabecera {
	display: contents;
}

.landing .s-arch__texto {
	display: contents;
}

.landing .s-int__cabecera {
	display: contents;
}

.landing .s-int__nota {
	display: contents;
}

.landing .s-priv__cabecera {
	display: contents;
}

.landing .s-out__cabecera {
	display: contents;
}

.landing .s-out__texto {
	display: contents;
}

.landing .s-mat__izq {
	display: contents;
}

.landing .s-mat__der {
	display: contents;
}

.landing .s-loc__izq {
	display: contents;
}

.landing .s-sharing__intro {
	display: contents;
}

.landing .s-cta__cuerpo {
	display: contents;
}

.landing .s-cta__pie {
	display: contents;
}

.landing .s-cta__contacto {
	display: contents;
}

.landing .s-stats__lista {
	display: contents;
}

.landing .s-hero__media {
	position: absolute;
	top: 0.00px;
	left: 0;
	width: 100%;
	height: 977.30px;
}

.landing .s-hero__tag {
	position: absolute;
	top: 115.20px;
	left: calc(50% - 720px + 79.30px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 10.60px;
	line-height: 12.92px;
	color: var(--c-blanco);
	letter-spacing: 2.672px;
}

.landing .s-hero__tag--der {
	position: absolute;
	top: 115.20px;
	left: calc(50% - 720px + 1211.10px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 10.60px;
	line-height: 12.92px;
	color: var(--c-blanco);
	letter-spacing: 2.828px;
}

.landing .s-hero__logo {
	position: absolute;
	top: 39.90px;
	left: calc(50% - 720px + 615.50px);
	width: 206.05px;
	height: 113.07px;
}

.landing .s-hero__titulo {
	position: absolute;
	top: 637.91px;
	left: calc(50% - 720px + 69.20px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 61.30px;
	line-height: 67.10px;
	color: var(--c-blanco);
}

.landing .s-hero__sub {
	position: absolute;
	top: 801.97px;
	left: calc(50% - 720px + 69.20px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 18.00px;
	line-height: 21.60px;
	color: var(--c-blanco);
}

.landing .s-hero__omega {
	position: absolute;
	top: 886.50px;
	left: calc(50% - 720px + 69.10px);
	width: 339.66px;
	height: 46.86px;
}

.landing .s-hero__rule--izq {
	position: absolute;
	top: 136.00px;
	left: calc(50% - 720px + 83.00px);
	width: 498.00px;
	height: 1.00px;
	background: var(--c-blanco);
	opacity: .75;
}

.landing .s-hero__rule--der {
	position: absolute;
	top: 136.00px;
	left: calc(50% - 720px + 859.00px);
	width: 498.00px;
	height: 1.00px;
	background: var(--c-blanco);
	opacity: .75;
}

.landing .s-hero__titulo-1 {
	font-weight: 700;
	display: block;
}

.landing .s-hero__titulo-2 {
	display: block;
}

.landing .s-hero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(0,0,0,.715) 0, rgba(0,0,0,0) 252px),linear-gradient(to bottom, rgba(0,0,0,0) 539px, rgba(0,0,0,.70) 977.3px);
}

.landing .s-story__media {
	position: absolute;
	top: 194.10px;
	left: 0;
	width: calc(50% - 720px + 689.20px);
	height: 773.80px;
}

.landing .s-story__texto .eyebrow {
	position: absolute;
	top: 218.50px;
	left: calc(50% - 720px + 779.80px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 13.50px;
	line-height: 16.20px;
	color: var(--c-terracota);
	letter-spacing: 2.999px;
}

.landing .s-story__titulo {
	position: absolute;
	top: 260.69px;
	left: calc(50% - 720px + 780.20px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 45.00px;
	line-height: 54.00px;
	color: var(--c-tinta-2);
}

.landing .s-story__rule {
	position: absolute;
	top: 438.70px;
	left: calc(50% - 720px + 780.00px);
	width: 122.50px;
	height: 1.40px;
}

.landing .s-story__cuerpo {
	position: absolute;
	top: 486.53px;
	left: calc(50% - 720px + 779.80px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 15.80px;
	line-height: 27.00px;
	color: var(--c-tinta);
	width: 468.00px;
}

.landing .s-story__destacado {
	position: absolute;
	top: 778.70px;
	left: calc(50% - 720px + 780.00px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 27.00px;
	line-height: 32.40px;
	color: var(--c-terracota);
}

.landing .s-video__banda {
	position: absolute;
	top: 36.00px;
	left: 0;
	width: 100%;
	height: 771.60px;
	background: var(--c-salvia);
}

.landing .s-video__marco {
	position: absolute;
	top: 0.00px;
	left: calc(50% - 720px + 221.80px);
	width: 993.90px;
	height: 582.80px;
}

.landing .s-video__play {
	position: absolute;
	top: 286.40px;
	left: 450.70px;
	width: 89.16px;
	height: 68.40px;
}

.landing .s-video__boton {
	position: absolute;
	top: 663.10px;
	left: calc(50% - 720px + 719.50px);
	width: auto;
	height: 39.00px;
	background: var(--c-blanco);
	border-radius: 19.5px;
	box-shadow: 8px 8px 8px rgba(0,0,0,.68);
	transform: translateX(-50%);
	min-width: 300px;
	padding: 0 30px;
	white-space: nowrap;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 11.20px;
	letter-spacing: 2.773px;
	text-indent: 2.773px;
	color: var(--c-tinta);
}

.landing .s-stats__item:nth-child(1) {
	position: static;
}

.landing .s-stats__item:nth-child(1) .s-stats__icono {
	position: absolute;
	top: 74.30px;
	left: calc(50% - 720px + 155.50px);
	width: 124.25px;
	height: 88.09px;
	margin: 0;
}

.landing .s-stats__item:nth-child(1) .s-stats__valor {
	position: absolute;
	top: 215.63px;
	left: calc(50% - 720px + 74.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 34.70px;
	line-height: 41.60px;
	color: var(--c-tinta);
	font-weight: 700;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(1) .s-stats__rule {
	position: absolute;
	top: 313.50px;
	left: calc(50% - 720px + 184.50px);
	width: 33.00px;
	height: 1.00px;
	background: var(--c-tinta);
	opacity: .5;
	margin: 0;
}

.landing .s-stats__item:nth-child(1) .s-stats__etiqueta {
	position: absolute;
	top: 334.39px;
	left: calc(50% - 720px + 67.75px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 9.60px;
	line-height: 11.52px;
	color: var(--c-tinta);
	letter-spacing: 2.050px;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(2) {
	position: static;
}

.landing .s-stats__item:nth-child(2) .s-stats__icono {
	position: absolute;
	top: 83.30px;
	left: calc(50% - 720px + 369.60px);
	width: 164.88px;
	height: 79.42px;
	margin: 0;
}

.landing .s-stats__item:nth-child(2) .s-stats__valor {
	position: absolute;
	top: 213.43px;
	left: calc(50% - 720px + 326.15px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 34.70px;
	line-height: 41.60px;
	color: var(--c-tinta);
	font-weight: 700;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(2) .s-stats__rule {
	position: absolute;
	top: 313.50px;
	left: calc(50% - 720px + 440.00px);
	width: 33.00px;
	height: 1.00px;
	background: var(--c-tinta);
	opacity: .5;
	margin: 0;
}

.landing .s-stats__item:nth-child(2) .s-stats__etiqueta {
	position: absolute;
	top: 334.39px;
	left: calc(50% - 720px + 326.75px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 9.60px;
	line-height: 11.52px;
	color: var(--c-tinta);
	letter-spacing: 2.208px;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(3) {
	position: static;
}

.landing .s-stats__item:nth-child(3) .s-stats__icono {
	position: absolute;
	top: 87.10px;
	left: calc(50% - 720px + 649.60px);
	width: 100.30px;
	height: 74.72px;
	margin: 0;
}

.landing .s-stats__item:nth-child(3) .s-stats__valor {
	position: absolute;
	top: 193.76px;
	left: calc(50% - 720px + 578.10px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 52.00px;
	line-height: 62.40px;
	color: var(--c-tinta);
	font-weight: 700;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(3) .s-stats__rule {
	position: absolute;
	top: 313.50px;
	left: calc(50% - 720px + 691.00px);
	width: 33.00px;
	height: 1.00px;
	background: var(--c-tinta);
	opacity: .5;
	margin: 0;
}

.landing .s-stats__item:nth-child(3) .s-stats__etiqueta {
	position: absolute;
	top: 334.39px;
	left: calc(50% - 720px + 578.10px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 9.60px;
	line-height: 11.52px;
	color: var(--c-tinta);
	letter-spacing: 2.178px;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(4) {
	position: static;
}

.landing .s-stats__item:nth-child(4) .s-stats__icono {
	position: absolute;
	top: 61.20px;
	left: calc(50% - 720px + 892.00px);
	width: 125.38px;
	height: 99.77px;
	margin: 0;
}

.landing .s-stats__item:nth-child(4) .s-stats__valor {
	position: absolute;
	top: 215.63px;
	left: calc(50% - 720px + 838.90px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 34.70px;
	line-height: 41.60px;
	color: var(--c-tinta);
	font-weight: 700;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(4) .s-stats__rule {
	position: absolute;
	top: 313.50px;
	left: calc(50% - 720px + 959.50px);
	width: 33.00px;
	height: 1.00px;
	background: var(--c-tinta);
	opacity: .5;
	margin: 0;
}

.landing .s-stats__item:nth-child(4) .s-stats__etiqueta {
	position: absolute;
	top: 334.39px;
	left: calc(50% - 720px + 846.45px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 9.60px;
	line-height: 11.52px;
	color: var(--c-tinta);
	letter-spacing: 2.249px;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(5) {
	position: static;
}

.landing .s-stats__item:nth-child(5) .s-stats__icono {
	position: absolute;
	top: 89.30px;
	left: calc(50% - 720px + 1165.90px);
	width: 95.20px;
	height: 83.83px;
	margin: 0;
}

.landing .s-stats__item:nth-child(5) .s-stats__valor {
	position: absolute;
	top: 215.63px;
	left: calc(50% - 720px + 1090.90px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 34.70px;
	line-height: 41.60px;
	color: var(--c-tinta);
	font-weight: 700;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__item:nth-child(5) .s-stats__rule {
	position: absolute;
	top: 313.50px;
	left: calc(50% - 720px + 1205.00px);
	width: 33.00px;
	height: 1.00px;
	background: var(--c-tinta);
	opacity: .5;
	margin: 0;
}

.landing .s-stats__item:nth-child(5) .s-stats__etiqueta {
	position: absolute;
	top: 334.39px;
	left: calc(50% - 720px + 1092.55px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 9.60px;
	line-height: 11.52px;
	color: var(--c-tinta);
	letter-spacing: 2.331px;
	width: 260.00px;
	text-align: center;
}

.landing .s-stats__div-322 {
}

.landing .s-stats__div-583 {
}

.landing .s-stats__div-843 {
}

.landing .s-stats__div-1094 {
}

.landing .s-stats::after {
	content: "";
	position: absolute;
	top: 196.50px;
	left: calc(50% - 720px + 0.00px);
	width: 1440px;
	height: 173.50px;
	pointer-events: none;
	background: linear-gradient(to right, transparent 322px, var(--c-tinta) 322px, var(--c-tinta) 323px, transparent 323px),linear-gradient(to right, transparent 583px, var(--c-tinta) 583px, var(--c-tinta) 584px, transparent 584px),linear-gradient(to right, transparent 843px, var(--c-tinta) 843px, var(--c-tinta) 844px, transparent 844px),linear-gradient(to right, transparent 1094px, var(--c-tinta) 1094px, var(--c-tinta) 1095px, transparent 1095px);
}

.landing .s-arch__cabecera .eyebrow {
	position: absolute;
	top: 102.30px;
	left: calc(50% - 720px + 109.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 13.50px;
	line-height: 16.20px;
	color: var(--c-terracota);
	letter-spacing: 3.552px;
}

.landing .s-arch__titulo {
	position: absolute;
	top: 86.49px;
	left: calc(50% - 720px + 919.00px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 45.00px;
	line-height: 54.00px;
	color: var(--c-tinta-2);
}

.landing .s-arch__cuerpo {
	position: absolute;
	top: 223.03px;
	left: calc(50% - 720px + 923.60px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 15.80px;
	line-height: 27.00px;
	color: var(--c-tinta);
	width: 394.00px;
}

.landing .s-arch__media--principal {
	position: absolute;
	top: 179.60px;
	left: calc(50% - 720px + 109.20px);
	width: 743.30px;
	height: 768.30px;
}

.landing .s-arch__media--secundaria {
	position: absolute;
	top: 429.00px;
	left: calc(50% - 720px + 897.50px);
	width: 429.00px;
	height: 518.90px;
}

.landing .s-arch__pie {
	position: absolute;
	top: 1072.80px;
	left: calc(50% - 720px + 265.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 27.00px;
	line-height: 32.40px;
	color: var(--c-terracota);
}

.landing .s-sharing__media {
	position: absolute;
	top: 0.00px;
	left: 0;
	width: 100%;
	height: 1073.80px;
}

.landing .s-sharing__intro .eyebrow {
	position: absolute;
	top: 99.90px;
	left: calc(50% - 720px + 103.50px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 13.50px;
	line-height: 16.20px;
	color: var(--c-blanco);
	letter-spacing: 3.950px;
}

.landing .s-sharing__titulo {
	position: absolute;
	top: 196.79px;
	left: calc(50% - 720px + 103.50px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 45.00px;
	line-height: 54.00px;
	color: var(--c-blanco);
}

.landing .s-sharing__sub {
	position: absolute;
	top: 270.33px;
	left: calc(50% - 720px + 103.50px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 19.00px;
	line-height: 28.10px;
	color: var(--c-blanco);
}

.landing .s-sharing__tarjeta {
	position: absolute;
	top: 424.70px;
	left: calc(50% - 720px + 104.20px);
	width: 456.80px;
	height: 429.80px;
	background: rgba(253,251,247,.88);
}

.landing .s-sharing__tarjeta-label {
	position: absolute;
	top: 80.55px;
	left: 39.40px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 15.80px;
	line-height: 18.96px;
	color: var(--c-terracota);
	letter-spacing: 3.553px;
}

.landing .s-sharing__tarjeta-texto {
	position: absolute;
	top: 125.73px;
	left: 38.20px;
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 15.80px;
	line-height: 27.00px;
	color: var(--c-tinta);
	width: 382.00px;
}

.landing .s-int__cabecera .eyebrow {
	position: absolute;
	top: 117.70px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 13.50px;
	line-height: 16.20px;
	color: var(--c-terracota);
	letter-spacing: 3.794px;
}

.landing .s-int__media--principal {
	position: absolute;
	top: 201.50px;
	left: calc(50% - 720px + 105.20px);
	width: 764.10px;
	height: 824.40px;
}

.landing .s-int__media--sup {
	position: absolute;
	top: 201.50px;
	left: calc(50% - 720px + 909.60px);
	width: 422.20px;
	height: 397.50px;
}

.landing .s-int__media--inf {
	position: absolute;
	top: 633.80px;
	left: calc(50% - 720px + 909.60px);
	width: 422.20px;
	height: 392.10px;
}

.landing .s-int__titulo {
	position: absolute;
	top: 1065.39px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 45.00px;
	line-height: 54.00px;
	color: var(--c-tinta-2);
}

.landing .s-int__cuerpo {
	position: absolute;
	top: 1207.23px;
	left: calc(50% - 720px + 110.50px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 15.80px;
	line-height: 27.00px;
	color: var(--c-tinta);
	width: 615.00px;
}

.landing .s-int__lema {
	position: absolute;
	top: 1103.00px;
	left: calc(50% - 720px + 912.60px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 18.00px;
	line-height: 21.60px;
	color: var(--c-tinta-2);
	letter-spacing: 4.955px;
}

.landing .s-int__nota-texto {
	position: absolute;
	top: 1149.06px;
	left: calc(50% - 720px + 911.10px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 16.10px;
	line-height: 24.15px;
	color: var(--c-tinta-2);
	width: 300.00px;
}

.landing .s-priv__cabecera .eyebrow {
	position: absolute;
	top: 106.80px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 13.50px;
	line-height: 16.20px;
	color: var(--c-blanco);
	letter-spacing: 3.903px;
}

.landing .s-priv__media--izq {
	position: absolute;
	top: 222.90px;
	left: calc(50% - 720px + 105.20px);
	width: 723.90px;
	height: 502.70px;
}

.landing .s-priv__media--der {
	position: absolute;
	top: 222.90px;
	left: calc(50% - 720px + 873.50px);
	width: 458.30px;
	height: 502.70px;
}

.landing .s-priv__tarjeta {
	position: absolute;
	top: 300.90px;
	left: calc(50% - 720px + 612.30px);
	width: 386.40px;
	height: 379.90px;
	background: var(--c-salvia);
}

.landing .s-priv__titulo {
	position: absolute;
	top: 43.49px;
	left: 42.60px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 45.00px;
	line-height: 54.00px;
	color: var(--c-blanco);
}

.landing .s-priv__rule {
	position: absolute;
	top: 179.20px;
	left: 45.70px;
	width: 291.00px;
	height: 1.00px;
	background: var(--c-blanco);
	opacity: .85;
}

.landing .s-priv__cuerpo {
	position: absolute;
	top: 193.93px;
	left: 43.10px;
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 15.80px;
	line-height: 27.00px;
	color: var(--c-blanco);
	width: 300.00px;
}

.landing .s-out__media {
	position: absolute;
	top: 0.00px;
	left: 0;
	width: 100%;
	height: 986.30px;
}

.landing .s-out__cabecera .eyebrow {
	position: absolute;
	top: 138.10px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 13.50px;
	line-height: 16.20px;
	color: var(--c-blanco);
	letter-spacing: 3.898px;
}

.landing .s-out__titulo {
	position: absolute;
	top: 695.09px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 45.00px;
	line-height: 54.00px;
	color: var(--c-blanco);
}

.landing .s-out__cuerpo {
	position: absolute;
	top: 825.07px;
	left: calc(50% - 720px + 107.50px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 18.00px;
	line-height: 27.00px;
	color: var(--c-blanco);
	width: 500.00px;
}

.landing .s-out__dato {
	position: absolute;
	top: 629.60px;
	left: calc(50% - 720px + 996.00px);
	width: 350.10px;
	height: 367.80px;
	background: rgba(142,152,132,.62);
}

.landing .s-out__dato-valor {
	position: absolute;
	top: 41.69px;
	left: 76.30px;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 54.00px;
	line-height: 64.80px;
	color: var(--c-blanco);
}

.landing .s-out__dato-label {
	position: absolute;
	top: 113.80px;
	left: 76.30px;
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 10.10px;
	line-height: 12.12px;
	color: var(--c-blanco);
	letter-spacing: 2.417px;
}

.landing .s-out__dato-rule {
	position: absolute;
	top: 153.10px;
	left: 76.00px;
	width: 200.00px;
	height: 1.40px;
	background: var(--c-blanco);
	opacity: .8;
}

.landing .s-out__dato-texto {
	position: absolute;
	top: 170.33px;
	left: 76.60px;
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 15.80px;
	line-height: 27.00px;
	color: var(--c-blanco);
	width: 230.00px;
}

.landing .s-mat__izq .eyebrow {
	position: absolute;
	top: 126.34px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 11.10px;
	line-height: 13.32px;
	color: var(--c-terracota);
	letter-spacing: 3.674px;
}

.landing .s-mat__titulo {
	position: absolute;
	top: 203.99px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 45.00px;
	line-height: 56.40px;
	color: var(--c-tinta-2);
}

.landing .s-mat__cuerpo {
	position: absolute;
	top: 356.88px;
	left: calc(50% - 720px + 103.20px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 15.80px;
	line-height: 18.90px;
	color: var(--c-tinta-2);
	width: 541.00px;
	text-align: justify;
}

.landing .s-mat__tira-img {
	position: absolute;
	top: 513.40px;
	left: calc(50% - 720px + 97.30px);
	width: 513.30px;
	height: 108.30px;
}

.landing .s-mat__tira-img--colores {
	position: absolute;
	top: 677.10px;
	left: calc(50% - 720px + 98.30px);
	width: 512.20px;
	height: 108.30px;
}

.landing .s-mat__pie {
	position: absolute;
	top: 763.34px;
	left: calc(50% - 720px + 856.60px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 20.20px;
	line-height: 24.24px;
	color: var(--c-terracota);
}

.landing .s-mat__tira {
	display: contents;
}

.landing .s-mat__tira--texturas .s-mat__tira-label {
	position: absolute;
	top: 486.45px;
	left: calc(50% - 720px + 100.00px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 15.80px;
	line-height: 18.96px;
	color: var(--c-gris);
}

.landing .s-mat__tira--texturas .s-mat__tira-rule {
	position: absolute;
	top: 508.40px;
	left: calc(50% - 720px + 211.00px);
	width: 397.50px;
	height: 1.40px;
	background: var(--c-gris);
	opacity: .6;
	flex: none;
}

.landing .s-mat__tira--colores .s-mat__tira-label {
	position: absolute;
	top: 653.65px;
	left: calc(50% - 720px + 100.00px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 15.80px;
	line-height: 18.96px;
	color: var(--c-gris);
}

.landing .s-mat__tira--colores .s-mat__tira-rule {
	position: absolute;
	top: 668.40px;
	left: calc(50% - 720px + 198.00px);
	width: 410.50px;
	height: 1.40px;
	background: var(--c-gris);
	opacity: .6;
	flex: none;
}

.landing .s-mat__marcas {
	position: absolute;
	top: 276.30px;
	left: calc(50% - 720px + 849.20px);
	width: 472.50px;
	display: grid;
	grid-template-columns: 221.2px 221.2px;
	gap: 16.4px 30.2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.landing .s-mat__marca {
	background: var(--c-crema);
	width: 221.2px;
	height: 214.5px;
	padding: 58.5px 18px 0 21.7px;
	box-sizing: border-box;
}

.landing .s-loc__panel {
	position: absolute;
	top: 0.00px;
	left: calc(50% - 720px + 706.20px);
	width: calc(50% + 720px - 706.20px);
	height: 921.80px;
	background: var(--c-menta);
}

.landing .s-loc__izq .eyebrow {
	position: absolute;
	top: 69.24px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 11.10px;
	line-height: 13.32px;
	color: var(--c-tinta-2);
	letter-spacing: 3.674px;
}

.landing .s-loc__titulo {
	position: absolute;
	top: 109.89px;
	left: calc(50% - 720px + 105.40px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 45.00px;
	line-height: 56.40px;
	color: var(--c-tinta-2);
}

.landing .s-loc__mapa {
	position: absolute;
	top: 280.40px;
	left: calc(50% - 720px + 8.00px);
	width: 656.90px;
	height: 507.30px;
}

.landing .s-loc__notas {
	position: absolute;
	top: 720.32px;
	left: 96.00px;
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 18.90px;
	line-height: 22.60px;
	color: var(--c-tinta-2);
	width: 570.00px;
}

.landing .s-loc__lista {
	position: absolute;
	top: 140.10px;
	left: 88.30px;
	width: 560.00px;
	display: grid;
	grid-template-columns: 274.4px 274.4px;
	gap: 35.30px 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.landing .s-cta__media {
	position: absolute;
	top: 0.00px;
	left: 0;
	width: 100%;
	height: 963.40px;
}

.landing .s-cta__titulo {
	position: absolute;
	top: 140.55px;
	left: calc(50% - 720px + 293.00px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 28.20px;
	line-height: 38.30px;
	color: var(--c-blanco);
	width: 854.00px;
	text-align: center;
}

.landing .s-cta__boton {
	position: absolute;
	top: 265.90px;
	left: calc(50% - 720px + 567.80px);
	width: 301.60px;
	height: 54.30px;
	background: var(--c-blanco);
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 12.10px;
	letter-spacing: 2.009px;
	text-indent: 2.009px;
	color: var(--c-tinta-2);
}

.landing .s-cta__logo {
	position: absolute;
	top: 751.20px;
	left: calc(50% - 720px + 94.70px);
	width: 248.37px;
	height: 136.27px;
}

.landing .s-cta__omega {
	position: absolute;
	top: 848.30px;
	left: calc(50% - 720px + 1085.20px);
	width: 241.46px;
	height: 33.31px;
}

.landing .s-cta__direccion {
	position: absolute;
	top: 826.18px;
	left: calc(50% - 720px + 560.00px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 15.80px;
	line-height: 18.90px;
	color: var(--c-blanco);
	width: 320.00px;
	text-align: center;
}

.landing .s-cta__linea {
	position: absolute;
	top: 903.20px;
	left: calc(50% - 720px + 560.00px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 10.50px;
	line-height: 12.60px;
	color: var(--c-blanco);
	font-weight: 300;
	width: 320.00px;
	text-align: center;
}

.landing .s-cta__legal {
	position: absolute;
	top: 991.99px;
	left: calc(50% - 720px + 420.00px);
	font-family: Montserrat, Helvetica, Arial, sans-serif;
	font-size: 9.00px;
	line-height: 10.80px;
	color: var(--c-tinta);
	font-weight: 300;
	width: 600.00px;
	text-align: center;
}

.landing .s-story__cuerpo p + p, .landing .s-sharing__tarjeta-texto p + p, .landing .s-arch__cuerpo p + p, .landing .s-priv__cuerpo p + p, .landing .s-int__cuerpo p + p, .landing .s-mat__cuerpo p + p {
	margin-top: 27px;
}

.landing .s-int__rule {
	position: absolute;
	top: 1140.10px;
	left: calc(50% - 720px + 911.00px);
	width: 423.50px;
	height: 1.40px;
	background: var(--c-tinta-2);
	opacity: .55;
	display: block;
}

.landing .s-cta__lema {
	position: absolute;
	top: 226.44px;
	left: calc(50% - 720px + 293.00px);
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 11.10px;
	line-height: 13.32px;
	color: var(--c-blanco);
	letter-spacing: 3.275px;
	width: 854.00px;
	text-align: center;
}

.landing .s-cta__media::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(0,0,0,0) 544px, rgba(0,0,0,.68) 963.4px);
}

}
