/* Auditoría GLG · overrides (contraste, unificación tipográfica, reduced motion) */

/* A11y: enlaces del footer oscuro pasaban de largo el ratio 4.5:1 (#78708b sobre #1e1a33 = 3.5) */
.footer-small-link { color: #9F97B3; }

/* Unificación: restos de la plantilla original que declaraban Lato/Open Sans/PT Serif/Bitter
   (ya no se cargan de Google Fonts); se alinean con la tipografía real del sitio */
.c-menu_link, .change-color-dark, .paragraph-3, .paragraph-14, .text-block-4 { font-family: var(--sans-font); }

/* Perf/UX: los titulares (h1) y el hero de la home esperaban al fade-in de IX2
   (LCP móvil ~3,5s). El mensaje pinta al instante; la intro sigue animando el resto
   (transforms y reveals de scroll intactos) */
img[data-w-id="5dcc367b-4482-4b0c-1993-e9146df69ffd"] { opacity: 1 !important; }
h1[style*="opacity:0"] { opacity: 1 !important; }
div[data-w-id="d005042a-8db2-ab07-d7c1-5bc35f43545b"] { opacity: 1 !important; }
/* Home (ES+EN): la sección del smartphone con el reel arrancaba oculta hasta el final
   de la intro y era el LCP lento; entra visible (su vídeo/poster ya van precargados) */
html[data-wf-page="67aa4e7e8ac6bffe5da9b0d6"] .section-7[style*="opacity"] { opacity: 1 !important; }

/* Reveals modernos (lg-reveal.js): nada nace oculto; el JS esconde bajo el fold
   y revela al entrar (GPU, una sola vez, sin retrocesos) */
.lg-r { transition: opacity .5s cubic-bezier(.22,.61,.36,1), transform .5s cubic-bezier(.22,.61,.36,1); }
.lg-r.lg-pre { opacity: 0; transform: translateY(14px); }
.lg-r.lg-done { transition: none; }
@media (prefers-reduced-motion: reduce) { .lg-r, .lg-r.lg-pre { opacity: 1; transform: none; transition: none; } }

/* Unificación: color cian residual de plantilla en el footer oscuro de Freixa/Four Seasons */
.footer-1-link-2 { color: #9F97B3; }
/* Legibilidad: enlaces con salmón al 50% de opacidad sobre fondo oscuro */
.contact-link, .breadcrumb-link { color: #E6948C; }

/* ——— Guía de estilo · correcciones de deriva (ver /guia-de-estilo) ——— */
/* Legibilidad: ningún label de contenido por debajo de 10px */
.breadcrumb-text { font-size: 10px; }
.paragraph.is-uppercase-2 { font-size: 11px; }
.footer-brand-slogan { font-size: 11px; }
.circle-button-text-1 { font-size: 10px; }
/* ═══ SISTEMA DE BOTONES DEFINITIVO · «Palco» × Tinto (decisión 27 ago) ═══
   Una sola familia (Manrope), un solo lenguaje de interacción (barrido tinto,
   easing expo), dos tamaños (estándar 19×32 · compacto). Iconos: → navegar,
   ↓ descargar PDF, sin icono al enviar. Cero variantes fuera de esto. */
:root { --lg-tinto: #702F3B; --lg-ink: #0F0D1A; --lg-cream: #F5E7E6; --lg-e: cubic-bezier(.32, 0, .12, 1); }  /* --lg-e global: sin ella, cualquier `transition … var(--lg-e)` fuera de las cortinas era inválida y saltaba sin animar */

.button { position: relative; overflow: hidden; isolation: isolate;
  background: var(--lg-ink) !important; border: 1px solid rgba(245,231,230,.28) !important;
  border-radius: 0 !important; }
.button::before { content: ""; position: absolute; inset: 0; background: var(--lg-tinto);
  transform: scaleX(0); transform-origin: left center;
  transition: transform .42s cubic-bezier(.19,1,.22,1); z-index: 0; }
.button:hover::before { transform: scaleX(1); }
.button:hover { border-color: var(--lg-tinto) !important; }
.button:active { transform: translateY(1px); }
.button .button-inner { position: relative; z-index: 1; padding: 19px 32px !important;
  display: flex !important; align-items: center; justify-content: space-between; gap: 14px; }
.button .button-text { color: var(--lg-cream) !important; font-family: var(--sans-font) !important;
  font-size: 12.5px !important; font-weight: 600 !important; letter-spacing: .14em !important;
  text-transform: uppercase !important; transition: letter-spacing .35s cubic-bezier(.19,1,.22,1) !important; }
.button:hover .button-text { letter-spacing: .17em !important; }
.button .button-bg-animation { display: none !important; }
/* icono unificado (fuera pictogramas heredados: +, flechas svg variadas) */
.button .button-icon { display: none !important; }
.button .button-inner::after { content: "→"; color: var(--lg-cream);
  font: 600 14px/1 var(--sans-font); transition: transform .35s cubic-bezier(.19,1,.22,1); }
.button[href$=".pdf"] .button-inner::after { content: "↓"; }
.button:hover .button-inner::after { transform: translateX(5px); }
.button[href$=".pdf"]:hover .button-inner::after { transform: translateY(3px); }

/* el submit es el primario de formulario: va en tinto (color de acción), no en tinta */
input[type="submit"], .submit-button { background: var(--lg-tinto) !important; border: 1px solid var(--lg-tinto) !important;
  border-radius: 0 !important; color: var(--lg-cream) !important;
  font-family: var(--sans-font) !important; font-size: 13px !important; font-weight: 600 !important;
  letter-spacing: .14em !important; text-transform: uppercase !important;
  padding: 19px 34px !important; height: auto !important; cursor: pointer;
  filter: none !important;
  transition: background .35s cubic-bezier(.19,1,.22,1), border-color .35s, transform .12s; }
/* Webflow aplica filter:brightness(200%) al hover del submit → cualquier color se vuelve rosa chicle */
input[type="submit"]:hover, .submit-button:hover { background: #4E1F28 !important; border-color: #4E1F28 !important; filter: none !important; }
input[type="submit"]:active, .submit-button:active { transform: translateY(1px); }
.submit-button-shadow { display: none !important; }

/* compacto / terciario */
.minimal-button { background: transparent !important; border: none !important;
  border-bottom: 1px solid var(--lg-tinto) !important; border-radius: 0 !important; padding: 8px 2px !important; }
.minimal-button .button-text { font-family: var(--sans-font) !important; font-size: 11.5px !important;
  font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: inherit !important; }
.minimal-button:hover { border-color: currentColor !important; }

/* botones circulares (DESCUBRE): mismo idioma tipográfico, forma intacta */
.circle-button-text-1 { font-family: var(--sans-font) !important; font-weight: 700 !important; letter-spacing: .14em !important; }
.circle-button-border-1 { border-color: rgba(245, 231, 230, .4) !important;
  background-color: rgba(245, 231, 230, .07) !important; }

/* líneas interactivas de hover (tarjetas/nav): del rosa de plantilla al tinto */
.interactive-line-color { background-image: linear-gradient(to right, transparent, var(--lg-tinto) 50%, transparent) !important; }

/* formularios — mismo idioma que los botones (rectas, tinta, tinto en interacción) */
.w-input, .w-select { border-radius: 0 !important; }
.w-input:focus, .w-select:focus { border-color: var(--lg-tinto) !important; }
.w-checkbox-input--inputType-custom { border-radius: 0 !important;
  border-color: rgba(15, 13, 26, .45) !important; }
.w-checkbox-input--inputType-custom.w--redirected-checked {
  background-color: var(--lg-ink) !important; border-color: var(--lg-ink) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23F5E7E6' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") !important;
  background-size: .75em !important; background-position: 50% !important; background-repeat: no-repeat !important; }
.w-checkbox-input--inputType-custom.w--redirected-focus {
  box-shadow: 0 0 0 3px rgba(15, 13, 26, .18) !important; }
.checkbox-label { color: var(--lg-ink) !important; }
.checkbox-field-link { color: var(--lg-tinto) !important; border-bottom-color: var(--lg-tinto) !important; }

/* enlaces de texto y foco pasan al tinto (sobre claro) / crema (sobre foto) */
.contact-link { color: var(--lg-tinto); }
.breadcrumb-link { color: rgba(245,231,230,.85); }
.footer-author-link { border-color: #3A3450; }
:focus-visible { outline: 2px solid var(--lg-tinto) !important; outline-offset: 2px; }
/* en campos de texto el indicador de foco es su propio borde/línea (evita caja doble) */
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: none !important; }

/* ═══════════ WAVE 3 (home + globales, 27 ago) ═══════════ */

/* ——— Drawer lateral · sistema C1 TINTO con logotipo (decisión usuario 27 ago) ——— */
.aside-menu { display: flex !important; visibility: hidden; pointer-events: none; }
html.lg-aside-open .aside-menu { visibility: visible; pointer-events: auto; }
html.lg-aside-open { overflow: hidden; }
/* dos capas de Webflow que sobran al conducir el drawer nosotros: `aside-delay-for-animations`
   es un bloqueador de clics (z-index 100, inset 0) que IX2 encendía durante su animación y ya
   nunca apaga → se comía el hover Y el clic de todos los links del menú. */
.aside-fixed-bg, .aside-delay-for-animations { display: none !important; pointer-events: none !important; }
.aside-menu-bg { background: rgba(15, 13, 26, .45) !important;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
  opacity: 0; transition: opacity .6s ease-out; }
html.lg-aside-open .aside-menu-bg { opacity: 1; }
.aside-inner { z-index: 10; position: absolute !important; inset: 0 0 0 auto !important;
  width: min(460px, 100%); background: var(--lg-tinto);
  transform: translateX(103%);
  transition: transform .66s cubic-bezier(.22,.72,0,1);
  overflow: auto; }
html.lg-aside-open .aside-inner { transform: translateX(0); }
/* IX2 dejaba estados iniciales inline (opacity:0 + translate3d) esperando su animación
   de apertura, que ya no existe → se anulan; el stagger propio va por animation */
.aside-inner [style*="opacity"], .aside-links, .aside-menu .close-button {
  opacity: 1 !important; transform: none !important; }
.aside-flex { min-height: 100%; justify-content: flex-start !important; padding: 26px 0 30px; }
.lg-aside-brand { display: block; padding: 0 36px 22px; }
.lg-aside-brand img { width: 172px; height: auto; display: block; }
.lg-aside-rule { height: 1px; background: rgba(245, 231, 230, .22); margin: 0 30px 10px; }
.aside-links { flex-direction: column !important; align-items: stretch !important;
  padding: 0 !important; color: var(--lg-cream) !important; }
.aside-main-links { display: flex; flex-direction: column; align-items: stretch !important;
  flex-wrap: nowrap !important; gap: 0 !important; max-width: none !important;
  width: 100%; counter-reset: lgnav; }
.aside-menu-link { counter-increment: lgnav; gap: 18px; position: relative; overflow: hidden;
  width: 100%; height: 56px !important; min-height: 56px !important; flex: 0 0 auto;
  justify-content: flex-start !important;
  padding: 0 36px !important; color: var(--lg-cream) !important;
  border-bottom: 1px solid rgba(245, 231, 230, .12); opacity: 0;
  transition: color .45s cubic-bezier(.32,0,.12,1); }
.int-link-line { display: none !important; }
/* El barrido va en un elemento PROPIO (lo inyecta el pipeline). Reutilizar
   `.int-link-line` no vale: IX2 conserva su hover y le escribe transforms inline
   que ganan a la clase, así que la barra se desplazaba en vez de crecer. */
.lg-sweep { position: absolute; inset: 0; z-index: 0; background: var(--lg-cream);
  transform: scaleX(0); transform-origin: left center;
  transition: transform .6s cubic-bezier(.32,0,.12,1); }
.aside-menu-link:focus-visible .lg-sweep { transform: scaleX(1); }
@media (hover: hover) { .aside-menu-link:hover .lg-sweep { transform: scaleX(1); } }
.aside-menu-link::before { content: counter(lgnav, decimal-leading-zero);
  position: relative; z-index: 1; width: 18px;
  font-family: var(--sans-font) !important; font-size: 10px; font-weight: 700;
  letter-spacing: .1em; color: #F8B3AC; transition: color .45s cubic-bezier(.32,0,.12,1); }
.aside-menu-link .int-text-link { position: relative; z-index: 1;
  font-family: var(--sans-font) !important;
  font-size: 13px !important; font-weight: 600 !important; letter-spacing: .16em !important;
  text-transform: uppercase; color: inherit !important; margin: 0 !important;
  transition: transform .6s cubic-bezier(.32,0,.12,1); }
.aside-menu-link::after { content: "→"; margin-left: auto; position: relative; z-index: 1;
  font-family: var(--sans-font) !important; font-size: 15px; color: var(--lg-tinto);
  opacity: 0; transform: translateX(-8px);
  transition: opacity .45s ease, transform .6s cubic-bezier(.32,0,.12,1); }
.aside-menu-link:focus-visible { color: var(--lg-tinto) !important; }
.aside-menu-link:focus-visible::before { color: #995C56; }
.aside-menu-link:focus-visible::after { opacity: 1; transform: none; }
@media (hover: hover) {
  .aside-menu-link:hover { color: var(--lg-tinto) !important; }
  .aside-menu-link:hover::before { color: #995C56; }
  .aside-menu-link:hover .int-text-link { transform: translateX(4px); }
  .aside-menu-link:hover::after { opacity: 1; transform: none; }
}
/* en táctil el dedo deja el :hover pegado en la fila pulsada: se marca solo al pulsar */
@media (hover: none) {
  .aside-menu-link:active .lg-sweep { transform: scaleX(1); }
  .aside-menu-link:active { color: var(--lg-tinto) !important; }
}
.aside-menu-link.w--current::before { color: var(--lg-cream); }
html.lg-aside-open .aside-menu-link { animation: lg-drawer-in .55s cubic-bezier(.22,.72,0,1) both; }
html.lg-aside-open .aside-menu-link:nth-child(1) { animation-delay: .10s }
html.lg-aside-open .aside-menu-link:nth-child(2) { animation-delay: .14s }
html.lg-aside-open .aside-menu-link:nth-child(3) { animation-delay: .18s }
html.lg-aside-open .aside-menu-link:nth-child(4) { animation-delay: .22s }
html.lg-aside-open .aside-menu-link:nth-child(5) { animation-delay: .26s }
html.lg-aside-open .aside-menu-link:nth-child(6) { animation-delay: .30s }
html.lg-aside-open .aside-menu-link:nth-child(7) { animation-delay: .34s }
html.lg-aside-open .aside-menu-link:nth-child(8) { animation-delay: .38s }
html.lg-aside-open .aside-menu-link:nth-child(9) { animation-delay: .42s }
html.lg-aside-open .aside-menu-link:nth-child(10) { animation-delay: .46s }
html.lg-aside-open .aside-menu-link:nth-child(11) { animation-delay: .50s }
html.lg-aside-open .aside-menu-link:nth-child(12) { animation-delay: .54s }
@keyframes lg-drawer-in { from { opacity: 0; transform: translateY(9px) } to { opacity: 1; transform: none } }
.aside-small-links { display: flex; flex-direction: column; gap: 0; align-items: stretch;
  margin-top: 42px; opacity: 0; }
html.lg-aside-open .aside-small-links { animation: lg-drawer-in .5s .55s cubic-bezier(.19,1,.22,1) both; }
.aside-small-links { padding: 0 36px; display: flex; flex-direction: column; }
/* pie del drawer · módulo aprobado: claim + filas clave/valor + idioma con banderas */
.lg-aside-claim { margin: 8px 0 14px; font-family: var(--serif-font); font-size: 21px;
  font-weight: 400; line-height: 1.35; color: var(--lg-cream); }
.lg-aside-row { display: flex !important; align-items: baseline; justify-content: space-between;
  gap: 14px; padding: 11px 0 !important; text-decoration: none;
  border-top: 1px solid rgba(245, 231, 230, .16);
  transition: padding-left .3s cubic-bezier(.19,1,.22,1); }
.lg-aside-row:hover { padding-left: 8px !important; }
.lg-k { font-family: var(--sans-font); font-size: 9.5px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; color: #DBB5B1; }
.lg-v { font-family: var(--sans-font); font-size: 12.5px; font-weight: 600; letter-spacing: .02em;
  color: var(--lg-cream); text-transform: none; transition: color .3s; }
.lg-aside-row:hover .lg-v { color: #F8B3AC; }
.lg-aside-lang { display: flex; align-items: center; gap: 14px; margin-top: 22px;
  padding-top: 18px; border-top: 1px solid rgba(245, 231, 230, .16); }
.lg-aside-lang a { display: flex !important; align-items: center; gap: 8px;
  padding: 0 !important; font-size: 11px !important; letter-spacing: .12em !important;
  color: var(--lg-cream) !important; }
.lg-aside-lang a img { width: 20px; height: 20px; object-fit: contain; }
.lg-aside-lang a.is-off { opacity: .5; }
.lg-aside-lang a.is-off:hover { opacity: 1; }
/* panel de contacto: las filas de mail y teléfono muestran el dato, no solo la etiqueta */
.lg-cstack { display: flex; flex-direction: column; gap: 2px; }
.dropdown-contact-link .lg-k { color: #995C56; }
.dropdown-contact-link .lg-v { color: var(--lg-ink); font-size: 12.5px; font-weight: 600;
  text-transform: none; letter-spacing: .01em; }
.dropdown-contact-link:hover .lg-v { color: var(--lg-tinto); }
/* desplegable del formulario: mismo idioma que el resto de campos */
select.form-input-2 { appearance: none; -webkit-appearance: none; cursor: pointer;
  padding-right: 26px !important; width: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23702F3B' stroke-width='1.6' stroke-linecap='round' d='M6 9.5l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0 center; background-size: 15px; }
select.form-input-2:invalid { color: #B3A9B8 !important; }
.aside-small-links a { font-family: var(--sans-font) !important; font-size: 11px !important;
  font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase;
  color: #DBB5B1 !important; padding: 8px 0; }
.aside-small-links a:hover { color: var(--lg-cream) !important; }
.aside-small-links .nav-link-text-4 { font-family: var(--sans-font) !important;
  font-size: 11px !important; font-weight: 600 !important; letter-spacing: .14em !important;
  text-transform: uppercase; color: #DBB5B1 !important; }
.aside-small-links .nav-link-content img { filter: invert(1); opacity: .8; }
.aside-small-links .nav-dropdown-list { top: auto; bottom: calc(100% + 6px); }
.close-button { position: absolute !important; top: 22px; right: 22px;
  width: 44px !important; height: 44px !important; z-index: 30;
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='%23F5E7E6' stroke-width='1.6' stroke-linecap='round' d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E") !important;
  background-size: 18px !important; background-position: 50% !important; background-repeat: no-repeat !important;
  border: 1px solid rgba(245, 231, 230, .28); cursor: pointer;
  transition: transform .35s cubic-bezier(.19,1,.22,1), border-color .35s; }
.close-button:hover { transform: rotate(90deg); border-color: var(--lg-cream);
  background-color: transparent !important; width: 44px !important; height: 44px !important; }

/* ——— Píldora MENU del navbar, idioma Palco ——— */
.fullscreen-menu-button-4 { cursor: pointer; border-radius: 0 !important;
  border: 1px solid rgba(15, 13, 26, .25) !important;
  transition: background .3s, border-color .3s; }
.fullscreen-menu-text { font-family: var(--sans-font) !important; font-size: 11px !important;
  font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase; }
.fullscreen-menu-button-4:hover { background: var(--lg-ink) !important; border-color: var(--lg-ink) !important; }
.fullscreen-menu-button-4:hover .fullscreen-menu-text { color: var(--lg-cream) !important; }
.fullscreen-menu-button-4:hover .fullscreen-menu-icon-line-2 { background: var(--lg-cream) !important; }

/* ——— Dropdowns de navbar (idioma + contacto): click, panel BLANCO sobre la web clara ——— */
.nav-dropdown-list, .dropdown-contact { background: #FFFFFF !important;
  border: 1px solid rgba(230, 148, 140, .3); border-radius: 0 !important;
  box-shadow: 0 18px 44px -22px rgba(54, 47, 90, .3), 0 2px 8px -4px rgba(54, 47, 90, .12);
  min-width: 210px; padding: 6px !important; left: auto; right: 0;
  opacity: 1 !important; transform: none !important; } /* anula el estado inicial inline de IX2 */
.dropdown-contact { top: calc(100% + 10px) !important; } /* cae bajo el icono, no encima */
.nav-dropdown-list.w--open, .dropdown-contact.w--open { animation: lg-dd-in .28s cubic-bezier(.19,1,.22,1); }
@keyframes lg-dd-in { from { opacity: 0; transform: translateY(7px) } }
.div-block-1755 { display: flex; align-items: center; justify-content: flex-start !important;
  gap: 12px; padding: 11px 12px;
  background: transparent !important; transition: background .25s; }
.div-block-1755:hover { background: var(--lg-cream) !important; }
/* las banderas son cuadradas (512×512): contain, nunca recorte */
.image-50 { width: 20px !important; height: 20px !important; object-fit: contain; }
.nav-dropdown-link { color: var(--lg-ink) !important; font-family: var(--sans-font) !important;
  font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .13em !important;
  text-transform: uppercase; padding: 0 !important; width: auto !important;
  justify-content: flex-start !important; text-align: left !important;
  background-color: transparent !important; } /* mata la caja gris --color:#f1f1f1 de Webflow */
.nav-dropdown-link.w--current, .nav-dropdown-link.ii.w--current {
  color: var(--lg-tinto) !important; background-color: transparent !important; }
/* el idioma activo se marca con punto salmón, no con un rectángulo gris */
.w-locales-item .div-block-1755:has(.w--current)::after { content: ""; margin-left: auto;
  width: 6px; height: 6px; border-radius: 50%; background: #E6948C; }
.nav-main-link-2, .dropdown-toggle-icon { cursor: pointer; }
.dropdown-toggle-icon { display: flex !important; align-items: center !important;
  justify-content: center !important; padding: 0 !important; }
.dropdown-toggle-icon .nav-button-icon { display: block; margin: 0 !important; }
.dropdown-contact-link { display: flex !important; align-items: center; gap: 12px;
  padding: 11px 12px !important; color: var(--lg-ink) !important;
  font-family: var(--sans-font) !important; font-size: 11.5px !important; font-weight: 700 !important;
  letter-spacing: .13em !important; text-transform: uppercase; transition: background .25s; }
.dropdown-contact-link:hover { background: var(--lg-cream); color: var(--lg-tinto) !important; }
.dropdown-contact-link { justify-content: flex-start !important; text-align: left !important; }
.lg-cstack { align-items: flex-start; text-align: left; }
.dropdown-contact-layout { background: transparent !important; padding: 0 !important; }
.dropdown-button-icon-block { background: transparent !important; border: none !important;
  width: auto !important; height: auto !important; padding: 0 !important;
  display: flex !important; align-items: center; }
/* juego único de iconos en línea (los inyecta el pipeline): un solo trazo, sin filtros */
.lg-ci { display: block; flex: 0 0 auto; }
.lg-ci path, .lg-ci rect, .lg-ci circle { stroke: var(--lg-ink); transition: stroke .25s; }
.lg-ci .fillbit { fill: var(--lg-ink); stroke: none; transition: fill .25s; }
.dropdown-contact-link:hover .lg-ci path, .dropdown-contact-link:hover .lg-ci rect,
.dropdown-contact-link:hover .lg-ci circle { stroke: var(--lg-tinto); }
.dropdown-contact-link:hover .lg-ci .fillbit { fill: var(--lg-tinto); }

/* ——— Hero: en tablet/móvil el collage pasa a banda superior (no pisa el texto) ——— */
@media (max-width: 1279px) {
  header.section-3:not(.nophoto) { background-size: 100% auto !important;
    background-position: top center !important; background-repeat: no-repeat !important;
    justify-content: flex-start !important; padding-top: calc(56.3vw + 10px) !important; }
  header.section-3:not(.nophoto) .hero-7-content-1 { padding-top: 0 !important; }
}

/* ——— Bodas / Empresas · «anclado al pie»: kicker, título y CTA comparten margen y base ——— */
.case-3-content.lg-anchored { text-align: left !important; align-items: flex-start !important;
  justify-content: flex-end !important; grid-row-gap: 0 !important;
  height: 100%; padding: 0 34px 32px !important; }
.case-3-content.lg-anchored .case-3-title-text-2 { margin: 0 0 9px !important; opacity: 1 !important;
  color: #F5E7E6 !important; font-size: 9.5px !important; letter-spacing: .18em !important; }  /* crema: el salmón daba 2,9:1 sobre el velo */
.case-3-content.lg-anchored .heading { margin: 0 !important; text-align: left !important; }
/* el tema pintaba el velo a 185deg (oscuro ARRIBA) y además duplicado: se invierte
   al pie, que es donde vive el texto, y se anula la segunda capa que doblaba el negro */
.lg-card .case-3-overlay-1 { mix-blend-mode: normal !important;
  background-image: linear-gradient(180deg, rgba(15, 13, 26, .14) 0%,
    rgba(15, 13, 26, 0) 30%, rgba(15, 13, 26, .5) 62%, rgba(15, 13, 26, .88) 100%) !important; }  /* parada intermedia: el kicker quedaba a 4,2:1 */
.lg-card .case-3-overlay-1 .case-3-overlay-1 { display: none !important; }
.lg-case-cta { display: block; width: 100%; margin-top: 22px; pointer-events: none; }
.lg-case-rule { display: block; height: 1px; background: rgba(255, 255, 255, .3); transition: background .4s; }
.lg-case-row { display: flex; align-items: center; justify-content: space-between;
  gap: 14px; padding-top: 15px; }
.lg-case-txt { font-family: var(--sans-font); font-size: 11.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: #FFFFFF; }
.lg-case-arrow { display: block; font-family: var(--sans-font); font-size: 16px; color: #FFFFFF;
  transition: transform .45s cubic-bezier(.19,1,.22,1); }
.case-3-block:hover .lg-case-rule { background: #E6948C; }
.case-3-block:hover .lg-case-arrow { transform: translateX(7px); }

/* ——— Formulario F1a: filete suave por campo, icono propio y label micro-caps ——— */
.icon-form-input { background: transparent !important; border: none !important;
  border-bottom: 1px solid rgba(230, 148, 140, .28) !important; border-radius: 0 !important;
  padding: 0 0 9px !important; gap: 13px; align-items: center !important;
  transition: border-color .3s; }
.icon-form-input:focus-within { border-bottom-color: var(--lg-tinto) !important; }
.icon-form-input.lg-tall { align-items: flex-start !important; }
.icon-form-input.lg-tall .lg-fi { margin-top: 6px; }
.lg-fi { display: block; flex: 0 0 auto; margin-right: 0 !important; }
.lg-fi path, .lg-fi rect, .lg-fi circle { stroke: #B89A95; transition: stroke .3s; }
.icon-form-input:focus-within .lg-fi path,
.icon-form-input:focus-within .lg-fi rect,
.icon-form-input:focus-within .lg-fi circle { stroke: var(--lg-tinto); }
/* el tema traía grid-gap 18px: demasiado junto para campos con label + icono */
.form-grid-halves { grid-column-gap: 44px !important; grid-row-gap: 36px !important; }
.form-grid-vertical { grid-row-gap: 32px !important; }
.icon-form-input { padding-bottom: 11px !important; }
.lg-form-foot { margin-top: 44px !important; }
.lg-flab { display: block; margin-bottom: 12px; font-family: var(--sans-font);
  font-size: 9.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
  color: #995C56; }
.form-input-2.no { font-family: var(--serif-font) !important; font-size: 19px !important;
  line-height: 1.35 !important; color: #362F5A !important; background: transparent !important; }
.form-input-2.no::placeholder { font-family: var(--serif-font) !important;
  font-size: 18px !important; color: #B3A9B8 !important; }
.form-input-2.mas { border: none !important; border-radius: 0 !important;
  border-bottom: 1px solid rgba(230, 148, 140, .28) !important;
  padding: 0 0 9px !important; min-height: 62px !important; background: transparent !important;
  font-family: var(--serif-font) !important; font-size: 19px !important; color: #362F5A !important; }
.form-input-2.mas:focus { border-bottom-color: var(--lg-tinto) !important; }
.form-input-2.mas::placeholder { font-family: var(--serif-font) !important;
  font-size: 18px !important; color: #B3A9B8 !important; }
/* dentro del envoltorio el filete lo pone el wrapper: si no, saldría doble */
.icon-form-input.lg-tall .form-input-2.mas { border-bottom: none !important; padding-bottom: 0 !important; }
.text-small-2.form-input-label { font-family: var(--sans-font) !important; font-size: 9.5px !important;
  font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase;
  color: #995C56 !important; margin-bottom: 10px !important; }
/* pie del formulario: legal a la izquierda y botón cerrando la retícula por la derecha */
.lg-form-foot { display: flex; align-items: center; justify-content: space-between;
  gap: 26px; flex-wrap: wrap; margin-top: 34px; }
.checkbox-field { display: flex !important; align-items: center; gap: 11px;
  width: auto !important; margin: 0 !important; padding-left: 0 !important; }
/* el checkbox del tema medía 4em × 3em con radio 20 — un botón, no una casilla */
.checkbox, .w-checkbox-input--inputType-custom.checkbox {
  width: 16px !important; height: 16px !important; border-radius: 0 !important;
  border: 1px solid rgba(54, 47, 90, .4) !important;
  margin: 0 !important; float: none !important; flex: 0 0 auto; }
.checkbox:hover { border-width: 1px !important; border-color: var(--lg-tinto) !important; }
.checkbox.w--redirected-checked { background-color: var(--lg-tinto) !important;
  border-color: var(--lg-tinto) !important; background-size: 11px !important;
  background-position: 50% !important; background-repeat: no-repeat !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23F5E7E6' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E") !important; }
.checkbox.w--redirected-focus { border-width: 1px !important;
  box-shadow: 0 0 0 3px rgba(112, 47, 59, .16) !important; }
.checkbox-label { font-family: var(--sans-font) !important; font-size: 12px !important;
  font-weight: 500 !important; line-height: 1.5 !important; color: #4A4356 !important; }
.checkbox-field-link { font-family: var(--sans-font) !important; font-size: 12px !important; }
.lg-form-foot .submit-button { width: auto !important; margin-top: 0 !important; }

/* ——— Marquee de logos (track duplicado por lg-nav.js) ——— */
.home-two-logo-merquee.lg-marquee-on { display: flex; overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.lg-marquee-track { display: flex; align-items: center; flex: 0 0 auto;
  min-width: max-content; padding-right: 56px;
  animation: lg-marquee 38s linear infinite; }
.home-two-logo-merquee.lg-marquee-on:hover .lg-marquee-track { animation-play-state: paused; }
@keyframes lg-marquee { to { transform: translateX(-100%); } }

/* ═══════════ WAVE 5 · Arquitectura de marca «Cortinas» (home) ═══════════ */
/* las cortinas rompen el contenedor de su sección a sangre completa;
   la cabecera original (kicker + h2 + párrafo) queda intacta encima */
.lg-arch { width: 100vw; max-width: 100vw; position: relative; left: 50%;
  margin-left: -50vw; margin-top: 1.5em; flex: none; }
.lg-arch-stage { width: 100%; --lg-e: cubic-bezier(.32, 0, .12, 1); }
.lg-arch picture { display: contents; }
/* separadores como BORDE del panel (no gap): los huecos entre cajas independientes
   dejaban lascas de antialias que parpadeaban durante la animación de anchos */
.lg-arch-stage { display: flex; gap: 0; height: 640px; }
.lg-curt + .lg-curt { border-left: 3px solid #FFFFFF; }
.lg-curt { position: relative; flex: 1 1 0; overflow: hidden; display: block;
  transition: flex-grow .55s var(--lg-e); }  /* repliegue ágil; la expansión (hover) va más lenta */
.lg-curt .lg-ph { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0;
  object-fit: cover; transition: transform 1.2s var(--lg-e); }
/* el tema trae un img{margin-left:6px} GLOBAL: sin el margin:0 la foto se corre 6px
   y el velo pinta esa franja sobre blanco (el "hueco sucio" junto al separador) */
.lg-veil { position: absolute; inset: 0; }
/* ribete 1px sobre el perímetro: los paneles caen en x/y fraccionarios y el canto de la
   foto se plumea sobre el blanco; el ribete lo repinta opaco (zoom-proof, tapa 1px de foto) */
.lg-curt::after { content: ""; position: absolute; inset: 0; pointer-events: none;
  z-index: 6; box-shadow: inset 0 0 0 1px #FFFFFF; }
.lg-curt-num { position: absolute; top: 22px; left: 24px; z-index: 2;
  font-family: var(--sans-font); font-size: 10px; font-weight: 700;
  letter-spacing: .12em; color: rgba(255, 255, 255, .85); }
.lg-curt-body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 0 26px 26px; }
.lg-curt-body .lg-wl { display: block; height: 38px; width: auto; max-width: 100%; }
/* reveal por filas de grid: anima a la altura EXACTA del contenido (max-height daba tirones) */
.lg-more { display: grid; grid-template-rows: 0fr; opacity: 0; transform: translateY(12px);
  transition: grid-template-rows .55s var(--lg-e), opacity .4s ease,
    transform .55s var(--lg-e); }
.lg-more-in { display: block; overflow: hidden; min-height: 0; }
.lg-curt-desc { display: block; margin: 16px 0 0; font-family: var(--serif-font); font-size: 21px;
  font-weight: 400; line-height: 1.25; color: #FFFFFF; }
.lg-curt-subs { display: block; margin: 10px 0 0; font-family: var(--sans-font); font-size: 9.5px;
  font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255, 255, 255, .78); line-height: 2; }
.lg-curt-go { display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-top: 18px; padding-top: 13px; padding-right: 6px;  /* recorrido de la flecha en hover */
  border-top: 1px solid rgba(255, 255, 255, .35); }
.lg-curt-go span { font-family: var(--sans-font); font-size: 10.5px; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: #FFFFFF; }
.lg-curt-go svg { flex: 0 0 auto; transition: transform .45s cubic-bezier(.19,1,.22,1); }
.lg-curt:focus-visible { flex-grow: 2.6; }
.lg-curt:focus-visible .lg-more { grid-template-rows: 1fr; opacity: 1; transform: none; }
@media (hover: hover) {
  .lg-curt:hover { flex-grow: 2.6; transition-duration: .9s; }
  .lg-curt:hover .lg-ph { transform: scale(1.035); }
  .lg-curt:hover .lg-more { grid-template-rows: 1fr; opacity: 1; transform: none;
    transition: grid-template-rows .9s var(--lg-e), opacity .55s ease .12s, transform .9s var(--lg-e); }
  .lg-curt:hover .lg-curt-go svg { transform: translateX(5px); }
}
@media (max-width: 991px) {
  .lg-arch-stage { flex-direction: column; height: auto; gap: 0; }
  .lg-curt { height: 218px; flex: none; }
  .lg-curt + .lg-curt { border-left: 0; border-top: 3px solid #FFFFFF; }
  .lg-more { grid-template-rows: 1fr; opacity: 1; transform: none; }
  .lg-curt-desc { font-size: 18px; margin-top: 12px; }
  .lg-curt-subs { display: none; }
  .lg-curt-go { margin-top: 12px; }
}

/* ——— Flotantes (promo WhatsApp + FAQ): quedaban BAJO el footer (z999), overlays (z2000)
   y secciones con contexto propio; z100 no competía. Suben por encima del contenido
   (footer incluido) y por debajo del banner de cookies; con el drawer abierto se ocultan. */
.promo-card-3, .help { z-index: 1200 !important; }
html.lg-aside-open .promo-card-3, html.lg-aside-open .help { display: none !important; }

/* A11y: quien pide menos movimiento, lo tiene (las interacciones IX2 saltan al estado final) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
/* ═══════════ WAVE 6 · Home (2 sep) · aprobado por el usuario ═══════════ */
/* héroe: dos líneas, la segunda en peso 600 (la cursiva del pantallazo se resuelve con color/peso) */
.is-hero-7-title-1 .lg-h1b { display: block; font-weight: 600; margin-top: .12em; }
.is-hero-7-title-1 { max-width: 24ch; margin-left: auto; margin-right: auto; }
header.section-3 .max-width-40 p.paragraph.is-grid-3-text { color: #4A4569 !important; max-width: 52ch; margin: 0 auto; line-height: 1.6; }
header.section-3 .max-width-40 p.paragraph.is-grid-3-text strong { color: #702F3B; font-weight: 700; }

/* ——— módulo de contacto (66 páginas con .section-13) ——— */
.section-13 { padding: 72px 0 !important; }
.section-13 .grid-halves-2 { grid-template-columns: 5fr 7fr !important; column-gap: 96px !important; align-items: start !important; }
.section-13 .block-text .vertical-flex.is-align-center { align-items: flex-start !important; text-align: left !important; gap: 0 !important; }
.section-13 .block-text .paragraph.is-uppercase-2 { color: #702F3B; margin-bottom: 24px; }
.section-13 .block-text .heading { font-size: 44px !important; line-height: 1.12 !important; letter-spacing: -.005em; text-wrap: balance; }
.section-13 .block-text .heading .opacity-70 { opacity: 1 !important; color: #702F3B; }
.section-13 .block-text .w-layout-grid { grid-template-columns: 1fr !important; grid-row-gap: 24px !important; }
.section-13 .block-text .paragraph.is-grid-3-text { max-width: 44ch; font-size: 17.6px !important; line-height: 1.6 !important; color: #4A4569; }
.lg-cm { width: 100%; margin-top: 48px; }
.lg-crows { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(230,148,140,.5); }
.lg-crows li { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 16px 0; border-bottom: 1px solid rgba(230,148,140,.5); }
.lg-ck { font: 700 11px/1 var(--sans-font); letter-spacing: .16em; text-transform: uppercase; color: #9F97B3; }
.lg-cv { font: 600 15px/1 var(--sans-font); color: #362F5A; text-decoration: none; transition: color .35s; }
.lg-cv:hover { color: #702F3B; }
.lg-csoc { display: flex; gap: 28px; margin-top: 24px; }
.lg-csoc a { display: inline-flex; align-items: center; gap: 8px; font: 700 11px/1 var(--sans-font); letter-spacing: .14em; text-transform: uppercase; color: #362F5A; text-decoration: none; transition: color .35s; }
.lg-csoc a:hover { color: #702F3B; }
.lg-csoc svg { width: 17px; height: 17px; }
/* la sección «puedes llamarnos» previa pierde sus dos filas gigantes; el dato vive en el módulo */
@media (max-width: 991px) {
  .section-13 { padding: 48px 0 !important; }
  .section-13 .grid-halves-2 { grid-template-columns: 1fr !important; row-gap: 48px !important; }
  .section-13 .block-text .heading { font-size: 30px !important; }
  .lg-cm { margin-top: 32px; }
}

/* ——— pie tinta ——— */
.lg-foot { display: block; position: relative; width: 100%; background: #0F0D1A; padding: 72px 64px 36px; color: #F5E7E6; font-family: var(--sans-font); }
.lg-foot * { box-sizing: border-box; }
.lg-foot a { text-decoration: none; color: inherit; }
.lg-foot .lg-ftop { display: grid; grid-template-columns: 5fr 7fr; gap: 96px; align-items: end; padding-bottom: 48px; border-bottom: 1px solid rgba(245,231,230,.22); }
.lg-foot .lg-flogo { width: 200px; height: auto; display: block; margin: 0; }
.lg-foot .lg-fclaim { margin: 0; font-family: var(--serif-font); font-size: 26px; line-height: 1.3; color: #F5E7E6; max-width: 24ch; text-wrap: balance; }
.lg-foot .lg-fclaim span { color: #E6948C; }
.lg-foot .lg-fcols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px; padding: 48px 0; }
.lg-foot .lg-fh { margin: 0 0 20px; font: 700 11px/1 var(--sans-font); letter-spacing: .16em; text-transform: uppercase; color: #9F97B3; }
.lg-foot ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.lg-foot li a { font: 500 15px/1.3 var(--sans-font); color: #F5E7E6; transition: color .35s; display: inline-flex; align-items: center; }
.lg-foot li a:hover { color: #E6948C; }
.lg-foot .lg-fdot { display: inline-block; width: 6px; height: 6px; margin-right: 10px; }
.lg-foot .lg-fkv { display: flex; flex-direction: column; gap: 14px; }
.lg-foot .lg-fkv div { display: flex; flex-direction: column; gap: 4px; }
.lg-foot .lg-fkv small { font: 700 10.5px/1 var(--sans-font); letter-spacing: .14em; text-transform: uppercase; color: #9F97B3; }
.lg-foot .lg-fkv a { font: 600 15px/1.3 var(--sans-font); color: #F5E7E6; transition: color .35s; }
.lg-foot .lg-fkv a:hover { color: #E6948C; }
.lg-foot .lg-fsoc { display: flex; gap: 22px; margin-top: 20px; }
.lg-foot .lg-fsoc a { display: inline-flex; align-items: center; gap: 8px; font: 700 11px/1 var(--sans-font); letter-spacing: .14em; text-transform: uppercase; color: #F5E7E6; }
.lg-foot .lg-fsoc a:hover { color: #E6948C; }
.lg-foot .lg-fsoc svg { width: 17px; height: 17px; }
.lg-foot .lg-flegal { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-top: 24px; border-top: 1px solid rgba(245,231,230,.22); font: 600 11px/1 var(--sans-font); letter-spacing: .12em; text-transform: uppercase; color: #9F97B3; }
.lg-foot .lg-flegal nav { display: flex; gap: 24px; }
.lg-foot .lg-flegal a:hover { color: #E6948C; }
@media (max-width: 991px) {
  .lg-foot { padding: 48px 24px 28px; }
  .lg-foot .lg-ftop { grid-template-columns: 1fr; gap: 28px; }
  .lg-foot .lg-fcols { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .lg-foot .lg-flegal { flex-direction: column; align-items: flex-start; gap: 14px; }
}
@media (max-width: 479px) { .lg-foot .lg-fcols { grid-template-columns: 1fr; } }

/* ——— tarjetas · familia 1 · foto con velo al pie (espacios, líneas, portadas) ——— */
.case-2-block, .case-3-block { border-radius: 0 !important; }
.case-2-block .cover-image, .case-3-block .cover-image, img.cover-image { border-radius: 0 !important; }
.case-2-block .case-2-overlay-1, .case-2-block .case-3-overlay-1, .case-3-block .case-3-overlay-1 {
  background: linear-gradient(180deg, rgba(15,13,26,.14) 0%, rgba(15,13,26,0) 34%, rgba(15,13,26,.85) 100%) !important;
  mix-blend-mode: normal !important; opacity: 1 !important; }
.case-2-block .case-2-overlay-1 + .case-3-overlay-1 { display: none !important; }
.case-2-category-text { display: inline-block; padding: 6px 10px 5px; margin: 0 8px 0 0 !important;
  font-family: var(--sans-font) !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .14em !important;
  text-transform: uppercase !important; color: #F5E7E6 !important; border: 1px solid rgba(245,231,230,.5); background: rgba(15,13,26,.28); }
.case-2-title-1, .case-3-title-text-2 { font-family: var(--sans-font) !important; font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .16em !important; text-transform: uppercase !important; color: #F5E7E6 !important; opacity: .92; margin: 0 0 10px !important; border: 0 !important; }
.case-2-block .heading.is-article-1-title, .case-3-block .heading.wh { font-size: 33px !important; line-height: 1.12 !important; color: #FFFFFF !important; text-align: left !important; }
.case-3-content { text-align: left !important; align-items: flex-start !important; }
.case-2-button .button, .case-3-block .case-2-button .button { background: transparent !important; border: 0 !important;
  border-top: 1px solid rgba(255,255,255,.28) !important; width: 100% !important; transition: border-color .5s; }
.case-2-block:hover .case-2-button .button, .case-3-block:hover .case-2-button .button { border-top-color: #E6948C !important; }
.case-2-button .button::before { display: none !important; }
.case-2-button .button .button-inner { padding: 14px 0 0 !important; justify-content: space-between !important; }
.case-2-button .button .button-text { font-size: 11px !important; letter-spacing: .16em !important; color: #FFFFFF !important; }
.case-2-button .button .button-inner::after { color: #FFFFFF; }
.case-2-block, .case-3-block { transition: none !important; transform: none !important; box-shadow: none !important; }
.case-2-block:hover, .case-3-block:hover { transform: none !important; box-shadow: none !important; }
.case-2-block .cover-image, .case-3-block .cover-image { transition: transform 1.1s cubic-bezier(.32,0,.12,1) !important; }
.case-2-block:hover .cover-image, .case-3-block:hover .cover-image { transform: scale(1.04) !important; }

/* texto al pie (sobre el velo), chips arriba: como el tablero aprobado */
.case-2-block, .case-3-block { position: relative !important; justify-content: flex-end !important; grid-row-gap: 0 !important; gap: 0 !important; }
.case-2-content, .case-3-content { padding: 0 30px 0 !important; grid-row-gap: 10px !important; gap: 10px !important; text-align: left !important; align-items: flex-start !important; justify-content: flex-end !important; }
.case-2-button { padding: 0 30px 28px !important; }
.case-2-content { position: static !important; }
.case-2-categories { position: absolute !important; top: 26px !important; left: 30px !important; z-index: 21 !important; grid-column-gap: 8px !important; gap: 8px !important; }
.case-2-title-wrap { grid-row-gap: 10px !important; gap: 10px !important; }
.section-13 .block-text { align-items: flex-start !important; }
/* ——— tarjetas · familia 2 · blanca con filete (prensa, experiencias). Las de noticias (.article-2-item) se quedan como estaban: decisión usuario 2 sep ——— */
.blog-listing-2-item { border: 1px solid rgba(230,148,140,.5) !important; border-radius: 0 !important; background: #FFFFFF !important; transition: border-color .4s; }
.blog-listing-2-item:hover { border-color: #E6948C !important; }
.blog-listing-2-item .article-1-category { background: transparent !important; border: 1px solid rgba(54,47,90,.35) !important; border-radius: 0 !important; }
.blog-listing-2-item .article-1-category .paragraph { font-family: var(--sans-font) !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .14em !important; color: #362F5A !important; }
.blog-listing-2-item .heading.prensa, .blog-listing-2-item h2.heading { font-size: 27px !important; line-height: 1.2 !important; color: #362F5A !important; }
.blog-listing-2-item .paragraph.is-medium { font-size: 15px !important; line-height: 1.55 !important; color: #4A4569 !important; }
.blog-listing-2-item .cover-image-4, .blog-listing-2-item img { border-radius: 0 !important; }

.section-13 .block-text, .section-13 .block-text > *, .section-13 .block-text .heading.center, .section-13 .block-text .is-center { text-align: left !important; }
.section-13 .block-text .padding40 { padding: 0 !important; max-width: 44ch; }
.section-13 .block-text .heading.is-medium-title { margin-bottom: 24px; }
/* ——— tarjetas · familia 3 · servicio (kosher, empresas, signature) ——— */
.listing-6-item-2 { border: 1px solid rgba(230,148,140,.5) !important; border-radius: 0 !important; background: #FFFFFF !important; padding: 32px 30px 30px !important; transition: border-color .4s; }
.listing-6-item-2:hover { border-color: #E6948C !important; }
.listing-6-item-2 .icon-3.is-listing-6-icon { width: 26px !important; height: 26px !important; filter: grayscale(1) brightness(.42) !important; opacity: 1 !important; margin-bottom: 16px; }
.listing-6-item-2 .listing-6-image-2 { display: none !important; }
.listing-6-item-2 .paragraph.is-uppercase-1 { font-family: var(--sans-font) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: #702F3B !important; }
.listing-6-item-2 .heading.is-small-title { font-size: 33px !important; line-height: 1.15 !important; color: #362F5A !important; }
.listing-6-item-2 .paragraph.is-medium { font-size: 15px !important; line-height: 1.55 !important; color: #4A4569 !important; font-family: var(--sans-font) !important; }

/* ═══════════ WAVE 6b · navbar A «cinta de marcas» + espacios a sangre (2 sep) ═══════════ */
/* la barra fija crece 60 px con la cinta: el documento baja lo mismo (≥992px) */
:root { --lg-nav-h: 122px; }                               /* NAVBAR B: 34 barra + 88 fila blanca; sin fila extra */
@media (min-width: 992px) {
  .nav-main-links-2 { display: none !important; }          /* los 8 enlaces de texto viven en el menú lateral */
  .nav-block-7 { justify-content: flex-start !important; gap: 0 !important; }
}
/* NAVBAR B (decisión usuario 2 sep, tarde: «integrar las cajas en los blancos de arriba, dos filas») */
.lg-strip { display: flex; align-items: center; justify-content: center; gap: 34px; flex: 1; margin: 0 40px; align-self: stretch; }
.lg-strip a { position: relative; display: flex; align-items: center; height: 100%; padding: 0 2px; text-decoration: none; }
.lg-strip img { height: 28px; width: auto; margin: 0 !important; opacity: .82; transition: opacity .4s, transform .5s var(--lg-e); }
/* lo que se pega al hacer scroll (sticky) se queda BAJO el navbar fijo, no debajo de él */
@media (min-width: 992px) {
  .case-study-sidebar, .gallery-tab-menu, .content-image-sticky, .sticky-content-image-heigh, .article-about, .parallax-slider-sticky, .compare-scroll-sticky, .compare-scroll-sticky-2 { top: calc(var(--lg-nav-h) + 16px) !important; }
  .content-1-column-2, .content-1-column-1 { top: var(--lg-nav-h) !important; min-height: calc(100vh - var(--lg-nav-h)) !important; }
  .content-image-sticky, .sticky-content-image-heigh { height: calc(100vh - var(--lg-nav-h) - 16px) !important; }
  html { scroll-padding-top: calc(var(--lg-nav-h) + 16px); }
  [id] { scroll-margin-top: calc(var(--lg-nav-h) + 16px); }
}
.lg-strip a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 18px; height: 2px; background: var(--c);
  transform: scaleX(0); transform-origin: left center; transition: transform .55s var(--lg-e); }
@media (hover: hover) {
  .lg-strip a:hover img { opacity: 1; transform: translateY(-1px); }
  .lg-strip a:hover::after { transform: scaleX(1); }
}
.lg-strip a:focus-visible { outline: 2px solid var(--lg-tinto); outline-offset: -2px; }
@media (max-width: 991px) { .lg-strip { display: none; } }
/* idioma en la barra superior: ES · EN con punto salmón en el activo */
.nav-topbar-block-2.lg-lang { gap: 14px; }
.nav-topbar-block-2.lg-lang a { display: inline-flex; align-items: center; gap: 7px; font: 700 10.5px/1 var(--sans-font); letter-spacing: .13em; color: rgba(245,231,230,.5); text-decoration: none; }
.nav-topbar-block-2.lg-lang a.is-on { color: var(--lg-cream); }
.nav-topbar-block-2.lg-lang a.is-on::before { content: ""; width: 4px; height: 4px; background: #E6948C; }
.nav-topbar-block-2.lg-lang a:hover { color: #E6948C; }
/* botón de contacto junto al sobre */
.lg-nav-cta { display: inline-flex; align-items: center; margin-left: 0; margin-right: 14px; padding: 13px 22px; background: var(--lg-tinto); color: var(--lg-cream) !important;
  font: 600 11px/1 var(--sans-font); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; transition: background .35s; align-self: center; }
.lg-nav-cta:hover { background: #4E1F28; }
@media (max-width: 991px) { .lg-nav-cta { display: none; } }

/* ——— espacios a sangre (home) ——— */
.lg-esp { padding: 96px 0 72px; background: #FFFFFF; overflow: hidden; }
.lg-esp-head { max-width: 1280px; margin: 0 auto 34px; padding: 0 40px; display: flex; align-items: flex-end; justify-content: space-between; gap: 56px; }
.lg-esp-logo { height: 34px; width: auto; margin: 0 0 18px !important; display: block; }
.lg-esp-head h2 { margin: 0; font-family: var(--serif-font); font-size: 44px; line-height: 1.12; color: #362F5A; letter-spacing: -.005em; font-weight: 400; }
.lg-esp-head h2 span { color: #9F97B3; }
.lg-esp-head p { margin: 14px 0 0; font-family: var(--serif-font); font-size: 17.6px; line-height: 1.6; color: #4A4569; max-width: 52ch; }
.lg-esp-nav { display: flex; align-items: center; gap: 12px; padding-bottom: 6px; flex: none; }
.lg-esp-nav button { width: 46px; height: 46px; border: 1px solid rgba(54,47,90,.2); background: transparent; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; color: #362F5A; transition: border-color .4s, color .4s; border-radius: 0; padding: 0; }
.lg-esp-nav button:hover { border-color: var(--lg-tinto); color: var(--lg-tinto); }
.lg-esp-nav button[disabled] { opacity: .3; cursor: default; }
.lg-esp-count { font: 700 11px/1 var(--sans-font); letter-spacing: .14em; color: #9F97B3; font-variant-numeric: tabular-nums; margin-left: 8px; }
.lg-rail { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding: 0; scroll-padding-left: 0; }
.lg-rail::-webkit-scrollbar { display: none; }
.lg-rcard { position: relative; flex: 0 0 328px; height: 452px; overflow: hidden; scroll-snap-align: start; background: #0F0D1A; text-decoration: none; display: block; }
.lg-rcard img.lg-rph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0 !important; transform: scale(1); transition: transform 1.1s var(--lg-e); }
.lg-rcard::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(15,13,26,.16) 0%, rgba(15,13,26,0) 34%, rgba(15,13,26,.86) 100%); }
.lg-rbody { position: absolute; z-index: 2; left: 0; right: 0; bottom: 0; padding: 0 24px 22px; }
.lg-rkick { margin: 0 0 8px; font: 700 11px/1 var(--sans-font); letter-spacing: .16em; text-transform: uppercase; color: #F5E7E6; opacity: .92; }
.lg-rtitle { margin: 0; font-family: var(--serif-font); font-size: 27px; line-height: 1.16; color: #FFFFFF; font-weight: 400; }
.lg-rrule { height: 1px; background: rgba(255,255,255,.26); margin: 16px 0 0; transition: background .5s; }
.lg-rcta { display: flex; align-items: center; justify-content: space-between; padding-top: 12px; font: 700 10.5px/1 var(--sans-font); letter-spacing: .15em; text-transform: uppercase; color: #FFFFFF; }
.lg-rcta svg { transition: transform .5s var(--lg-e); }
@media (hover: hover) {
  .lg-rcard:hover img.lg-rph { transform: scale(1.045); }
  .lg-rcard:hover .lg-rrule { background: #44876D; }
  .lg-rcard:hover .lg-rcta svg { transform: translateX(6px); }
}
.lg-rcard.lg-rlast { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 16px; padding: 0 30px; }
.lg-rcard.lg-rlast::after { display: none; }
.lg-rcard.lg-rlast p { margin: 0; font-family: var(--serif-font); font-size: 27px; line-height: 1.2; color: #F5E7E6; font-weight: 400; }
.lg-rcard.lg-rlast span { display: inline-flex; align-items: center; gap: 10px; font: 700 10.5px/1 var(--sans-font); letter-spacing: .15em; text-transform: uppercase; color: #E6948C; }
@media (max-width: 991px) {
  .lg-esp { padding: 64px 0 48px; }
  .lg-esp-head { flex-direction: column; align-items: flex-start; gap: 20px; padding: 0 24px; margin-bottom: 24px; }
  .lg-esp-head h2 { font-size: 30px; }
  .lg-rail { gap: 10px; }
  .lg-rcard { flex-basis: 82vw; height: 420px; }
}
/* ——— hover de tarjetas (decisión usuario 2 sep: «demasiado estático y brusco») · una sola coreografía, curva aprobada ——— */
.lg-rcard img.lg-rph { transition: transform 1.1s var(--lg-e), filter .7s var(--lg-e) !important; will-change: transform; }
.lg-rbody { transition: transform .65s var(--lg-e); }
.lg-rrule { transition: background .6s var(--lg-e), transform .65s var(--lg-e); transform-origin: left center; }
.lg-arr { display: inline-flex; transition: transform .65s var(--lg-e); }
.lg-rcta svg { transition: none !important; }
@media (hover: hover) {
  .lg-rcard:hover img.lg-rph { transform: scale(1.06); filter: brightness(.9); }
  .lg-rcard:hover .lg-rbody { transform: translateY(-8px); }
  .lg-rcard:hover .lg-rrule { background: #44876D; transform: scaleX(1.02); }
  .lg-rcard:hover .lg-arr { transform: translateX(8px); }
}
.case-2-block .cover-image, .case-3-block .cover-image { transition: transform 1.1s var(--lg-e), filter .7s var(--lg-e) !important; will-change: transform; }
.case-2-content, .case-3-content, .case-2-button { transition: transform .65s var(--lg-e) !important; }
.case-2-button .button .button-inner::after { transition: transform .65s var(--lg-e) !important; }
.case-2-button .button { transition: border-color .6s var(--lg-e) !important; }
@media (hover: hover) {
  .case-2-block:hover .cover-image, .case-3-block:hover .cover-image { transform: scale(1.06) !important; filter: brightness(.9); }
  .case-2-block:hover .case-2-content, .case-3-block:hover .case-3-content { transform: translateY(-8px); }
  .case-2-block:hover .case-2-button .button-inner::after, .case-3-block:hover .case-2-button .button-inner::after { transform: translateX(8px); }
}
@media (prefers-reduced-motion: reduce) { .lg-rcard img.lg-rph, .lg-rbody, .lg-rrule, .lg-arr, .case-2-block .cover-image, .case-3-block .cover-image, .case-2-content, .case-3-content { transition: none !important; } }
@media (prefers-reduced-motion: reduce) { .lg-rail { scroll-behavior: auto; } .lg-rcard img.lg-rph { transition: none; } }

/* ═══════════ WAVE 7 · (2 sep, tarde) cinta clicable · escala tipográfica · móvil limpio ═══════════ */
/* la cinta no respondía: .nav-bgs (capa decorativa de Webflow, absolute inset 0, z 1) se comía el puntero */
.nav-4 .nav-bgs { pointer-events: none !important; }
.lg-strip { position: relative; z-index: 3; }

/* ——— escala tipográfica única · referencia = sección «Celebrar es nuestra especialidad» ———
   kicker 11/700 Manrope · h2 55/1.2 Gambetta 500 · cuerpo 17.6/1.8 Gambetta · título de tarjeta 33 · sans en tarjetas 15.4 */
.paragraph.is-uppercase-2, .paragraph.is-uppercase-1, .paragraph.is-uppercase-1.is-3rd, .breadcrumb-text, .case-2-title-3,
.section-13 .block-text .paragraph.is-uppercase-2, .lg-esp-head .lg-k {
  font-family: var(--sans-font) !important; font-size: 11px !important; line-height: 1.7 !important; font-weight: 700 !important;
  letter-spacing: .05em !important; text-transform: uppercase !important; color: #261716 !important; }
.paragraph.is-uppercase-2.wh, .paragraph.is-uppercase-2.is-white, .paragraph.is-uppercase-1.is-white { color: #F5E7E6 !important; }
h2.heading, .lg-esp-head h2, .section-13 .block-text .heading, h1.heading:not(.is-hero-7-title-1) {
  font-size: 55px !important; line-height: 1.2 !important; font-weight: 500 !important; letter-spacing: normal !important; }
h1.heading-71.is-small-title, .w-richtext h2 { font-size: 44px !important; line-height: 1.15 !important; font-weight: 500 !important; }
.heading.is-small-title, h2.heading.is-small-title, h2.heading.prensa, .blog-listing-2-item h2.heading, .lg-rtitle,
.heading.is-article-1-title, .heading.wh.ii, .heading-72.is-article-1-title, .w-richtext h3, h3.heading {
  font-size: 33px !important; line-height: 1.15 !important; font-weight: 500 !important; }
.w-richtext h4, h4.heading:not(.is-article-1-title) { font-size: 27px !important; line-height: 1.2 !important; font-weight: 500 !important; }
.paragraph.is-grid-3-text, .paragraph.is-large, .paragraph.is-medium, .w-richtext p, .section-13 .block-text .paragraph.is-grid-3-text,
.lg-esp-head p, .w-richtext li {
  font-family: var(--serif-font) !important; font-size: 17.6px !important; line-height: 1.8 !important; color: #585366 !important; }
.paragraph.is-grid-3-text strong, .paragraph.is-large strong, .paragraph.is-medium strong, .w-richtext p strong { font-weight: 700; color: inherit; }
/* sans en tarjetas y notas (van después: ganan a la regla general) */
.paragraph-sans.light, .paragraph-3, .change-color-dark, .listing-6-item-2 .paragraph.is-medium, .blog-listing-2-item .paragraph.is-medium,
.article-2-item .paragraph-sans.light {
  font-family: var(--sans-font) !important; font-size: 15.4px !important; line-height: 1.55 !important; color: #4A4569 !important; }
.article-2-item .paragraph-sans.light { color: rgba(245,231,230,.85) !important; }
@media (max-width: 479px) {
  .is-hero-7-title-1, h1.heading { font-size: 36px !important; line-height: 1.15 !important; }
  h2.heading, .lg-esp-head h2, .section-13 .block-text .heading, h1.heading:not(.is-hero-7-title-1) { font-size: 34px !important; }
  .w-richtext h2 { font-size: 30px !important; }
  .heading.is-article-1-title, .lg-rtitle, .heading.wh.ii, .heading.is-small-title, .w-richtext h3, h3.heading { font-size: 27px !important; }
  .paragraph.is-grid-3-text, .paragraph.is-large, .paragraph.is-medium, .w-richtext p, .lg-esp-head p, .w-richtext li { font-size: 17px !important; line-height: 1.7 !important; }
}

/* ——— móvil limpio (home) ——— */
@media (max-width: 767px) {
  /* héroe móvil: collage propio de 4 platos (3:2) en vez del collage de escritorio encogido (4406×2480, casi todo blanco) */
  header.section-3 { min-height: auto !important; padding-top: calc(66.7vw + 28px) !important; padding-bottom: 56px !important;
    background-image: url(/img/hero-mobile-780.jpg) !important;
    background-image: image-set(url(/img/hero-mobile-780.webp) type("image/webp") 1x, url(/img/hero-mobile-1170.webp) type("image/webp") 1.5x) !important;
    background-size: 100% auto !important; background-position: center top !important; background-repeat: no-repeat !important; }
  .lg-curt-desc { white-space: normal !important; font-size: 16px !important; line-height: 1.3 !important; }
  .content-1 .diagonal-lines-bg { display: none !important; }
  .content-1-column-1 { padding: 32px 24px !important; }
  .content-1-column-3 .grid-1 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; padding: 0 24px !important; }
  .content-1-column-3 .grid-1-layout.is-image-block { height: auto !important; min-height: 0 !important; margin: 0 !important; }
  .content-1-column-3 .grid-1-layout.is-image-block img { width: 100% !important; aspect-ratio: 1 / 1 !important; height: auto !important; object-fit: cover; margin: 0 !important; }
  .home-three-image-main-wrapper { flex-direction: row !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; padding: 0 24px 8px !important; scrollbar-width: none; }
  .home-three-image-main-wrapper::-webkit-scrollbar { display: none; }
  .home-three-image-main-wrapper .insta_real { flex: 0 0 68vw !important; width: 68vw !important; height: 92vw !important; scroll-snap-align: start; margin: 0 !important; }
  /* cortinas: el escenario a sangre se desplazaba 66 px a la derecha y cortaba el texto */
  .lg-arch-stage { position: static !important; left: auto !important; margin-left: 0 !important; width: 100% !important; transform: none !important; }
  /* el padre .vertical-flex centra (align-items:center) un hijo con margen negativo → 66 px de desplazamiento; a sangre real: */
  .lg-arch { align-self: flex-start !important; position: relative !important; left: 0 !important; width: 100vw !important; margin-left: calc(50% - 50vw) !important; }
  .lg-curt { height: 300px !important; min-height: 300px !important; }
  /* galería «lifestyle»: solo las celdas con foto (las de texto/icono se ven como fotos diminutas) */
  .content-1-column-3 .grid-1 > .grid-1-layout:not(.is-image-block) { display: none !important; }
  .content-1-column-3 .grid-1 > .is-image-block:nth-child(9) { grid-column: span 2 !important; aspect-ratio: 2 / 1; }   /* la 5ª foto cierra a doble ancho */
  .lg-curt-body { width: 100% !important; left: 0 !important; right: 0 !important; box-sizing: border-box; padding-right: 20px !important; }
  /* galería «lifestyle»: dos columnas cuadradas; fuera la banda y la etiqueta vertical */
  .content-1-column-1, .content-1-column-2 { display: none !important; }
  .content-1-column-3 { width: 100% !important; }
  .content-1-column-3 .grid-1 > * { grid-column: auto !important; grid-row: auto !important; position: relative !important; aspect-ratio: 1 / 1; height: auto !important; min-height: 0 !important; overflow: hidden; }
  .content-1-column-3 .grid-1 > * .grid-1-bg, .content-1-column-3 .grid-1 > * .image-wrap, .content-1-column-3 .grid-1 > * .image-animation-trigger, .content-1-column-3 .grid-1 > * .parallax-animation { position: absolute !important; inset: 0 !important; height: 100% !important; width: 100% !important; }
  .lg-flegal { gap: 14px; }
  .lg-flegal nav { flex-wrap: wrap; gap: 10px 18px; }
  .lg-flegal a, .lg-flegal span { white-space: nowrap; }
}

/* ═══════════ WAVE 8 · formulario C «Tres preguntas» (decisión usuario 2 sep) ═══════════ */
.lg-fc { display: flex; flex-direction: column; gap: 28px; }
.lg-fq { margin: 0 0 12px !important; font-family: var(--serif-font) !important; font-size: 22px !important; line-height: 1.3 !important; color: #362F5A !important; font-weight: 500 !important; }
.lg-fq small { display: block; margin-top: 4px; font: 500 12px/1.4 var(--sans-font); color: #9F97B3; }
.lg-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.lg-chip { position: relative; margin: 0; cursor: pointer; }
.lg-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.lg-chip span { display: inline-block; padding: 13px 18px; border: 1px solid rgba(54,47,90,.22); font: 600 12px/1 var(--sans-font); letter-spacing: .1em; text-transform: uppercase; color: #362F5A; background: #FFFFFF; transition: background .3s, border-color .3s, color .3s; }
.lg-chip:hover span { border-color: var(--lg-tinto); color: var(--lg-tinto); }
.lg-chip input:checked + span { background: var(--lg-tinto); border-color: var(--lg-tinto); color: var(--lg-cream); }
.lg-chip input:focus-visible + span { outline: 2px solid var(--lg-tinto); outline-offset: 2px; }
.lg-step { display: inline-flex; align-items: stretch; border: 1px solid rgba(54,47,90,.16); }
.lg-step button { width: 52px; border: 0; background: transparent; font-family: var(--serif-font); font-size: 24px; line-height: 1; color: var(--lg-tinto); cursor: pointer; padding: 0; }
.lg-step button:hover { background: #F7F3F2; }
.lg-step input { width: 96px; height: 56px; border: 0 !important; border-left: 1px solid rgba(54,47,90,.16) !important; border-right: 1px solid rgba(54,47,90,.16) !important; border-radius: 0 !important; text-align: center; font-family: var(--serif-font) !important; font-size: 20px !important; color: #362F5A !important; background: transparent !important; margin: 0 !important; padding: 0 !important; -moz-appearance: textfield; }
.lg-step input::-webkit-outer-spin-button, .lg-step input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.lg-frow { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lg-box { border: 1px solid rgba(54,47,90,.16); padding: 14px 16px 12px; min-height: 60px; box-sizing: border-box; transition: border-color .3s; background: #FFFFFF; }
.lg-box:focus-within { border-color: var(--lg-tinto); }
.lg-box label { display: block; font: 700 11px/1 var(--sans-font); letter-spacing: .05em; text-transform: uppercase; color: #261716; margin-bottom: 6px; }
.lg-box input, .lg-box textarea { width: 100% !important; border: 0 !important; outline: 0 !important; background: transparent !important; padding: 0 !important; margin: 0 !important; height: auto !important; min-height: 0 !important;
  font-family: var(--serif-font) !important; font-size: 17.6px !important; line-height: 1.3 !important; color: #362F5A !important; box-shadow: none !important; }
.lg-box textarea { min-height: 72px !important; resize: vertical; }
.lg-box ::placeholder { color: #8C879F !important; opacity: 1 !important; }
.lg-fmore { display: inline-flex; gap: 10px; align-items: center; align-self: flex-start; padding: 8px 0 6px; border: 0; border-bottom: 1px solid var(--lg-tinto); background: transparent; color: var(--lg-tinto); font: 700 11.5px/1 var(--sans-font); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.lg-fmore[aria-expanded="true"] .lg-fplus { transform: rotate(45deg); }
.lg-fplus { display: inline-block; transition: transform .3s; font-size: 15px; }
.lg-fdetails { display: flex; flex-direction: column; gap: 12px; }
.lg-fdetails[hidden] { display: none; }
.lg-fc .lg-form-foot { margin-top: 4px !important; }
@media (max-width: 767px) {
  .lg-frow { grid-template-columns: 1fr; gap: 10px; }
  .lg-fq { font-size: 18px !important; }
  .lg-chip span { padding: 12px 14px; font-size: 11px; }
  .lg-fc .lg-form-foot { flex-direction: column; align-items: stretch !important; gap: 16px; }
  .lg-fc .submit-button { width: 100% !important; }
}

/* ═══════════ WAVE 10 · Instagram «tira continua» sobre blanco (decisión usuario 2 sep) ═══════════ */
.lg-ig { background: #FFFFFF; padding: 96px 0 88px; overflow: hidden; position: relative; }
.lg-ig-head { max-width: 1280px; margin: 0 auto 40px; padding: 0 40px; display: flex; align-items: flex-end; justify-content: space-between; gap: 56px; }
.lg-ig-head h2 { margin: 0; }
.lg-ig-acc { display: flex; align-items: center; gap: 18px; padding-bottom: 8px; flex: none; }
.lg-ig-ring { width: 64px; height: 64px; border-radius: 50%; padding: 2px; background: conic-gradient(#E6948C, #702F3B, #9F97B3, #E6948C); flex: none; }
.lg-ig-ring img { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; border: 3px solid #FFFFFF; box-sizing: border-box; background: #FFFFFF; margin: 0 !important; display: block; }
.lg-ig-acc b { display: block; font-family: var(--serif-font); font-size: 22px; line-height: 1.2; font-weight: 500; color: #362F5A; }
.lg-ig-acc small { display: block; margin-top: 4px; font: 500 13px/1 var(--sans-font); color: #585366; }
.lg-ig-btn { display: inline-flex; align-items: center; gap: 12px; margin-left: 22px; padding: 17px 26px; background: var(--lg-ink); border: 1px solid rgba(245,231,230,.28); color: var(--lg-cream) !important;
  font: 600 12.5px/1 var(--sans-font); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; position: relative; overflow: hidden; isolation: isolate; }
.lg-ig-btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--lg-tinto); transform: scaleX(0); transform-origin: left center; transition: transform .6s var(--lg-e); }
.lg-ig-btn:hover::before { transform: scaleX(1); }
.lg-ig-rows { position: relative; display: flex; flex-direction: column; gap: 12px; }
.lg-ig-rows::before, .lg-ig-rows::after { content: ""; position: absolute; top: 0; bottom: 0; width: 140px; z-index: 2; pointer-events: none; }
.lg-ig-rows::before { left: 0; background: linear-gradient(90deg, #FFFFFF, rgba(255,255,255,0)); }
.lg-ig-rows::after { right: 0; background: linear-gradient(270deg, #FFFFFF, rgba(255,255,255,0)); }
.lg-ig-row { display: flex; gap: 12px; width: max-content; animation: lg-ig-slide 52s linear infinite; }
.lg-ig-row.lg-ig-r2 { animation-direction: reverse; animation-duration: 66s; }
.lg-ig:hover .lg-ig-row { animation-play-state: paused; }
@keyframes lg-ig-slide { to { transform: translateX(-50%); } }
.lg-ig-tile { position: relative; width: 250px; height: 250px; overflow: hidden; background: #F5E7E6; flex: none; display: block; text-decoration: none; }
.lg-ig-tile picture { display: contents; }
.lg-ig-tile img { width: 100%; height: 100%; object-fit: cover; margin: 0 !important; display: block; transition: transform 1s var(--lg-e); }
.lg-ig-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,13,26,0) 55%, rgba(15,13,26,.55) 100%); opacity: 0; transition: opacity .5s; }
.lg-ig-n { position: absolute; z-index: 1; left: 14px; bottom: 12px; font: 700 10.5px/1 var(--sans-font); letter-spacing: .14em; text-transform: uppercase; color: var(--lg-cream); opacity: 0; transform: translateY(4px); transition: opacity .45s, transform .55s var(--lg-e); }
@media (hover: hover) {
  .lg-ig-tile:hover img { transform: scale(1.05); }
  .lg-ig-tile:hover::after, .lg-ig-tile:hover .lg-ig-n { opacity: 1; }
  .lg-ig-tile:hover .lg-ig-n { transform: none; }
}
@media (max-width: 991px) {
  .lg-ig { padding: 64px 0 56px; }
  .lg-ig-head { flex-direction: column; align-items: flex-start; gap: 22px; padding: 0 24px; margin-bottom: 28px; }
  .lg-ig-acc { padding-bottom: 0; flex-wrap: wrap; }
  .lg-ig-btn { margin-left: 0; }
  .lg-ig-tile { width: 170px; height: 170px; }
  .lg-ig-rows::before, .lg-ig-rows::after { width: 48px; }
}
@media (prefers-reduced-motion: reduce) { .lg-ig-row { animation: none; } .lg-ig-tile img { transition: none; } }


/* acento del titular del módulo de contacto: igual que el resto de h2 (tinta al 70 %), no tinto */
.section-13 .block-text .heading .opacity-70 { opacity: .7 !important; color: inherit !important; }
.lg-esp-head h2 span, .lg-ig-head h2 span { color: #362F5A !important; opacity: .7; }

/* ═══════════ LOGO OFICIAL (2 sep) ═══════════ */
.brand-logo-block img { height: 44px !important; width: auto !important; max-width: none !important; margin: 0 !important; display: block; }
@media (max-width: 991px) { .brand-logo-block img { height: 34px !important; } }
.lg-aside-brand img { height: 40px !important; width: auto !important; }
.lg-foot .lg-flogo { width: 230px !important; height: auto !important; }

/* ═══════════ WAVE 12 · galería A «filas limpias» · formulario mail/teléfono + rangos · cinta cuadriculada ═══════════ */
.content-1 .content-1-column-1, .content-1 .content-1-column-2 { display: none !important; }
.content-1 .content-1-column-3 { width: 100% !important; max-width: 1280px; margin: 0 auto; padding: 0 40px !important; box-sizing: border-box; }
.content-1 { border-top: 0 !important; border-bottom: 0 !important; }
.content-1-column-3 .grid-1 { grid-column-gap: 16px !important; grid-row-gap: 16px !important; }
.content-1-column-3 .grid-1 > .grid-1-layout { height: 420px !important; min-height: 0 !important; }
.content-1-column-3 .grid-1 > .grid-1-layout .grid-1-content, .content-1-column-3 .grid-1 > .grid-1-layout .grid-1-block-3, .content-1-column-3 .grid-1 > .grid-1-layout .icon { display: none !important; }
.content-1-column-3 .grid-1 img.cover-image { transition: transform 1.1s var(--lg-e) !important; }
.content-1-column-3 .grid-1 > .grid-1-layout:hover img.cover-image { transform: scale(1.04) !important; }
.lg-gal-cta { margin-top: 24px !important; }
.lg-gal-cta .button { display: inline-flex !important; width: auto !important; }
@media (max-width: 767px) {
  .content-1-column-3 .grid-1 > .grid-1-layout:not(.is-image-block) { display: block !important; }          /* en móvil también las 10, por parejas */
  .content-1-column-3 .grid-1 > .is-image-block:nth-child(9) { grid-column: auto !important; aspect-ratio: auto; }
  .content-1-column-3 .grid-1 > .grid-1-layout { height: auto !important; aspect-ratio: 1 / 1 !important; }
  .content-1 .content-1-column-3 { padding: 0 24px !important; }
}
/* formulario: nada de serifa en campos ni placeholders; tres cajas de contacto; select con chevron */
.lg-box input, .lg-box textarea, .lg-box select { font-family: var(--sans-font) !important; font-size: 16px !important; line-height: 1.4 !important; font-weight: 500 !important; }
.lg-box ::placeholder { font-family: var(--sans-font) !important; font-weight: 400 !important; color: #8C879F !important; }
.lg-frow3 { grid-template-columns: 1fr 1fr 1fr; }
.lg-sel { position: relative; max-width: 360px; }
.lg-sel select { width: 100% !important; border: 0 !important; outline: 0 !important; background: transparent !important; padding: 0 28px 0 0 !important; margin: 0 !important; height: auto !important; color: #362F5A !important; -webkit-appearance: none; appearance: none; cursor: pointer; box-shadow: none !important; }
.lg-sel select:invalid { color: #8C879F !important; }
.lg-sel::after { content: ""; position: absolute; right: 16px; bottom: 20px; width: 8px; height: 8px; border-right: 1.5px solid #362F5A; border-bottom: 1.5px solid #362F5A; transform: rotate(45deg); pointer-events: none; }
@media (max-width: 767px) { .lg-frow3 { grid-template-columns: 1fr; } .lg-sel { max-width: none; } }
/* navbar: los cinco servicios en cajas con filetes (cuadriculado), en el hueco de la fila blanca */
.lg-strip { gap: 0 !important; margin: 0 32px !important; align-self: stretch; border-left: 1px solid rgba(54,47,90,.12); border-right: 1px solid rgba(54,47,90,.12); }
.lg-strip a { flex: 1; justify-content: center; padding: 0 18px; border-left: 1px solid rgba(54,47,90,.12); }
.lg-strip a:first-child { border-left: 0; }
.lg-strip a::after { bottom: 0 !important; }
@media (hover: hover) { .lg-strip a:hover { background: #FAF8F7; } }

/* ═══════════ WAVE 13 · contraste (revisión 2 sep, tarde): texto sobre foto, chips, pestañas, claves ═══════════ */
/* .paragraph-sans.light es SIEMPRE texto claro sobre foto/fondo oscuro (héroes, cards oscuras); la escala de la ola 7 lo había forzado a gris #4A4569 */
.paragraph-sans.light, .lg-r.paragraph-sans.light, .hero-7 .paragraph-sans.light { color: rgba(245,231,230,.92) !important; text-shadow: 0 1px 14px rgba(15,13,26,.35); }
.paragraph-sans.light strong, .paragraph-sans.light b { color: #FFFFFF !important; }
.hero-7 .paragraph.is-uppercase-2.is-white, .hero-7 .paragraph.is-uppercase-2.wh, .hero-7 .paragraph.is-uppercase-1.is-white { text-shadow: 0 1px 10px rgba(15,13,26,.45); }
/* chips sobre foto: fondo al 55 % + desenfoque (al 28 % desaparecían sobre cielos y vidrieras) */
.case-2-category-text, .case-3-block .case-2-category-text { background: rgba(15,13,26,.55) !important; border-color: rgba(245,231,230,.55) !important; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
/* el botón «Ver espacio» heredaba backdrop-filter:blur(10px) del sistema Palco → banda oscura sobre la foto */
.case-2-button .button, .case-3-block .case-2-button .button { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
/* kickers sobre velo: crema, no salmón (2,9:1) */
.case-3-title-text-2, .lg-card .case-3-title-text-2, .case-2-title-1 { color: #F5E7E6 !important; }
/* módulo de contacto: claves en lila daban 2,8:1 sobre blanco */
.lg-ck { color: #6B6580 !important; }
/* prensa: pestaña activa en salmón claro sobre blanco (1,9:1) */
.tab-link-2, .tab-link-2 .tab-link-text-2 { color: #585366 !important; }
.tab-link-2.w--current, .tab-link-2.w--current .tab-link-text-2 { color: #702F3B !important; }
.tab-link-2.w--current { border-bottom-color: #702F3B !important; }
/* experiencias: la chip «is-white» iba en crema sobre la tarjeta blanca (1,2:1) */
.blog-listing-2-item .article-1-category .paragraph.is-white { color: #F5E7E6 !important; background: #362F5A !important; display: inline-block; padding: 6px 10px 5px; }
/* héroes con foto: +12 % de velo uniforme (kicker «Corporativos» daba 4,2:1 en su zona clara) */
.hero-7.with-breadcrumbs .hero-7-overlay-1 { box-shadow: inset 0 0 0 100vmax rgba(15,13,26,.12); }
/* WAVE 13 · velo de las tarjetas foto (case-2/case-3): parada intermedia .5 al 62 % — los kickers al 64 % de altura quedaban a 4,2:1 (última regla: gana por orden) */
.lg-card .case-3-overlay-1 { background-image: linear-gradient(180deg, rgba(15,13,26,.14) 0%, rgba(15,13,26,0) 28%, rgba(15,13,26,.5) 62%, rgba(15,13,26,.88) 100%) !important; }
.case-2-category-text, .case-3-block .case-2-category-text { background: rgba(15,13,26,.65) !important; }  /* chips: 4,0:1 sobre el cielo de Viñuelas al 55 % */
/* /haz-tu-evento (ES/EN): las dos tarjetas ancladas llevaban DOS llamadas apiladas («Organiza tu boda» inyectada + «Descubrir» genérica); queda la específica */
.lg-card .case-2-button { display: none !important; }

/* ═══════════ WAVE 14 · UNA retícula y UNA cabecera de sección (2 sep 2026, noche · feedback usuario) ═══════════ */
/* 1) Retícula única = la del tema: .container lleva padding 0 6em con body 11px (66 px a 1440 · 65 a 1280 · 52 a 1024), 4em ≤991, 8vw ≤479.
      Mis contenedores (tira de espacios, galería, Instagram, pie) iban a 80+40 = 120 px: tres bordes distintos en la misma página. Ahora todos al mismo borde. */
.lg-esp-head, .lg-ig-head, .content-1 .content-1-column-3, .lg-foot { max-width: 1800px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 6em !important; padding-right: 6em !important; box-sizing: border-box; }
.content-1 .content-1-layout-1 { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
.section-13 .block-text { padding-left: 6em !important; padding-right: 3em !important; }
.section-13 .block-text > .vertical-flex { max-width: 600px; }
@media (max-width: 991px) {
  .lg-esp-head, .lg-ig-head, .content-1 .content-1-column-3, .lg-foot, .section-13 .block-text { padding-left: 4em !important; padding-right: 4em !important; }
}
@media (max-width: 479px) {
  .lg-esp-head, .lg-ig-head, .content-1 .content-1-column-3, .lg-foot, .section-13 .block-text { padding-left: 8vw !important; padding-right: 8vw !important; }
}
/* 2) UNA cabecera: kicker → titular → párrafo → CTA, en una sola columna alineada a la izquierda (antes el tema partía titular | párrafo en dos columnas, y en móvil lo centraba). */
.vertical-flex.with-gap-4em:not(.lg-sh) > .w-layout-grid.grid-3:has(> .grid-3-block-1) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-row-gap: 24px !important; grid-column-gap: 0 !important; }
.vertical-flex.with-gap-4em:not(.lg-sh) > .w-layout-grid.grid-3:has(> .grid-3-block-1) > * { grid-area: auto !important; grid-column: 1 !important; justify-self: start; }
.vertical-flex.with-gap-4em:not(.lg-sh) > .w-layout-grid.grid-3:has(> .grid-3-block-1) > .grid-3-block-1 { max-width: 760px !important; width: 100%; text-align: left !important; align-items: flex-start !important; justify-content: flex-start !important; grid-row-gap: 32px !important; }
.vertical-flex.with-gap-4em:not(.lg-sh) > .w-layout-grid.grid-3:has(> .grid-3-block-1) > .grid-3-block-1:not(.izq) { flex-flow: column !important; }
.vertical-flex.with-gap-4em:not(.lg-sh) > .w-layout-grid.grid-3:has(> .grid-3-block-1) > .grid-3-block-1.izq { justify-content: flex-start !important; text-align: left !important; }
.vertical-flex.with-gap-4em:not(.lg-sh) > .w-layout-grid.grid-3:has(> .grid-3-block-1) .paragraph:not(.is-uppercase-2) { max-width: 600px; }
.vertical-flex.with-gap-4em > .vertical-flex.with-gap-4em:not(.lg-sh) { grid-row-gap: 24px !important; }          /* kicker → titular */
.content-1-layout-1 > .vertical-flex.with-gap-4em:not(.lg-sh) { grid-row-gap: 24px !important; }                    /* galería: kicker, titular, párrafo */
.content-1-layout-1 > .vertical-flex.with-gap-4em:not(.lg-sh) .paragraph.is-grid-3-text { max-width: 600px !important; }
.lg-gal-cta { margin-top: 8px !important; }                                                              /* párrafo → CTA = 32 */
.section-13 .vertical-flex.with-gap-4em:not(.lg-sh) { grid-row-gap: 24px !important; }
.section-13 .block-text .vertical-flex:not(.lg-sh) .w-layout-grid { grid-row-gap: 24px !important; }
.lg-esp-head, .lg-ig-head { margin-bottom: 48px !important; }
/* Instagram: la cuenta y el botón bajan del lateral derecho a la columna del texto (kicker → titular → cuenta → CTA) */
@media (max-width: 479px) {
  .vertical-flex.with-gap-4em { text-align: left !important; align-items: flex-start !important; justify-content: flex-start !important; }
  .vertical-flex.with-gap-4em > .vertical-flex.with-gap-4em:not(.lg-sh) { grid-row-gap: 20px !important; }
}
/* 3) Ritmo vertical de la home: 104 px arriba y abajo en todas las secciones (antes 66 / 148 / 0 / 72 / 96 según la sección) */
body:has(.lg-arch) .section.white > .container > .padding.less-paddings { padding-top: 104px !important; padding-bottom: 104px !important; }
body:has(.lg-arch) .lg-esp, body:has(.lg-arch) .lg-ig { padding-top: 104px !important; padding-bottom: 104px !important; }
body:has(.lg-arch) .content-1 { padding-top: 104px !important; padding-bottom: 104px !important; }
.section-13 { padding-top: 104px !important; padding-bottom: 104px !important; }
@media (max-width: 767px) {
  body:has(.lg-arch) .section.white > .container > .padding.less-paddings, body:has(.lg-arch) .lg-esp, body:has(.lg-arch) .lg-ig, body:has(.lg-arch) .content-1, .section-13 { padding-top: 72px !important; padding-bottom: 72px !important; }
}

/* ⚠⚠ Estas reglas son para CABECERAS de sección y por eso exigen `:has(> .grid-3-block-1)`.
   Sin ese cerco se comían el listado de servicios de cinco fichas de espacio (Retamares,
   Club de Tiro, Soto de Viñuelas, Castillo de Batres, Espacio ABC): al forzar una sola
   columna y `grid-column:1`, el bloque de la foto —cuyo contenido va todo en absoluto—
   se quedaba con ANCHO 0 y la sección se veía medio vacía. Se coló al añadir `:not(.lg-sh)`
   en la ola 15: a partir de ahí la regla solo alcanzaba a las rejillas que NO son cabecera,
   que es justo donde hace daño. Detectado por el usuario el 23 sep.
   WAVE 14b · móvil: el tema centraba los kickers (.paragraph.is-uppercase-2 ≤479) y metía 24 px de relleno extra a la retícula de la galería (.grid-1) */
@media (max-width: 767px) { .content-1-column-3 .grid-1 { padding-left: 0 !important; padding-right: 0 !important; } }
@media (max-width: 479px) { .paragraph.is-uppercase-2, .lg-ig-head .paragraph, .content-1-layout-1 .paragraph { text-align: left !important; } }

/* ═══════════ WAVE 15 · SISTEMA DE CABECERA «lg-sh» (2 sep 2026, noche): kicker → titular → párrafo → CTA ═══════════ */
/* Una composición para abrir cualquier sección: dentro del contenedor, al borde izquierdo, compacta (14/18/24), jerarquía por tamaño y color, un único CTA. */
.lg-sh { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; text-align: left !important; gap: 0 !important; grid-row-gap: 0 !important; grid-column-gap: 0 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
.lg-sh > .paragraph.is-uppercase-2, .lg-sh .lg-sh-k { margin: 0 0 14px !important; font-family: var(--sans-font) !important; font-size: 11px !important; line-height: 1 !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: #261716 !important; text-align: left !important; max-width: none !important; opacity: 1 !important; }
img.lg-sh-k { height: 30px !important; width: auto !important; margin: 0 0 16px !important; display: block; }
.lg-sh .w-layout-grid, .lg-sh .grid-3 { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 0 !important; grid-row-gap: 0 !important; grid-column-gap: 0 !important; width: 100% !important; max-width: 100% !important; margin: 0 !important; text-align: left !important; }
.lg-sh .w-layout-grid > *, .lg-sh .grid-3 > * { grid-area: auto !important; }
.lg-sh .grid-3-block-1 { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; gap: 0 !important; grid-row-gap: 0 !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; text-align: left !important; }
.lg-sh h1.heading, .lg-sh h2 { margin: 0 !important; max-width: 760px !important; font-family: var(--serif-font) !important; font-size: 55px !important; line-height: 1.06 !important; font-weight: 500 !important; letter-spacing: -.012em !important; color: #362F5A !important; text-align: left !important; }
.lg-sh h2 span, .lg-sh h1.heading span { color: #362F5A !important; opacity: .7; }
.lg-sh .paragraph:not(.is-uppercase-2) { margin: 18px 0 0 !important; max-width: 560px !important; font-family: var(--serif-font) !important; font-size: 17.6px !important; line-height: 1.6 !important; color: #585366 !important; text-align: left !important; }
.lg-sh .paragraph strong, .lg-sh .paragraph b { color: #362F5A; font-weight: 700; }
.lg-sh-cta { display: inline-flex !important; align-items: center !important; gap: 10px !important; margin: 24px 0 0 !important; padding: 8px 0 6px !important; border: 0 !important; border-bottom: 1px solid var(--lg-tinto) !important; border-radius: 0 !important; background: transparent !important; font-family: var(--sans-font) !important; font-size: 11.5px !important; line-height: 1 !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--lg-tinto) !important; text-decoration: none !important; cursor: pointer; transition: color .45s var(--lg-e), border-color .45s var(--lg-e); }
.lg-sh-cta::after { content: "→"; font-family: var(--sans-font); font-size: 14px; line-height: 1; transition: transform .6s var(--lg-e); }
.lg-sh-cta[href$=".pdf"]::after { content: "↓"; }
@media (hover: hover) { .lg-sh-cta:hover { color: #362F5A !important; border-color: #362F5A !important; } .lg-sh-cta:hover::after { transform: translateX(6px); } }
.lg-sh-cta:focus-visible { outline: 2px solid var(--lg-tinto); outline-offset: 4px; }
.lg-sh .content-1-button { margin: 0 !important; }
.lg-sh .lg-ig-acc { margin-top: 18px !important; display: flex !important; align-items: center !important; gap: 16px !important; padding: 0 !important; }
.lg-sh .grid-3-block-1.izq { flex-direction: row !important; align-items: center !important; gap: 16px !important; margin-top: 18px !important; width: auto !important; }
.lg-sh .grid-3-block-1.izq .paragraph { margin: 0 !important; }
.lg-sh .lg-cm { margin-top: 40px !important; }
/* cabecera → contenido: 48 px */
.vertical-flex.with-gap-4em:has(> .lg-sh) { grid-row-gap: 48px !important; }
.content-1-layout-1 > .lg-sh { margin-bottom: 48px !important; }
.lg-esp-head, .lg-ig-head { margin-bottom: 48px !important; }
@media (max-width: 991px) { .lg-sh h1.heading, .lg-sh h2 { font-size: 44px !important; line-height: 1.08 !important; } }
@media (max-width: 479px) {
  .lg-sh > .paragraph.is-uppercase-2, .lg-sh .lg-sh-k { margin-bottom: 12px !important; }
  .lg-sh h1.heading, .lg-sh h2 { font-size: 34px !important; line-height: 1.1 !important; }
  .lg-sh .paragraph:not(.is-uppercase-2) { margin-top: 14px !important; font-size: 16px !important; }
  .lg-sh-cta { margin-top: 20px !important; }
  .vertical-flex.with-gap-4em:has(> .lg-sh) { grid-row-gap: 32px !important; }
  .content-1-layout-1 > .lg-sh, .lg-esp-head, .lg-ig-head { margin-bottom: 32px !important; }
}
/* WAVE 15b · restos que sumaban aire tras la cabecera: .lg-arch traía margin-top 1.5em y .content-1-layout-1 un row-gap de 55 px */
.lg-arch { margin-top: 0 !important; }
.content-1-layout-1 { gap: 0 !important; grid-row-gap: 0 !important; row-gap: 0 !important; }
.lg-ig-head { display: block !important; }
/* WAVE 15c · el módulo de contacto tenía su propio row-gap de 24 en la retícula (h→p salía a 42); Botánica/Papagena traían un <div class="button"> VACÍO en la cabecera que pintaba una línea bajo el titular */
.section-13 .block-text .lg-sh .w-layout-grid { grid-row-gap: 0 !important; row-gap: 0 !important; gap: 0 !important; }
.lg-sh .button:empty, .lg-sh .grid-3-block-1 > div:empty { display: none !important; }
/* WAVE 15d · variante de la cabecera sobre tinta (.lg-sh.is-dark): kicker salmón editorial, titular y CTA crema, párrafo crema al 82 % */
.lg-sh.is-dark > .paragraph.is-uppercase-2, .lg-sh.is-dark .lg-sh-k { color: #E6948C !important; }
.lg-sh.is-dark h2, .lg-sh.is-dark h1.heading { color: #F5E7E6 !important; }
.lg-sh.is-dark h2 span, .lg-sh.is-dark h1.heading span { color: #F5E7E6 !important; opacity: .7; }
.lg-sh.is-dark .paragraph:not(.is-uppercase-2) { color: rgba(245,231,230,.82) !important; }
.lg-sh.is-dark .paragraph strong, .lg-sh.is-dark .paragraph b { color: #F5E7E6; }
.lg-sh.is-dark .lg-sh-cta { color: #F5E7E6 !important; border-color: rgba(245,231,230,.6) !important; }
@media (hover: hover) { .lg-sh.is-dark .lg-sh-cta:hover { color: #E6948C !important; border-color: #E6948C !important; } }

/* ═══════════ WAVE 16 (2 sep 2026, noche) · contenedor único con blanco · ritmo 120 · formulario por bloques (A) · UN solo botón ═══════════ */
/* 1) CONTENIDO UNIFICADO: máx. 1200 px centrado, 6em de margen mínimo (a 1440: borde a 120 · a 1280: 65 · a 1024: 52). Lo que va a sangre no cambia. */
@media (min-width: 992px) {
  .container, .container-2, .container-21, .container-29, .container-33, .container-34, .container-38, .container-39, .container-41, .container-43, .container-44, .container-47, .container-48, .container-5, .container-9, .lg-esp-head, .lg-ig-head, .content-1 .content-1-column-3, .lg-foot, .section-13 .grid-halves-2 { max-width: calc(1200px + 12em) !important; width: 100% !important; margin-left: auto !important; margin-right: auto !important; padding-left: 6em !important; padding-right: 6em !important; box-sizing: border-box !important; }
  .section-13 .block-text { padding-left: 0 !important; padding-right: 3em !important; }
  .section-42 .content-9 > :first-child { padding-left: 0 !important; }
  /* 2) RITMO: 120 px arriba y abajo en toda sección de contenido; cabecera → contenido 56 */
  .padding:not(.ii), .padding.less-paddings:not(.ii), .padding-2, .padding-4, body:has(.lg-arch) .section.white > .container > .padding.less-paddings, body:has(.lg-arch) .lg-esp, body:has(.lg-arch) .lg-ig, body:has(.lg-arch) .content-1, .lg-esp, .lg-ig, .section-13 { padding-top: 120px !important; padding-bottom: 120px !important; }
  .padding.bottom-0em { padding-bottom: 0 !important; }
  .padding.top-5em { padding-top: 56px !important; }
  .lg-foot { padding-top: 96px !important; }
  .vertical-flex.with-gap-4em:has(> .lg-sh) { grid-row-gap: 56px !important; }
  .content-1-layout-1 > .lg-sh, .lg-esp-head, .lg-ig-head { margin-bottom: 56px !important; }
}
/* 3) FORMULARIO POR BLOQUES (opción A, decisión usuario): cajas rellenas sin líneas, etiqueta tinto dentro, foco = caja blanca con anillo tinto */
.lg-box { background: #F7F3F2 !important; border: 0 !important; box-shadow: inset 0 0 0 0 var(--lg-tinto); padding: 15px 18px 13px !important; min-height: 64px; transition: background .3s, box-shadow .3s; }
.lg-box:focus-within { background: #FFFFFF !important; box-shadow: inset 0 0 0 1.5px var(--lg-tinto); }
.lg-box label { color: var(--lg-tinto) !important; font-size: 10.5px !important; letter-spacing: .12em !important; }
.lg-chips { gap: 8px; }
.lg-chip span { background: #F7F3F2 !important; border-color: transparent !important; padding: 15px 18px !important; }
.lg-chip:hover span { background: #F1EAE9 !important; border-color: transparent !important; color: var(--lg-tinto); }
.lg-chip input:checked + span { background: var(--lg-tinto) !important; color: var(--lg-cream) !important; }
.lg-frow, .lg-frow3 { gap: 8px; }
.lg-fdetails { gap: 8px; }
/* 4) UN SOLO BOTÓN. Fuera las rayas: el CTA de cabecera y el «añadir fecha» pasan a Palco compacto; las pestañas de prensa a cajas; los CTAs de tarjeta comparten filete */
.lg-sh-cta, .lg-btn-sm .button-inner { display: inline-flex !important; align-items: center !important; gap: 12px !important; }
.lg-sh-cta { position: relative; overflow: hidden; isolation: isolate; margin: 24px 0 0 !important; padding: 15px 22px !important; border: 1px solid rgba(245,231,230,.28) !important; background: var(--lg-ink) !important; color: var(--lg-cream) !important; font-family: var(--sans-font) !important; font-size: 11.5px !important; line-height: 1 !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; text-decoration: none !important; transition: border-color .45s var(--lg-e); }
.lg-sh-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--lg-tinto); transform: scaleX(0); transform-origin: left center; transition: transform .6s var(--lg-e); }
.lg-sh-cta::after { content: "→"; font-size: 14px; line-height: 1; transition: transform .6s var(--lg-e); }
@media (hover: hover) { .lg-sh-cta:hover { color: var(--lg-cream) !important; border-color: var(--lg-tinto) !important; } .lg-sh-cta:hover::before { transform: scaleX(1); } .lg-sh-cta:hover::after { transform: translateX(6px); } }
.lg-sh.is-dark .lg-sh-cta { background: transparent !important; border-color: rgba(245,231,230,.45) !important; color: #F5E7E6 !important; }
.lg-sh.is-dark .lg-sh-cta:hover { border-color: var(--lg-tinto) !important; color: #F5E7E6 !important; }
.button.lg-btn-sm { display: inline-flex !important; width: auto !important; }
.button.lg-btn-sm .button-inner { padding: 13px 20px !important; }
.button.lg-btn-sm .button-text { font-size: 11px !important; }
.lg-fmore { padding: 13px 18px !important; border: 1px solid rgba(54,47,90,.25) !important; color: #362F5A !important; font-size: 11px !important; letter-spacing: .14em !important; transition: border-color .45s var(--lg-e), color .45s var(--lg-e); }
.lg-fmore:hover { border-color: var(--lg-tinto) !important; color: var(--lg-tinto) !important; }
.tab-link-2, .tab-link-2.w--current { border-radius: 0 !important; background: transparent !important; padding: 13px 18px !important; border: 1px solid rgba(54,47,90,.22) !important; margin: 0 8px 8px 0 !important; }
.tab-link-2 .tab-link-text-2 { font-family: var(--sans-font) !important; font-size: 11px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: #362F5A !important; }
.tab-link-2.w--current { background: var(--lg-ink) !important; border-color: var(--lg-ink) !important; }
.tab-link-2.w--current .tab-link-text-2 { color: var(--lg-cream) !important; }
.case-2-block .button, .case-3-block .button, .case-2-button .button { background: transparent !important; border: 0 !important; border-top: 1px solid rgba(255,255,255,.28) !important; border-radius: 0 !important; }
.case-2-block:hover .button, .case-3-block:hover .button { border-top-color: #E6948C !important; }
/* 5) Hallazgos del lint: 9,5 px en cortinas · huecos y alineación de la cuenta IG en móvil · color del h1 del héroe · tamaños de tarjeta en móvil */
.lg-curt-subs { font-size: 10px !important; }
.lg-sh .grid-3-block-1.izq { align-self: flex-start !important; justify-self: start !important; margin-left: 0 !important; }
.is-hero-7-title-1 { color: #362F5A !important; }
h1 span, h2 span, h3 span { font-size: inherit !important; }
@media (max-width: 479px) {
  .lg-sh .lg-ig-acc, .lg-sh .grid-3-block-1.izq { margin-top: 14px !important; }
  .heading.is-article-1-title, h2.heading.is-small-title, .heading.is-small-title { font-size: 27px !important; line-height: 1.15 !important; }
  .lg-curt-desc { font-size: 18px !important; }
  .lg-fclaim { font-size: 22px !important; }
}

/* WAVE 16b · segunda pasada del lint: contenedor único también en tablet/móvil, ritmo móvil 72, cabeceras «center centrado» a la izquierda, sidebar de artículo al borde, tamaños móviles */
@media (max-width: 991px) {
  .container, .container-2, .container-21, .container-29, .container-33, .container-34, .container-38, .container-39, .container-41, .container-43, .container-44, .container-47, .container-48, .container-5, .container-9, .lg-esp-head, .lg-ig-head, .content-1 .content-1-column-3, .lg-foot, .section-13 .grid-halves-2 { max-width: none !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 4em !important; padding-right: 4em !important; box-sizing: border-box !important; }
  .padding:not(.ii), .padding.less-paddings:not(.ii), .padding-2, .padding-4, .lg-esp, .lg-ig, .section-13, body:has(.lg-arch) .content-1 { padding-top: 72px !important; padding-bottom: 72px !important; }
  .padding.bottom-0em { padding-bottom: 0 !important; }
  .lg-foot { padding-top: 56px !important; }
}
@media (max-width: 479px) {
  .container, .container-2, .container-21, .container-29, .container-33, .container-34, .container-38, .container-39, .container-41, .container-43, .container-44, .container-47, .container-48, .container-5, .container-9, .lg-esp-head, .lg-ig-head, .content-1 .content-1-column-3, .lg-foot, .section-13 .grid-halves-2 { padding-left: 8vw !important; padding-right: 8vw !important; }
  .lg-sh-cta { margin-top: 20px !important; }
  .w-richtext h2 { font-size: 27px !important; line-height: 1.15 !important; }
  h1.heading-71 { font-size: 34px !important; line-height: 1.1 !important; }
  body .heading.is-article-1-title, body h2.heading.is-small-title, body .heading.is-small-title { font-size: 27px !important; line-height: 1.15 !important; }
  body .lg-curt .lg-curt-desc { font-size: 18px !important; }
}
.section-42 .content-9 > :first-child { padding-left: 0 !important; }
.section-13 .block-text { padding-left: 0 !important; }
.lg-sh .w-layout-grid.grid-3.center.centrado, .lg-sh .grid-3.center { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: flex-start !important; text-align: left !important; }
.lg-sh .paragraph.center, .lg-sh .heading.cent, .lg-sh .heading.center { text-align: left !important; }
.case-3-content.lg-anchored .case-3-title-text-2 { font-size: 10px !important; }
/* sidebar de artículo/ficha: la línea vertical decorativa (pin de IX2, ya sin animación) metía 22 px de sangría; fuera y al borde */
.article-about .vert-line { display: none !important; }
.article-about .article-about-block { padding-left: 0 !important; margin-left: 0 !important; }
.article-about .paragraph:not(.is-uppercase-2), .article-about .sidebar-link { font-size: 16px !important; }
p strong, p b, li strong { font-size: inherit !important; }

/* WAVE 16c · tercera pasada del lint: cabeceras «central», «with-gap-2em» y «title-with-line» entran en el sistema; sidebars de ficha/artículo al borde; doble padding; tamaños móviles con especificidad suficiente */
.lg-sh .paragraph.is-uppercase-2 { margin: 0 0 14px !important; font-family: var(--sans-font) !important; font-size: 11px !important; line-height: 1 !important; font-weight: 700 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: #261716 !important; text-align: left !important; }
.lg-sh.is-align-center, .lg-sh.central, .lg-sh { align-self: flex-start !important; align-items: flex-start !important; text-align: left !important; }
.lg-sh .title-with-line { padding: 0 !important; margin: 0 !important; display: block !important; color: inherit !important; }
.lg-sh .title-with-line > :not(.paragraph) { display: none !important; }
.lg-sh .max-width-100 { max-width: 760px !important; }
.vert-line { display: none !important; }
.case-study-sidebar, .article-about, .article-about-block, .case-study-side-block { padding-left: 0 !important; margin-left: 0 !important; }
.case-study-sidebar .paragraph:not(.is-uppercase-2), .case-study-sidebar a, .article-about .paragraph:not(.is-uppercase-2), .article-about .sidebar-link { font-size: 16px !important; }
.padding-2 .padding, .padding-2 .padding.less-paddings { padding-top: 0 !important; padding-bottom: 0 !important; }
.lg-curt-desc { font-size: 22px !important; }
@media (min-width: 992px) { .container-41 { padding-top: 120px !important; padding-bottom: 120px !important; } }
@media (max-width: 991px) { .container-41 { padding-top: 72px !important; padding-bottom: 72px !important; } }
@media (max-width: 479px) {
  body .case-2-block .heading.is-article-1-title, body .case-3-block .heading.wh, body .heading.is-article-1-title.is-article-1-title, body .heading.is-small-title.is-small-title, body h2.heading.is-small-title.is-small-title { font-size: 27px !important; line-height: 1.15 !important; }
  h1.heading-71.is-small-title { font-size: 34px !important; line-height: 1.1 !important; }
  body .lg-curt .lg-curt-desc { font-size: 18px !important; }
}

/* WAVE 16d · restos: el envoltorio redondeado rosa de las pestañas de prensa (Webflow), la galería sin padding fuera de la home, el titular destacado del blog en móvil */
.tabs-links-2.w-tab-menu, .w-tab-menu { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.tabs-links-2 .tab-link-2, .w-tab-menu .tab-link-2 { margin: 0 !important; }
@media (min-width: 992px) { .content-1 { padding-top: 120px !important; padding-bottom: 120px !important; } }
@media (max-width: 991px) { .content-1 { padding-top: 72px !important; padding-bottom: 72px !important; } }
@media (max-width: 479px) { body .heading-72.is-article-1-title, body .heading-72.is-article-1-title.wh { font-size: 27px !important; line-height: 1.15 !important; } }

/* ═══════════ WAVE 17 (2 sep 2026, noche) · cabeceras CENTRADAS donde el contenido de debajo es simétrico; a la izquierda (.lg-left) en contacto, Instagram y cabeceras con cuenta ═══════════ */
.lg-sh:not(.lg-left), .lg-sh:not(.lg-left) .w-layout-grid, .lg-sh:not(.lg-left) .grid-3, .lg-sh:not(.lg-left) .grid-3-block-1, .lg-sh:not(.lg-left) .title-with-line { align-items: center !important; justify-content: flex-start !important; text-align: center !important; }
.lg-sh:not(.lg-left) h1.heading, .lg-sh:not(.lg-left) h2, .lg-sh:not(.lg-left) .paragraph, .lg-sh:not(.lg-left) .lg-sh-cta, .lg-sh:not(.lg-left) img.lg-sh-k, .lg-sh:not(.lg-left) .content-1-button { margin-left: auto !important; margin-right: auto !important; text-align: center !important; }
.lg-sh:not(.lg-left) .lg-sh-cta { display: inline-flex !important; }
/* tira de espacios: texto centrado, flechas abajo a la derecha en la misma línea */
.lg-esp-head { position: relative; flex-direction: column !important; align-items: center !important; }
.lg-esp-nav { position: absolute; right: 6em; bottom: 4px; }
@media (max-width: 991px) { .lg-esp-nav { right: 4em; } }
@media (max-width: 767px) { .lg-esp-nav { position: static; align-self: center !important; margin-top: 18px; } }
/* Instagram: cabecera a la izquierda, perfil + botón a la derecha en la base */
.lg-ig-head { display: flex !important; align-items: flex-end !important; justify-content: space-between !important; gap: 40px; }
.lg-ig-head .lg-sh { width: auto !important; max-width: 760px !important; }
.lg-ig-side { display: flex; align-items: center; gap: 22px; flex: none; padding-bottom: 6px; }
.lg-ig-side .lg-ig-acc { margin: 0 !important; display: flex !important; align-items: center !important; gap: 16px !important; }
.lg-ig-side .lg-sh-cta { margin: 0 !important; }
@media (max-width: 767px) {
  .lg-ig-head { flex-direction: column !important; align-items: flex-start !important; gap: 20px; }
  .lg-ig-side { flex-direction: column; align-items: flex-start; gap: 18px; padding-bottom: 0; }
}

/* WAVE 17b · el pie va a SANGRE (el contenedor único de la ola 16 se había aplicado al propio footer, que es quien pinta el fondo tinta): el fondo ocupa todo el ancho y solo su interior sigue la retícula */
.lg-foot { max-width: none !important; width: 100% !important; margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
.lg-foot > .lg-ftop, .lg-foot > .lg-fcols, .lg-foot > .lg-flegal, .lg-foot > div { max-width: calc(1200px + 12em); width: 100%; margin-left: auto; margin-right: auto; padding-left: 6em; padding-right: 6em; box-sizing: border-box; }
@media (max-width: 991px) { .lg-foot > .lg-ftop, .lg-foot > .lg-fcols, .lg-foot > .lg-flegal, .lg-foot > div { max-width: none; padding-left: 4em; padding-right: 4em; } }
@media (max-width: 479px) { .lg-foot > .lg-ftop, .lg-foot > .lg-fcols, .lg-foot > .lg-flegal, .lg-foot > div { padding-left: 8vw; padding-right: 8vw; } }

/* ═══════════ WAVE 18 (3 sep 2026) · galería = tira por gamas (E2): misma pieza que Espacios; cabecera intacta ═══════════ */
.lg-gal-head { position: relative; margin-bottom: 56px; width: 100% !important; align-self: stretch !important; }  /* el padre centra (align-items:center) y encogía la cabecera a 760: las flechas caían sobre el párrafo */
.lg-gal-head .lg-esp-nav { z-index: 2; }
.lg-gal-head > .lg-sh { margin-bottom: 0 !important; }
.lg-gal-head .lg-esp-nav { position: absolute; right: 0; bottom: 4px; }
.lg-gal-rail { width: 100vw; margin-left: calc(50% - 50vw); gap: 36px !important; padding: 0 !important; }
.lg-gpair { display: flex; gap: 10px; flex: none; scroll-snap-align: start; }
.lg-gph { height: 400px; flex: none; overflow: hidden; background: #F5E7E6; }
.lg-gph img { width: 100%; height: 100%; object-fit: cover; margin: 0 !important; display: block; transition: transform 1.1s var(--lg-e); }
@media (hover: hover) { .lg-gph:hover img { transform: scale(1.04); } }
@media (max-width: 767px) {
  .lg-gal-head .lg-esp-nav { position: static; justify-content: center; margin-top: 18px; }
  .lg-gal-rail { gap: 24px !important; }
  .lg-gpair { gap: 8px; }
  .lg-gph { height: 300px; }
}
@media (prefers-reduced-motion: reduce) { .lg-gph img { transition: none !important; } }

/* WAVE 18b · las flechas de las tiras quedaban bajo la cabecera (.lg-sh ocupa el 100 % y el tema le da z-index): la cabecera no captura el puntero salvo en sus enlaces, y las flechas suben de capa */
.lg-gal-head > .lg-sh, .lg-esp-head > .lg-sh { pointer-events: none; }
.lg-gal-head > .lg-sh a, .lg-gal-head > .lg-sh button, .lg-esp-head > .lg-sh a, .lg-esp-head > .lg-sh button { pointer-events: auto; }
.lg-gal-head .lg-esp-nav, .lg-esp-head .lg-esp-nav { z-index: 20; }

/* WAVE 18c · móvil: el módulo de contacto desbordaba 24 px el ancho de pantalla (la columna del formulario, .container-large-2 de 612 px, no cedía dentro de la retícula de una columna) */
@media (max-width: 991px) {
  .section-13 .grid-halves-2 > * { min-width: 0 !important; }
  .section-13 .container-large-2 { width: 100% !important; max-width: 100% !important; }
  .section-13 .block-text { padding-right: 0 !important; }
}

/* WAVE 18d · galería: hueco UNIFORME (14 px entre todas las fotos, como Espacios) y desplazamiento libre (sin imán de scroll: con pares de anchos distintos se notaba a saltos); las flechas avanzan foto a foto */
.lg-gal-rail { gap: 14px !important; scroll-snap-type: none !important; scroll-behavior: auto; }
.lg-gpair { gap: 14px !important; scroll-snap-align: none !important; }
.lg-gph { scroll-snap-align: none; }
@media (max-width: 767px) { .lg-gal-rail { gap: 10px !important; } .lg-gpair { gap: 10px !important; } }

/* WAVE 21 · la barra de navegación va FIJA y se comía el aire de arriba (23 sep, lo vio el usuario en /contacto).
   Las páginas con foto de cabecera lo compensan dentro del propio héroe (padding-top 143/187/220). Las que
   empiezan con una sección normal, no: nacen en y=0, la barra les tapa 122 px (50 en móvil) y el titular queda
   pegado — en cuatro de ellas, literalmente debajo de la barra. Se les devuelve ese alto.
   Va en MARGEN, no en padding, para sumarse al aire que ya tenga cada una sin tener que conocerlo.
   Excepción: el héroe de Papagena lleva foto de fondo, así que ahí va en padding y la foto sigue llegando arriba. */
.page-wrapper > .main > .section-13:first-child,
.page-wrapper > .main > section.section.padding-2:first-child,
.page-wrapper > .main > section.section:first-child:not(.white),
.page-wrapper > .main > section.section-medium:first-child { margin-top: 122px; }
.page-wrapper > .main > .hero-3:first-child { padding-top: 122px; }
/* En móvil la barra mide 50 y solo aprieta a dos de ellas (medido: 22 px de aire en los
   listados de espacios y 61 en The 19th; contacto, trabaja y Papagena ya iban holgadas
   con 82-110 y sumarles la barra las dejaba más sueltas que el resto del sitio). */
@media (max-width: 991px) {
  .page-wrapper > .main > .section-13:first-child,
  .page-wrapper > .main > section.section:first-child:not(.white) { margin-top: 0; }
  .page-wrapper > .main > .hero-3:first-child { padding-top: 0; }
  .page-wrapper > .main > section.section.padding-2:first-child,
  .page-wrapper > .main > section.section-medium:first-child { margin-top: 50px; }
}

