/* instalaciondeaire.uy: header y hero con el estilo de sanitario.uy (10/2026).
   Se carga después de style.css y solo pisa lo visual: no cambia textos, títulos ni enlaces.
   De sanitario.uy: topbar azul, header transparente sobre el hero que se vuelve blanco al bajar, Oswald 700 en mayúsculas
   para menú, títulos y botones, Open Sans para el texto, botones rectángulo de radio 8 en rojo, eyebrow amarillo,
   velo oscuro sobre la foto. Paleta: la de construfach.com desde 17/10/2026 (navy #0B3557, rojo #DA2141, grises cálidos #F7F5F2/#F0EDE8/#E4E0DA, eyebrow #9AAABB); antes azul #0039A6, rojo #E1251B, amarillo #F5C200. Sin blur. */

@font-face { font-family: "Oswald"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/oswald-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Oswald"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/oswald-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("../fonts/open-sans-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Open Sans"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("../fonts/open-sans-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --f: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  --f-titulos: Oswald, "Arial Narrow", sans-serif;
  --pri: #0B3557; --pri-2: #071F34; --rojo: #1597D6; --rojo-2: #0B7BB8; /* «rojo» por compatibilidad: desde 02/11/2026 es celeste */ --amarillo: #9AAABB;
  --texto: #111827; --radio: 8px;
  --fs-xs: .8125rem;
  --fs-lg: clamp(1.0625rem, .99rem + .3vw, 1.25rem);
  --fs-h1-home: clamp(2.125rem, 1.5rem + 2.6vw, 3.5rem);
  --fs-btn: clamp(1rem, .95rem + .2vw, 1.125rem);
  --alto-topbar: 0px;
  --alto-header: 64px;
}
@media (min-width: 860px) { :root { --alto-topbar: 38px; } }
@media (min-width: 1100px) { :root { --alto-header: 80px; } }

/* ===== Topbar: azul, solo desde 860 px; se va al bajar ===== */
.topbar { display: none; background: var(--pri); color: #fff; font-family: var(--f); font-size: var(--fs-xs); font-weight: 600; position: relative; z-index: 3; }
@media (min-width: 860px) { .topbar { display: block; } }
.topbar__fila { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 38px; }
.topbar__zona { display: inline-flex; align-items: center; gap: 6px; color: #D8DEE4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.topbar__acciones { display: flex; align-items: center; gap: 22px; flex-shrink: 0; }
.topbar a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; letter-spacing: .02em; }
.topbar a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.topbar i { color: #fff; opacity: .85; font-size: 1.05em; }
.site-top { transition: transform .3s ease; }
@media (min-width: 860px) { .site-top.is-scrolled { transform: translateY(calc(-1 * var(--alto-topbar))); } }

/* ===== Header: blanco y sólido; menú Oswald con raya roja en hover ===== */
body { padding-top: calc(var(--alto-topbar) + var(--alto-header)) !important; }
.container { max-width: 1180px; }
.header { background: #fff; box-shadow: none; transition: background-color .25s, box-shadow .25s; }
.site-top.is-scrolled .header, .header--scrolled { box-shadow: 0 6px 20px rgba(17,24,39,.08) !important; }
.header__inner { height: var(--alto-header) !important; padding-top: 0 !important; padding-bottom: 0 !important; gap: 20px !important; }
.header__logo img { height: 46px !important; }
@media (min-width: 1100px) { .header__logo img { height: 60px !important; } }
.header__logo-img--claro { display: none; }
.header__nav { align-self: stretch; }
.header__nav-list { gap: 2px !important; height: 100%; }
.header__nav-list li { display: flex; }
.header__nav-list a {
  position: relative; display: flex; align-items: center; padding: 0 14px;
  font-family: var(--f-titulos) !important; font-weight: 700 !important; font-size: var(--fs-btn) !important;
  text-transform: uppercase; letter-spacing: .04em !important; color: var(--texto) !important; white-space: nowrap;
}
.header__nav-list a::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: 18px; height: 3px; border-radius: 2px;
  background: var(--rojo); transform: scaleX(0); transform-origin: left; transition: transform .2s;
}
.header__nav-list a:hover { color: var(--pri) !important; }
.header__nav-list a:hover::after { transform: scaleX(1); }
@media (min-width: 1100px) and (max-width: 1279px) { .header__nav-list a { padding: 0 10px; } .header__nav-list a::after { left: 10px; right: 10px; } }

/* Botones del header: rectángulo rojo de radio 8, Oswald */
.header__cta, .header__cta-mobile {
  background: var(--rojo) !important; color: #fff !important; border: 2px solid var(--rojo) !important;
  border-radius: var(--radio) !important; box-shadow: none !important; transform: none !important;
}
.header__cta {
  font-family: var(--f-titulos) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .04em !important;
  font-size: var(--fs-btn) !important; line-height: 1.2; padding: .6em 1.1em !important; white-space: nowrap;
}
.header__cta:hover, .header__cta-mobile:hover { background: var(--rojo-2) !important; border-color: var(--rojo-2) !important; }
.header__cta-mobile { width: 58px !important; height: 42px !important; }
.header__hamburger span { background: var(--texto); }

/* Sobre el hero (home y landings): transparente, menú blanco y logo con texto blanco hasta que se baja */
body.home-page { padding-top: 0 !important; }
.home-page .header:not(.header--scrolled) { background: transparent !important; box-shadow: none !important; }
.home-page .header::after { display: none !important; }
.home-page .header:not(.header--scrolled) .header__logo-img { display: none; }
.home-page .header:not(.header--scrolled) .header__logo-img--claro { display: block; }
.home-page .header:not(.header--scrolled) .header__nav-list a { color: #fff !important; text-shadow: 0 1px 8px rgba(0,0,0,.3); }
.home-page .header:not(.header--scrolled) .header__hamburger span { background: #fff !important; }
.home-page .header--scrolled { background: #fff !important; }

/* ===== Hero: foto con velo azul noche, eyebrow amarillo, H1 Oswald grande ===== */
.hero { background: #0A1F4E !important; }
.hero__bg-img { filter: none !important; }
.hero__bg-overlay {
  background: linear-gradient(0deg, rgba(10,12,16,.92) 0%, rgba(10,12,16,.7) 40%, rgba(10,12,16,.35) 80%, rgba(10,12,16,.3) 100%) !important;
}
.hero__layout {
  padding-top: calc(var(--alto-topbar) + var(--alto-header) + 52px) !important;
  padding-bottom: 64px !important; min-height: 0 !important;
}
@media (min-width: 1100px) { .hero__layout { padding-top: calc(var(--alto-topbar) + var(--alto-header) + 96px) !important; padding-bottom: 120px !important; } }
@media (max-width: 600px) { .hero__layout { padding-top: calc(var(--alto-header) + 32px) !important; padding-bottom: 44px !important; } }
.hero__content { max-width: 780px !important; text-shadow: 0 1px 12px rgba(0,0,0,.35); }
.hero__eyebrow {
  display: flex !important; color: var(--amarillo) !important; font-family: var(--f) !important;
  font-size: var(--fs-xs) !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase; margin: 0 0 .4em !important;
}
.hero__eyebrow-line { display: none !important; }
.hero__title {
  font-family: var(--f-titulos) !important; font-size: var(--fs-h1-home) !important; font-weight: 700 !important;
  line-height: 1.05 !important; text-transform: uppercase !important; letter-spacing: .015em !important;
  color: #fff !important; margin: .15em 0 .35em !important; text-wrap: balance;
}
.hero__title em { font-style: normal; color: inherit; }
.hero__subtitle {
  font-family: var(--f) !important; font-size: var(--fs-lg) !important; font-weight: 400 !important; line-height: 1.6 !important;
  color: #E4E8EC !important; max-width: 760px !important; margin-bottom: 0 !important;
}
.hero__actions { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 10px !important; margin: 20px 0 0 !important; }
.hero__actions a { text-shadow: none; }
.hero__btn-primary, .hero__btn-secondary {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em;
  border-radius: var(--radio) !important; font-family: var(--f-titulos) !important; font-weight: 700 !important;
  text-transform: uppercase; letter-spacing: .04em !important; font-size: calc(var(--fs-btn) * 1.1) !important;
  line-height: 1.2; padding: .85em 1.5em !important; min-height: 0 !important; box-shadow: none !important; transform: none !important;
}
.hero__btn-primary::after { display: none !important; }
.hero__btn-primary { background: var(--rojo) !important; color: #fff !important; border: 2px solid var(--rojo) !important; }
.hero__btn-primary:hover { background: var(--rojo-2) !important; border-color: var(--rojo-2) !important; }
.hero__btn-secondary { background: transparent !important; color: #fff !important; border: 2px solid #fff !important; }
.hero__btn-secondary:hover { background: #fff !important; color: var(--pri) !important; }
.hero__btn-primary i, .hero__btn-secondary i { font-size: 1.15em !important; }
.hero__micro { font-family: var(--f) !important; color: #D8DEE4 !important; margin-top: 14px !important; }
@media (max-width: 600px) {
  .hero__actions a { width: 100%; }
  .hero__subtitle { font-size: var(--fs-lg) !important; }
}

/* Menú de celular con la misma letra */
.mobile-menu__nav a, .mobile-link { font-family: var(--f-titulos) !important; text-transform: uppercase; letter-spacing: .03em; }
.mobile-menu__wsp { background: var(--rojo) !important; border-radius: var(--radio) !important; font-family: var(--f-titulos) !important; text-transform: uppercase; }
.mobile-menu__tel { border-radius: var(--radio) !important; font-family: var(--f-titulos) !important; text-transform: uppercase; }

@media (prefers-reduced-motion: reduce) { .site-top { transition: none; } }

/* ===== Páginas internas: bloque azul de la marca con texto blanco (hero sin foto de sanitario.uy) ===== */
.page-intro { background: linear-gradient(180deg, var(--pri) 0, var(--pri-2) 100%) !important; color: #fff; padding: 52px 0 60px !important; }
.page-intro::before, .page-intro::after { display: none !important; }
.page-intro__eyebrow { font-family: var(--f) !important; font-size: var(--fs-xs) !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase; color: rgba(255,255,255,.85) !important; margin: 0 0 .4em !important; }
.page-intro__title {
  font-family: var(--f-titulos) !important; font-size: clamp(2rem, 1.55rem + 1.9vw, 3.125rem) !important; font-weight: 700 !important;
  line-height: 1.05 !important; text-transform: uppercase !important; letter-spacing: .015em !important; color: #fff !important; margin: .15em 0 .35em !important; text-wrap: balance;
}
.page-intro__desc { font-family: var(--f) !important; font-size: var(--fs-lg) !important; line-height: 1.6 !important; color: #E4E8EC !important; max-width: 760px !important; margin: 0 !important; }
@media (max-width: 600px) { .page-intro { padding: 32px 0 40px !important; } }

/* =====================================================================================================
   RESTO DEL SITIO (secciones, tarjetas, FAQ, contacto, footer) con el estilo de sanitario.uy
   ===================================================================================================== */

/* Tipografía: "Barlow Condensed" y "Host Grotesk" (las de style.css) apuntan a Oswald y Open Sans locales,
   así todo style.css las toma sin reescribirlo y no se baja Google Fonts. */
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("../fonts/oswald-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 400 900; font-display: swap; src: url("../fonts/oswald-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Host Grotesk"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("../fonts/open-sans-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Host Grotesk"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("../fonts/open-sans-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --texto-2: #4A5765; --borde: #E5E7EB; --fondo-2: #F7F5F2; --fondo-3: #F9FAFB; --nota: #FDECEF;
  --sombra: 0 6px 24px rgba(11,53,87,.10);
  --fs-sm: clamp(.875rem, .85rem + .1vw, .9375rem);
  --fs-base: clamp(1rem, .96rem + .15vw, 1.0625rem);
  --fs-h3: clamp(1.25rem, 1.15rem + .4vw, 1.5rem);
  --fs-h2: clamp(1.625rem, 1.35rem + 1.1vw, 2.25rem);
}
body { font-family: var(--f); font-size: var(--fs-base); line-height: 1.65; color: var(--texto); }
h1, h2, h3 { font-family: var(--f-titulos); text-transform: uppercase; font-weight: 700; letter-spacing: .015em; text-wrap: balance; }
.container { padding-left: 16px; padding-right: 16px; }
@media (min-width: 700px) { .container { padding-left: 28px; padding-right: 28px; } }
main p a:not([class]), main li a:not([class]), main td a:not([class]) { color: var(--pri); }

/* ===== Botones: rectángulo de radio 8, Oswald en mayúsculas. Los de presupuesto/WhatsApp en rojo. ===== */
.servicios__cta-btn, .servicio-card__btn, .pasos__cta-btn, .quienes-somos__btn, .faq__cta-btn, .contacto-home__wa, .contacto-home__submit,
.footer__wa, .btn, .cta-bottom__btn, .cta-bottom__phone, .precio-card__cta, .capacidad__link, .calc__btn, .contacto__submit {
  border-radius: var(--radio) !important;
  font-family: var(--f-titulos) !important; font-weight: 700 !important; text-transform: uppercase; letter-spacing: .04em !important;
  line-height: 1.2; box-shadow: none !important; transform: none !important;
}
.servicios__cta-btn, .pasos__cta-btn, .quienes-somos__btn, .faq__cta-btn, .contacto-home__wa, .footer__wa, .cta-bottom__btn,
.btn--primary, .btn--whatsapp, .precio-card__cta {
  background: var(--rojo) !important; color: #fff !important; border: 2px solid var(--rojo) !important;
  font-size: var(--fs-btn) !important; padding: .8em 1.3em !important;
}
.servicios__cta-btn:hover, .pasos__cta-btn:hover, .quienes-somos__btn:hover, .faq__cta-btn:hover, .contacto-home__wa:hover, .footer__wa:hover,
.cta-bottom__btn:hover, .btn--primary:hover, .btn--whatsapp:hover, .precio-card__cta:hover {
  background: var(--rojo-2) !important; border-color: var(--rojo-2) !important; color: #fff !important;
}
.servicios__cta-btn::after, .pasos__cta-btn::after, .quienes-somos__btn::after, .faq__cta-btn::after, .btn::after { display: none !important; }
/* Secundarios en azul */
.contacto-home__submit, .contacto__submit, .calc__btn, .capacidad__link {
  background: var(--pri) !important; color: #fff !important; border: 2px solid var(--pri) !important; font-size: var(--fs-btn) !important; padding: .8em 1.3em !important;
}
.contacto-home__submit:hover, .contacto__submit:hover, .calc__btn:hover, .capacidad__link:hover { background: var(--pri-2) !important; border-color: var(--pri-2) !important; }

/* ===== Secciones: aire de sanitario.uy, fondos alternados y raya roja bajo el H2 ===== */
.servicios, .zona-texto, .secciones, .pasos, .quienes-somos, .diferenciadores, .zonas-home, .faq, .contacto-home, .incluye, .capacidad,
.precios, .zonas-dir, .zona-linderas, .servicio-barrios, .contacto, .calc {
  padding-top: clamp(40px, 5vw, 72px) !important; padding-bottom: clamp(40px, 5vw, 72px) !important;
}
.relacionados { padding-top: clamp(28px, 3vw, 44px) !important; padding-bottom: clamp(28px, 3vw, 44px) !important; border-top: 1px solid var(--borde) !important; background: #fff !important; }
.servicios { background: var(--fondo-2) !important; }
.incluye, .quienes-somos, .diferenciadores, .faq { background: var(--fondo-3) !important; }
.capacidad, .pasos, .zona-texto, .contacto-home, .zonas-home { background: #fff !important; }
.precios { background: var(--fondo-2) !important; }

.servicios__title, .pasos__title, .quienes-somos__title, .diferenciadores__title, .zonas-home__title, .faq__title, .contacto-home__title,
.zona-texto__title, .secciones__h2, .relacionados__title, .incluye__title, .capacidad__title, .precios__title, .zonas-dir__title,
.zona-linderas__title, .calc__title, .contacto__form-title, .ar-more__title, .ar-keypoints__title, .section-title {
  font-family: var(--f-titulos) !important; text-transform: uppercase !important; letter-spacing: .015em !important;
  color: var(--pri) !important; font-weight: 700 !important;
}
.servicios__title, .pasos__title, .quienes-somos__title, .diferenciadores__title, .zonas-home__title, .faq__title, .contacto-home__title,
.zona-texto__title, .secciones__h2, .capacidad__title, .precios__title, .zonas-dir__title, .zona-linderas__title, .calc__title, .section-title {
  font-size: var(--fs-h2) !important; line-height: 1.1 !important;
}
.servicios__title::after, .pasos__title::after, .quienes-somos__title::after, .diferenciadores__title::after, .zonas-home__title::after,
.faq__title::after, .contacto-home__title::after, .zona-texto__title::after, .secciones__h2::after, .capacidad__title::after,
.precios__title::after, .zonas-dir__title::after, .zona-linderas__title::after, .calc__title::after {
  content: ""; display: block; width: 44px; height: 4px; border-radius: 2px; background: var(--rojo); margin-top: 14px;
}
.relacionados__title { font-size: var(--fs-h3) !important; }
.pasos__header, .diferenciadores__header, .servicios__header { text-align: left !important; margin-left: 0 !important; }
.secciones__h3, .pasos__step-title, .dif-item__title, .servicio-card__title, .precio-card__title, .ar-card__title {
  font-family: var(--f-titulos) !important; text-transform: uppercase !important; letter-spacing: .02em !important; font-weight: 700 !important;
}
.secciones__h3, .pasos__step-title, .dif-item__title, .precio-card__title { color: var(--pri) !important; }
.servicios__lead, .pasos__lead, .diferenciadores__lead, .zonas-home__lead, .faq__lead, .contacto-home__lead, .capacidad__lead, .precios__lead, .zona-linderas__lead,
.calc__lead, .quienes-somos__text, .zona-texto p, .secciones p, .dif-item__desc, .pasos__desc, .incluye__list li, .incluye__nota {
  font-family: var(--f) !important; color: var(--texto-2) !important;
}
.servicios__lead, .pasos__lead, .diferenciadores__lead, .zonas-home__lead, .faq__lead, .contacto-home__lead, .capacidad__lead, .precios__lead, .calc__lead {
  font-size: var(--fs-base) !important; line-height: 1.65 !important; max-width: 760px;
}
.quienes-somos__lead { font-family: var(--f) !important; color: var(--texto) !important; }
.servicios__cta-link, .zona-texto__link, .relacionados__list a, .secciones a, .zona-texto a, .quienes-somos a:not(.quienes-somos__btn), .faq__a a, .zonas-home__otras a,
.faq__cta a:not(.faq__cta-btn), .pasos__cta a:not(.pasos__cta-btn) {
  color: var(--pri) !important; text-decoration-color: rgba(11,53,87,.35) !important;
}

/* ===== Servicios (home): tarjetas con foto, velo azul noche y raya roja que crece ===== */
.servicio-card { border-radius: 12px !important; box-shadow: 0 4px 14px rgba(11,53,87,.10) !important; transition: transform .2s ease, box-shadow .2s ease; }
.servicio-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(11,53,87,.20) !important; }
.servicio-card::before { content: ""; position: absolute; left: 0; bottom: 0; height: 4px; width: 44px; background: var(--rojo); z-index: 3; transition: width .3s ease; }
.servicio-card:hover::before { width: 100%; }
.servicio-card::after { background: linear-gradient(0deg, rgba(10,12,16,.92) 0%, rgba(10,12,16,.5) 55%, rgba(10,12,16,.08) 100%) !important; }
.servicio-card__btn { background: var(--rojo) !important; color: #fff !important; border: 0 !important; font-size: var(--fs-sm) !important; padding: .75em 1em !important; }
.servicio-card__btn:hover { background: var(--rojo-2) !important; }

/* ===== Franja de números: azul de la marca ===== */
.stats-strip { background: var(--pri) !important; }
.stats-strip__num { font-family: var(--f-titulos) !important; color: #fff !important; }
.stats-strip__label { font-family: var(--f) !important; color: #D8DEE4 !important; }
.stats-strip__item { border-color: rgba(255,255,255,.18) !important; }

/* ===== Qué incluye: tarjetas blancas con filete azul y rojo ===== */
.incluye__col { border-radius: 12px !important; box-shadow: 0 4px 14px rgba(11,53,87,.06); }
.incluye__col--si { border-top: 4px solid var(--pri) !important; }
.incluye__col--no { border-top: 4px solid var(--rojo) !important; }
.incluye__title { font-size: var(--fs-h3) !important; }
.incluye__col--no .incluye__title i, .incluye__col--no .incluye__list li i { color: var(--rojo) !important; }

/* ===== Tablas: marco redondeado, encabezado azul, filas alternadas ===== */
.capacidad__table, .secciones__tabla, .ar-table { border-collapse: separate !important; border-spacing: 0; width: 100%; font-size: var(--fs-sm); border: 1px solid var(--borde) !important; border-radius: 12px !important; overflow: hidden; background: #fff; }
.capacidad__table th, .secciones__tabla th, .ar-table th {
  background: var(--pri) !important; color: #fff !important; font-family: var(--f-titulos) !important; text-transform: uppercase; letter-spacing: .04em; font-weight: 700 !important;
  padding: 12px 14px !important; border: 0 !important; text-align: left;
}
.capacidad__table td, .secciones__tabla td, .ar-table td { padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid var(--borde) !important; }
.capacidad__table tr:last-child td, .secciones__tabla tr:last-child td, .ar-table tr:last-child td { border-bottom: 0 !important; }
.capacidad__table tbody tr:nth-child(even), .secciones__tabla tbody tr:nth-child(even), .ar-table tbody tr:nth-child(even) { background: var(--fondo-3); }
.capacidad__table td:first-child, .secciones__tabla td:first-child { font-weight: 700; color: var(--texto); }
.secciones__tabla-wrap, .ar-table-wrap { border: 0 !important; border-radius: 12px !important; overflow-x: auto; }

/* Listas con viñeta roja cuadrada como sanitario.uy */
.secciones__lista { list-style: none !important; padding-left: 0 !important; }
.secciones__lista > li { position: relative; padding-left: 1.35em !important; }
.secciones__lista > li::before { content: "" !important; position: absolute; left: .15em; top: .68em; width: 7px; height: 7px; border-radius: 2px; background: var(--rojo); }
.secciones__lista > li > i:first-child { display: none; }
.secciones__nota { background: var(--nota) !important; border: 0 !important; border-left: 4px solid var(--rojo) !important; border-radius: 10px !important; }
.secciones__card { background: #fff; border: 1px solid var(--borde) !important; border-radius: 12px !important; box-shadow: 0 4px 14px rgba(11,53,87,.06) !important; position: relative; overflow: hidden; }
.secciones__card::after { content: ""; position: absolute; left: 0; bottom: 0; height: 4px; width: 44px; background: var(--rojo); border-radius: 0 2px 0 0; }

/* ===== Pasos: ícono en círculo azul con línea ===== */
.pasos__icon { background: var(--pri) !important; color: #fff !important; border-color: #fff !important; outline-color: var(--pri) !important; box-shadow: none !important; }
.pasos__item:not(:last-child)::after { background: #E4E0DA !important; }

/* ===== Diferenciadores: tarjetas blancas con ícono en círculo celeste y raya roja ===== */
.dif-item {
  position: relative; background: #fff; border: 1px solid var(--borde) !important; border-radius: 12px !important; padding: 22px 20px 24px !important;
  box-shadow: 0 4px 14px rgba(11,53,87,.06) !important; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease;
}
.dif-item::after { content: ""; position: absolute; left: 0; bottom: 0; height: 4px; width: 44px; background: var(--rojo); transition: width .3s ease; }
.dif-item:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(11,53,87,.14) !important; }
.dif-item:hover::after { width: 100%; }
.dif-item__icon { background: #F0EDE8 !important; border-radius: 50% !important; width: 64px !important; height: 64px !important; display: grid !important; place-items: center; color: var(--pri) !important; font-size: 1.6rem !important; }

/* ===== Precios ===== */
.precio-card { border-radius: 12px !important; border: 1px solid var(--borde) !important; box-shadow: 0 4px 14px rgba(11,53,87,.06) !important; position: relative; overflow: hidden; }
.precio-card::after { content: ""; position: absolute; left: 0; bottom: 0; height: 4px; width: 44px; background: var(--rojo); }
.precio-card__icon { background: #F0EDE8 !important; color: var(--pri) !important; border-radius: 50% !important; }
.precios__eyebrow { color: var(--rojo) !important; }

/* ===== Quiénes somos ===== */
.quienes-somos__img { border-radius: 12px !important; box-shadow: 0 18px 40px rgba(17,24,39,.12) !important; }

/* ===== Zonas: chips blancos con borde, hover azul ===== */
.zonas-home__chip, .zonas-dir__tags a, .servicio-barrios a { border-radius: var(--radio) !important; border: 1px solid var(--borde) !important; background: #fff !important; font-family: var(--f) !important; font-weight: 600 !important; color: var(--texto) !important; }
.zonas-home__chip i { color: var(--rojo) !important; }
.zonas-home__chip:hover, .zonas-dir__tags a:hover, .servicio-barrios a:hover { background: var(--pri) !important; border-color: var(--pri) !important; color: #fff !important; }
.zonas-home__chip:hover i { color: #fff !important; }
.zonas-dir__card { border-radius: 12px !important; border: 1px solid var(--borde) !important; box-shadow: 0 4px 14px rgba(11,53,87,.06) !important; }

/* ===== Preguntas frecuentes: tarjetas con + rojo ===== */
.faq__list { gap: 10px !important; max-width: 820px; }
.faq__item, .ar-faq__item { border: 1px solid var(--borde) !important; border-radius: 12px !important; background: #fff !important; box-shadow: none !important; transition: border-color .2s, box-shadow .2s; }
.faq__item[open], .ar-faq__item[open] { border-color: #E4E0DA !important; box-shadow: var(--sombra) !important; }
.faq__q { font-family: var(--f) !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; font-size: var(--fs-base) !important; color: var(--texto) !important; }
.faq__item summary:hover .faq__q { color: var(--pri) !important; }
.faq__icon { background: none !important; color: var(--rojo) !important; border: 0 !important; width: auto !important; height: auto !important; font-size: 1.4em !important; }
.faq__a p { color: var(--texto-2) !important; font-family: var(--f) !important; }
.faq__cta { justify-content: flex-start !important; align-items: center; gap: 16px !important; }

/* ===== Contacto ===== */
.contacto-home__form { background: #fff !important; border: 1px solid var(--borde) !important; border-top: 4px solid var(--pri) !important; border-radius: 12px !important; box-shadow: var(--sombra) !important; }
.contacto-home__form-title { font-family: var(--f-titulos) !important; text-transform: uppercase; color: var(--pri) !important; }
.contacto-home__form input, .contacto-home__form select, .contacto-home__form textarea {
  border: 1px solid #CBD5E1 !important; border-radius: 8px !important; font-family: var(--f) !important; background: #fff !important;
}
.contacto-home__form input:focus, .contacto-home__form select:focus, .contacto-home__form textarea:focus { border-color: var(--pri) !important; box-shadow: 0 0 0 3px rgba(11,53,87,.14) !important; outline: 0; }

/* ===== Cierre (cta-bottom): panel azul de sanitario.uy ===== */
.cta-bottom { background: #fff !important; padding: clamp(32px, 4vw, 56px) 0 !important; }
.cta-bottom__content { background: var(--pri) !important; border: 0 !important; border-radius: 14px !important; box-shadow: none !important; padding: clamp(24px, 4vw, 48px) !important; }
.cta-bottom__eyebrow { color: var(--amarillo) !important; font-family: var(--f) !important; }
.cta-bottom__title { color: #fff !important; font-family: var(--f-titulos) !important; text-transform: uppercase; font-size: var(--fs-h2) !important; line-height: 1.1 !important; }
.cta-bottom__title::after { content: ""; display: block; width: 44px; height: 4px; border-radius: 2px; background: var(--rojo); margin-top: 14px; }
.cta-bottom__desc, .cta-bottom__trust span, .cta-bottom__micro { color: #E4E8EC !important; font-family: var(--f) !important; }
.cta-bottom__trust i { color: #fff !important; }
.cta-bottom__phone { background: transparent !important; color: #fff !important; border: 2px solid #fff !important; font-size: var(--fs-btn) !important; }
.cta-bottom__phone:hover { background: #fff !important; color: var(--pri) !important; }
.cta-bottom__panel { border-radius: 14px !important; border: 1px solid var(--borde) !important; box-shadow: 0 4px 14px rgba(11,53,87,.06) !important; }
.cta-bottom__panel-item strong { font-family: var(--f-titulos); text-transform: uppercase; letter-spacing: .02em; color: var(--pri) !important; }

/* ===== Artículos ===== */
.ar-head { background: linear-gradient(180deg, var(--pri) 0, var(--pri-2) 100%) !important; }
.ar-head__title { font-family: var(--f-titulos) !important; text-transform: uppercase; color: #fff !important; }
.ar-cta { background: var(--pri) !important; border-radius: 14px !important; }
.ar-cta__eyebrow { color: var(--amarillo) !important; }
.ar-side__box--dark { background: var(--pri) !important; border-color: var(--pri) !important; }
.ar-card { border-radius: 12px !important; border: 1px solid var(--borde) !important; box-shadow: 0 4px 14px rgba(11,53,87,.06) !important; }
.ar-card__title { color: var(--pri) !important; }
.ar-card__cat { color: var(--rojo) !important; }

/* ===== Footer: azul de la marca, títulos Oswald con raya roja ===== */
.footer { background: var(--pri) !important; color: #E4E8EC !important; padding-top: clamp(40px, 5vw, 64px) !important; font-size: var(--fs-sm); font-family: var(--f); }
.footer__heading { font-family: var(--f-titulos) !important; text-transform: uppercase; letter-spacing: .04em; color: #fff !important; font-weight: 700 !important; }
.footer__heading::after { content: ""; display: block; width: 28px; height: 3px; border-radius: 2px; background: var(--rojo); margin-top: 10px; }
.footer a:not(.footer__wa) { color: #E4E8EC !important; }
.footer a:not(.footer__wa):hover { color: #fff !important; }
.footer i { color: #fff; }
.footer__tagline { color: #E4E8EC !important; }

/* ===== Flotante de teléfono en rojo (WhatsApp sigue verde) ===== */
.float-ctas a[href^="tel:"] { background: var(--rojo) !important; }

@media (prefers-reduced-motion: reduce) {
  .servicio-card, .dif-item, .servicio-card::before, .dif-item::after { transition: none; }
  .servicio-card:hover, .dif-item:hover { transform: none; }
}

/* Ajustes finos */
.servicio-card__title { color: #fff !important; }
.contacto-home__micro { margin-top: 10px !important; font-family: var(--f) !important; color: var(--texto-2) !important; }
.contacto-home__datos a, .contacto-home__datos span { color: var(--texto) !important; font-family: var(--f) !important; font-weight: 600 !important; }
.contacto-home__datos i { color: var(--pri) !important; }
.footer__heading ~ .footer__heading, ul + .footer__heading { margin-top: 28px !important; }
.capacidad__link { display: inline-flex !important; align-items: center; justify-content: center; gap: .5em; text-align: left; }
.zonas-home__depto { font-family: var(--f-titulos) !important; color: var(--pri) !important; }
.ar-head__cat a { background: var(--rojo) !important; color: #fff !important; border-color: var(--rojo) !important; border-radius: 6px !important; font-family: var(--f) !important; font-weight: 700 !important; }
.ar-head__meta { color: #D8DEE4 !important; }
.ar-head__meta i { color: #fff !important; opacity: .8; }
/* Listas de las landings con viñeta roja cuadrada */
.zona-texto ul:not([class]) { list-style: none; padding-left: 0; }
.zona-texto ul:not([class]) > li { position: relative; padding-left: 1.35em; }
.zona-texto ul:not([class]) > li::before { content: ""; position: absolute; left: .15em; top: .7em; width: 7px; height: 7px; border-radius: 2px; background: var(--rojo); }
.servicio-card__title a, .servicio-card a:not(.servicio-card__btn) { color: #fff !important; }

/* Botón de presupuesto debajo de la respuesta corta de un artículo */
.ar-cta-top { margin: 18px 0 28px; }
.ar-cta-top .btn { display: inline-flex; align-items: center; gap: .5em; }
.capacidad__mas { margin: 14px 0 0; font-size: var(--fs-sm); color: var(--texto-2); }

/* Aviso de crédito en cuotas, debajo de los botones del hero (17/10/2026). Fondo translúcido sólido, sin blur */
.hero__credito {
  display: inline-flex; align-items: center; gap: 14px; margin: 18px 0 0; padding: 8px 22px 8px 8px;
  background: rgba(255,255,255,.1); border-radius: 12px;
  color: #fff; text-shadow: none;
  animation: heroRise .55s cubic-bezier(.2, .8, .2, 1) .42s backwards;
}
.hero__credito-icono {
  display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0;
  border-radius: var(--radio); background: var(--rojo); font-size: 1.4rem; line-height: 1;
}
.hero__credito-texto { display: flex; flex-direction: column; gap: 2px; line-height: 1.25; }
.hero__credito-texto strong { font-family: var(--f-titulos); font-size: 1.15rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.hero__credito-texto span { font-family: var(--f); font-size: .9rem; color: #D8DEE4; }
@media (max-width: 600px) { .hero__credito { display: flex; } }
@media (prefers-reduced-motion: reduce) { .hero__credito { animation: none; } }
