/* instalaciondeaire.uy (AirFach) — header y hero estilo pintor.uy (rediseño 11/2026), mismo CSS que sanifach.com
   con la paleta ConstruFach del logo: azul marino #0B3557 / #071F34 y celeste #19A7E6 (botones #1597D6, hover #0B7BB8; antes rojo #DA2141).
   Clases pt-* para no chocar con style.css ni estilo-sanitario.css. Sin blur. Se carga después de estilo-sanitario.css.
   Oswald y Open Sans ya están declaradas (locales) en estilo-sanitario.css. */


:root{
  --pt-titulos:Oswald,"Arial Narrow",sans-serif;
  --pt-texto-f:"Open Sans","Helvetica Neue",Arial,sans-serif;
  --pt-osc:#0B3557;--pt-osc-2:#071F34;
  --pt-cel:#19A7E6;--pt-cel-osc:#1597D6;--pt-cel-osc-2:#0B7BB8;
  --pt-texto:#111827;--pt-texto-2:#4A5765;--pt-borde:#E4E0DA;--pt-fondo-2:#F7F5F2;
  --pt-radio:8px;
  --pt-fs-xs:.8125rem;
  --pt-fs-sm:clamp(.875rem,.85rem + .1vw,.9375rem);
  --pt-fs-lg:clamp(1.0625rem,.99rem + .3vw,1.25rem);
  --pt-fs-h3:clamp(1.25rem,1.15rem + .4vw,1.5rem);
  --pt-fs-h1:clamp(2.125rem,1.5rem + 2.6vw,3.5rem);
  --pt-fs-btn:clamp(1rem,.95rem + .2vw,1.125rem);
  --pt-alto-header:64px;
}
@media (min-width:1100px){:root{--pt-alto-header:80px}}

/* El header viejo era fijo y el body le dejaba lugar arriba; el nuevo es sticky y ocupa su lugar */
body,body.home-page{padding-top:0 !important}   /* estilo-sanitario.css lo forzaba con !important */
html{scroll-padding-top:84px}

.pt-contenedor{width:100%;max-width:1180px;margin:0 auto;padding:0 16px;box-sizing:border-box}
@media (min-width:700px){.pt-contenedor{padding:0 28px}}

/* Botones: rectángulos de radio 8; el de WhatsApp/presupuesto en rojo */
.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.8em 1.3em;border-radius:var(--pt-radio);font-family:var(--pt-titulos);text-transform:uppercase;letter-spacing:.04em;font-weight:700;font-size:var(--pt-fs-btn);text-decoration:none;border:2px solid transparent;line-height:1.2;cursor:pointer;transition:background-color .2s,color .2s;box-sizing:border-box}
.pt-btn i{font-size:1.15em;line-height:1}
.pt-btn--wa{background:var(--pt-cel-osc);color:#fff}
.pt-btn--wa:hover{background:var(--pt-cel-osc-2);color:#fff}
.pt-btn--linea{background:#fff;color:var(--pt-osc);border-color:var(--pt-osc)}
.pt-btn--linea:hover{background:var(--pt-fondo-2);color:var(--pt-osc)}
.pt-btn--grande{font-size:calc(var(--pt-fs-btn) * 1.1);padding:.85em 1.5em}
.pt-btn--bloque{width:100%}

/* Barra superior: azul marino de la marca, solo desde 860 px; se va con el scroll */
.pt-topbar{display:none;background:var(--pt-osc);color:#fff;font-family:var(--pt-texto-f);font-size:var(--pt-fs-xs);font-weight:600;position:relative;z-index:51}
@media (min-width:860px){.pt-topbar{display:block}}
.pt-topbar__fila{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:38px}
.pt-topbar i{color:var(--pt-cel);margin-right:5px;font-size:1.05em;vertical-align:-.12em}
.pt-topbar__zona{color:#E4E8EE}
.pt-topbar__acciones{display:flex;align-items:center;gap:22px}
.pt-topbar__acciones>span{color:#E4E8EE}
.pt-topbar a{color:#fff;text-decoration:none;letter-spacing:.02em}
.pt-topbar a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media (max-width:1023px){.pt-topbar__acciones>span{display:none}}

/* Header: blanco y sólido; sobre el hero arranca transparente */
.pt-header{position:sticky;top:0;z-index:1000;background:#fff;transition:background-color .25s,box-shadow .25s}
.pt-header.is-scrolled,.pt-header.menu-abierto{box-shadow:0 6px 20px rgba(24,24,24,.08)}
.pt-header__fila{display:flex;align-items:center;gap:20px;min-height:64px}
@media (min-width:1100px){.pt-header__fila{min-height:80px}}
.pt-logo{display:block;text-decoration:none;flex:0 0 auto}
.pt-logo__img{display:block;width:auto;height:44px}
@media (min-width:1100px){.pt-logo__img{height:54px}}
.pt-logo__img--contorno{display:none}

/* Menú de escritorio: Oswald en mayúsculas, raya roja abajo en hover y en la sección activa */
.pt-nav{display:none;flex:1;align-self:stretch}
.pt-nav__lista{display:flex;justify-content:center;align-items:stretch;gap:2px;list-style:none;margin:0;padding:0;height:100%}
.pt-nav__lista>li{position:relative;display:flex}
.pt-nav__link{position:relative;display:flex;align-items:center;padding:0 16px;text-decoration:none;color:var(--pt-texto);font-family:var(--pt-titulos);font-weight:700;font-size:var(--pt-fs-btn);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.pt-nav__link::after{content:"";position:absolute;left:16px;right:16px;bottom:20px;height:3px;border-radius:2px;background:var(--pt-cel);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.pt-nav__link:hover,.pt-nav__link[aria-current]{color:var(--pt-osc)}
.pt-nav__link:hover::after,.pt-nav__link[aria-current]::after{transform:scaleX(1)}

.pt-header__acciones{margin-left:auto;display:flex;align-items:center;gap:6px}
.pt-header__cta{padding:.6em 1.1em;white-space:nowrap;flex-shrink:0}

/* Hamburguesa que se vuelve X */
.pt-burger{width:46px;height:46px;border:0;background:none;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer;padding:0;border-radius:var(--pt-radio)}
.pt-burger span{display:block;width:24px;height:2.5px;background:var(--pt-texto);border-radius:2px;transition:transform .25s,opacity .2s,background-color .2s}
.pt-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.pt-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.pt-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
@media (min-width:1100px){.pt-nav{display:block}.pt-burger{display:none}}

/* Menú de celular: panel blanco bajo el header */
.pt-menu{background:#fff;border-top:1px solid var(--pt-borde);padding:8px 0 28px;max-height:calc(100dvh - var(--pt-alto-header));overflow:auto;overscroll-behavior:contain}
.pt-menu[hidden]{display:none}
.pt-menu__lista{list-style:none;margin:0 0 20px;padding:0}
.pt-menu__lista>li{border-bottom:1px solid var(--pt-borde)}
.pt-menu__lista>li>a{display:flex;align-items:center;padding:15px 2px;font-family:var(--pt-titulos);font-weight:700;font-size:var(--pt-fs-h3);text-transform:uppercase;letter-spacing:.03em;text-decoration:none;color:var(--pt-texto)}
.pt-menu__lista>li>a[aria-current]{color:var(--pt-cel-osc)}
.pt-menu__acciones{display:grid;gap:10px}
.pt-menu__nota{display:flex;align-items:center;gap:8px;margin:18px 0 0;font-family:var(--pt-texto-f);font-size:var(--pt-fs-sm);color:var(--pt-texto-2)}
.pt-menu__nota i{color:var(--pt-cel)}

/* Sobre el hero: transparente con textos blancos y logo con contorno hasta que queda pegado arriba o se abre el menú */
.pt-header--sobre-hero{margin-bottom:calc(-1 * var(--pt-alto-header))}
.pt-header--sobre-hero:not(.is-scrolled):not(.menu-abierto){background:transparent}
.pt-header--sobre-hero:not(.is-scrolled):not(.menu-abierto) .pt-logo__img{display:none}
.pt-header--sobre-hero:not(.is-scrolled):not(.menu-abierto) .pt-logo__img--contorno{display:block}
.pt-header--sobre-hero:not(.is-scrolled):not(.menu-abierto) .pt-nav__link{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.pt-header--sobre-hero:not(.is-scrolled):not(.menu-abierto) .pt-burger span{background:#fff}

/* En celular el header queda solo con logo y menú */
@media (max-width:767px){.pt-header__cta{display:none}}
@media (min-width:768px) and (max-width:1279px){.pt-header__cta{font-size:.95rem}}

/* ===== HERO ===== */
.pt-hero{position:relative;overflow:hidden;isolation:isolate;background:var(--pt-osc-2);color:#fff;min-height:min(82vh,680px);display:flex;align-items:flex-end;padding:calc(48px + var(--pt-alto-header)) 0 56px;box-sizing:border-box}
.pt-hero__fondo{position:absolute;inset:0;z-index:-2}
.pt-hero__fondo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Velo neutro y liviano (como sanifach): más oscuro abajo, donde va el texto, para que se vea la foto */
.pt-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,14,20,.78) 0%,rgba(10,14,20,.5) 40%,rgba(10,14,20,.2) 75%,rgba(10,14,20,.25) 100%)}
.pt-hero__contenido{text-shadow:0 1px 12px rgba(0,0,0,.35)}

/* H1 en Oswald mayúsculas, todo de un color; bajada pegada abajo */
.pt-hero__titulo{font-family:var(--pt-titulos);text-transform:uppercase;font-weight:700;letter-spacing:.015em;line-height:1.05;margin:0 0 .35em;color:#fff;font-size:var(--pt-fs-h1);text-wrap:balance;max-width:16em}
.pt-hero__titulo em{font-style:normal;color:inherit}
.pt-hero__bajada{font-family:var(--pt-texto-f);font-size:var(--pt-fs-lg);line-height:1.6;color:#EBEEF2;max-width:720px;margin:0}
.pt-hero__cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.pt-hero__cta .pt-btn{text-shadow:none}
.pt-hero__credito{display:flex;align-items:center;gap:10px;margin:18px 0 0;font-family:var(--pt-titulos);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem;color:#E4E8EE;line-height:1.2}
.pt-hero__credito-icono{width:40px;height:auto;flex-shrink:0}
.pt-hero__credito strong{color:#fff;font-weight:700}
@media (max-width:767px){.pt-hero__credito{font-size:min(15px,4.05vw);letter-spacing:.02em;white-space:nowrap}.pt-hero__credito-icono{width:36px}}

/* Escritorio: el hero es más apaisado que la foto; se ancla arriba para que no se corte el split */
@media (min-width:1024px){.pt-hero__fondo img{object-position:50% 12%}}
@media (max-width:1023px){.pt-hero__fondo img{object-position:50% 0}}

/* Celular: H1 a 6.8vw y botón a todo el ancho */
@media (max-width:767px){
  .pt-hero{min-height:0;padding:calc(36px + var(--pt-alto-header)) 0 40px}
  .pt-hero__titulo{font-size:max(8vw,min(11vw,calc((100vw - 32px) * .82 / (var(--h1-letras,13) * .53))));max-width:none}
  .pt-hero__cta{flex-direction:column;align-items:stretch}
  .pt-hero__cta .pt-btn{width:100%}
}

/* Íconos chicos de botones y datos de contacto: Font Awesome Free 6.5.2 (SVG oficiales en public/images/iconos/fa,
   licencia CC BY 4.0) en lugar de Remix Icon, como en cerrajero.uy. Se cambian por CSS los mismos <i class="ri-…">:
   el ícono es una máscara del SVG pintada con el color del texto, así hereda el color de cada botón. */
.ri-whatsapp-line,.ri-phone-line,.ri-arrow-right-line,.ri-arrow-left-line,.ri-send-plane-line,.ri-send-plane-fill,.ri-map-pin-line,.ri-map-pin-2-line,.ri-time-line,.ri-mail-line,.ri-hand-coin-line{display:inline-block;width:1em;height:1em;line-height:1;vertical-align:-.125em;flex:0 0 auto;font-style:normal}
.ri-whatsapp-line::before,.ri-phone-line::before,.ri-arrow-right-line::before,.ri-arrow-left-line::before,.ri-send-plane-line::before,.ri-send-plane-fill::before,.ri-map-pin-line::before,.ri-time-line::before,.ri-mail-line::before,.ri-hand-coin-line::before{content:"" !important;display:block;width:100%;height:100%;background-color:currentColor;-webkit-mask:var(--fa) center/contain no-repeat;mask:var(--fa) center/contain no-repeat}
.ri-whatsapp-line{--fa:url("../images/iconos/fa/whatsapp.svg");width:1.12em;height:1.12em;vertical-align:-.18em}
.ri-phone-line{--fa:url("../images/iconos/fa/phone.svg");width:.9em;height:.9em}
.ri-arrow-right-line{--fa:url("../images/iconos/fa/arrow-right.svg")}
.ri-arrow-left-line{--fa:url("../images/iconos/fa/arrow-left.svg")}
.ri-send-plane-line,.ri-send-plane-fill{--fa:url("../images/iconos/fa/paper-plane.svg")}
.ri-map-pin-line,.ri-map-pin-2-line{--fa:url("../images/iconos/fa/location-dot.svg");width:.8em}
.ri-time-line{--fa:url("../images/iconos/fa/clock.svg");width:.95em;height:.95em}
.ri-mail-line{--fa:url("../images/iconos/fa/envelope.svg")}
.ri-hand-coin-line{--fa:url("../images/iconos/fa/hand-holding-dollar.svg");width:1.1em}
.whatsapp-float i{font-size:30px}

