/* Approved October 2026 homepage. Original logo, font and rain remain shared. */
/* UniFi-inspired navigation: low white bar, left-aligned links, right CTA.
   Normal 44px targets are retained even though the reference is more compact. */
.navbar { position:sticky; top:0; z-index:30; background:#ffffffed; backdrop-filter:blur(16px); border-bottom:1px solid #ededf0; }
.navbar .nav-inner { width:calc(100% - 64px); max-width:none; min-height:68px; gap:38px; }
.navbar .wordmark { width:148px; height:38px; flex:0 0 148px; }
.navbar #navigation { flex:1; justify-content:flex-start; gap:28px; }
.navbar #navigation>a,.navbar #navigation>button { min-height:44px; display:inline-flex; align-items:center; padding:8px 0; color:#363a43; font-size:15px; }
.navbar #navigation>a:first-child { padding-right:28px; border-right:1px solid #e6e7eb; }
.navbar #navigation>a:last-child { margin-left:auto; padding:10px 22px; border-radius:5px; background:#0754c7; color:#fff; }
.navbar #navigation>a:last-child:hover { background:#0646a8; color:#fff; }
.navbar #navigation>a:hover,.navbar #navigation>button:hover { color:#0754c7; }
.navbar .menu-toggle { width:44px; height:44px; border:0; border-radius:5px; padding:10px; flex-direction:column; justify-content:center; }
.navbar .menu-toggle span { flex:0 0 1px; width:24px; margin:4px 0; }
html { scroll-padding-top:84px; }
@media(max-width:900px) {
 .navbar .nav-inner { width:calc(100% - 32px); min-height:64px; gap:20px; }
 .navbar .wordmark { width:140px; height:36px; flex-basis:140px; }
 .navbar #navigation.is-open { position:absolute; top:100%; left:-16px; right:-16px; gap:4px; padding:12px 20px 20px; background:#fff; border:0; border-bottom:1px solid #e6e7eb; border-radius:0; box-shadow:0 12px 20px #17202d0a; }
 .navbar #navigation>a,.navbar #navigation>button { padding:12px; min-height:48px; }
 .navbar #navigation>a:first-child { border:0; padding-right:12px; }
 .navbar #navigation>a:last-child { margin:8px 0 0; justify-content:center; }
 html { scroll-padding-top:76px; }
}
[hidden] { display:none !important; }
.home-width { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.integration-hero.container { min-height:calc(100vh - 57px); min-height:calc(100dvh - 57px); padding:48px 32px; }
.integration-hero .integration-glow { z-index:1; height:clamp(90px,14vh,160px); opacity:1; background:linear-gradient(180deg, #fdfdff00 0%, #fdfdff80 45%, #fdfdff 100%); }
.integration-hero .integration-glow::after { content:none; }
.home-title { max-width:1040px; margin:0 auto; color:#17202d; font-size:clamp(40px,5vw,72px); font-weight:700; line-height:1.1; letter-spacing:-.045em; text-wrap:balance; }
.home-title span { display:block; color:#0754c7; }
.home-description { max-width:850px; margin:32px auto 0; color:#384459; font-size:22px; line-height:1.6; text-wrap:balance; }
.home-actions { display:flex; justify-content:center; gap:20px; flex-wrap:wrap; margin-top:40px; }
.home-button { display:inline-flex; justify-content:center; align-items:center; min-height:54px; padding:14px 28px; border:1px solid #0754c7; border-radius:7px; font:inherit; font-size:18px; line-height:1.4; cursor:pointer; text-decoration:none; }
.home-primary { background:#0754c7; color:white; }.home-primary:hover { background:#0646a8; }
.home-secondary { background:#ffffffb8; color:#17202d; }.home-secondary:hover { background:#eef5ff; }
.home-button:focus-visible, #navigation :focus-visible { outline:3px solid #17202d; outline-offset:5px; }
.home-about { padding:88px 0 96px; background:#fdfdff; }
.home-about h2 { margin:0 auto; text-align:center; font-size:clamp(32px,3.6vw,48px); line-height:1.17; letter-spacing:-.045em; max-width:1050px; }
.home-about h2 span { display:block; color:#0754c7; }
.home-about-description { max-width:900px; margin:24px auto 0; color:#667085; text-align:center; font-size:21px; line-height:1.6; text-wrap:balance; }
.home-steps { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:0; margin:60px 0 0; }
.home-steps li { padding:0 30px; border-left:1px solid #e2eaf5; }.home-steps li:first-child { padding-left:0; border-left:0; }
.home-steps li>span { display:block; font-size:25px; font-weight:600; color:#80aaf0; }.home-steps li>span::after { content:''; display:block; width:26px; height:2px; background:#0754c7; margin-top:10px; }
.home-steps h3 { margin:22px 0 12px; font-size:24px; line-height:1.25; letter-spacing:-.035em; }.home-steps p { margin:0; font-size:18px; line-height:1.6; color:#667085; }
.home-contact { padding:76px 0 84px; text-align:center; background:radial-gradient(ellipse at center,#fff,#edf5ff); }
/* Approved proposal 1: existing tools plus the missing piece, without a product catalog. */
.home-foundation { padding:96px 0; background:#fff; }
.home-foundation-intro { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:64px; }
.home-foundation-copy h2 { margin:0; font-size:clamp(36px,4.1vw,58px); line-height:1.12; letter-spacing:-.045em; }
.home-foundation-copy h2 span { display:block; color:#0754c7; }
.home-foundation-copy>p { margin:28px 0 0; color:#667085; font-size:21px; line-height:1.6; max-width:470px; }
.home-foundation-figure { margin:0; min-width:0; }
.home-foundation-figure img { display:block; width:100%; height:auto; }
.home-foundation-figure figcaption { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); text-align:center; gap:8px; color:#667085; font-size:15px; line-height:1.5; margin-top:8px; }
.home-foundation-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:64px 0 0; padding:0; }
.home-foundation-benefits li { padding:0 32px; border-left:1px solid #e6eaf0; }
.home-foundation-benefits li:first-child { border-left:0; padding-left:0; }
.home-foundation-benefits li:last-child { padding-right:0; }
.home-foundation-benefits h3 { margin:0 0 14px; font-size:22px; line-height:1.3; letter-spacing:-.025em; }
.home-foundation-benefits p { margin:0; color:#667085; font-size:18px; line-height:1.6; }
@media(max-width:900px) { .home-foundation-intro { gap:32px; } .home-foundation-benefits li { padding-inline:20px; } }
@media(max-width:600px) { .home-foundation { padding:60px 0; } .home-foundation-intro { grid-template-columns:1fr; gap:28px; } .home-foundation-copy>p { font-size:18px; margin-top:22px; } .home-foundation-benefits { grid-template-columns:1fr; gap:24px; margin-top:40px; } .home-foundation-benefits li { padding:0 0 24px; border-left:0; border-bottom:1px solid #e6eaf0; } .home-foundation-benefits li:last-child { padding-bottom:0; border-bottom:0; } }
.home-contact h2 { margin:0 0 28px; font-size:clamp(30px,3.3vw,44px); line-height:1.2; letter-spacing:-.04em; }.home-contact p { margin:24px 0 0; font-size:18px; color:#667085; }
#navigation>button { background:none; border:0; padding:0; font:inherit; color:#596276; font-size:16px; cursor:pointer; }#navigation>a[aria-current] { color:#0754c7; }
@media(min-width:901px) { .menu-toggle { display:none; } #navigation { display:flex; position:static; align-items:center; } }
@media(max-width:900px) { .menu-toggle { display:flex; } #navigation:not(.is-open) { display:none; } #navigation.is-open { display:flex; flex-direction:column; align-items:stretch; } #navigation>button { padding:12px 0; text-align:left; } .home-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 0; } .home-steps li:nth-child(3) { border-left:0; padding-left:0; } }
@media(max-width:600px) { .home-width { width:calc(100% - 40px); } .integration-hero.container { min-height:calc(100vh - 57px); min-height:calc(100dvh - 57px); padding:32px 20px; } .desktop-break { display:none; } .home-title { font-size:clamp(34px,9vw,46px); line-height:1.13; }.home-description { font-size:18px; margin-top:26px; }.home-actions { flex-direction:column; align-items:stretch; gap:14px; margin-top:30px; }.home-button { font-size:17px; }.home-about { padding:60px 0; }.home-about-description { font-size:18px; }.home-steps { grid-template-columns:1fr; gap:30px; margin-top:40px; }.home-steps li { padding:0 0 26px; border-left:0; border-bottom:1px solid #e2eaf5; }.home-steps li:last-child { border-bottom:0; padding-bottom:0; }.home-steps h3 { margin-top:16px; font-size:23px; }.home-steps p { font-size:18px; }.home-contact { padding:60px 0; } }

/* Customer originals remain unchanged; grayscale is a presentation-only filter. */
.home-coverage { padding:96px 0; background:#fff; border-top:1px solid #e6edf5; }
.home-coverage-layout { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:72px; }
.home-coverage-copy { min-width:0; }
.home-coverage-eyebrow { margin:0 0 28px; color:#0754c7; font-size:14px; letter-spacing:.25em; }
.home-coverage h2 { margin:0; font-size:clamp(34px,3.6vw,52px); line-height:1.14; letter-spacing:-.045em; overflow-wrap:break-word; }
.home-coverage h2 span { display:block; color:#0754c7; margin-top:10px; }
.home-coverage-description { margin:28px 0 32px; color:#667085; font-size:20px; line-height:1.65; }
.home-coverage-map { margin:0; min-width:0; position:relative; }
.home-coverage-map .motion-toggle { bottom:0; right:0; color:#0754c7; background:#fff; border-color:#e6edf5; cursor:pointer; }
.home-coverage-map img { display:block; width:100%; height:auto; max-height:560px; object-fit:contain; }
.coverage-connections { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; mask:url('assets/guatemala-coverage.svg?v=pulses-20261010') center/contain no-repeat; }
.coverage-halo { fill:none; stroke:#0754c7; stroke-width:1; opacity:0; transform-box:fill-box; transform-origin:center; animation:coverage-halo var(--pulse-duration) ease-in-out var(--pulse-delay) infinite; }
.coverage-dot { fill:#0754c7; opacity:0; animation:coverage-dot var(--pulse-duration) ease-in-out var(--pulse-delay) infinite; }
.coverage-connections.is-paused circle { animation-play-state:paused; }
@keyframes coverage-halo { 0%,15% { opacity:0; transform:scale(.7); } 40% { opacity:.14; } 75%,100% { opacity:0; transform:scale(2.3); } }
@keyframes coverage-dot { 0%,15%,85%,100% { opacity:0; } 40% { opacity:.32; } }
@media(prefers-reduced-motion:reduce) { .coverage-connections { display:none; } }
.home-title { animation:headline-enter 1000ms cubic-bezier(.22,1,.36,1) both; }
.home-description { animation:headline-enter 1000ms cubic-bezier(.22,1,.36,1) 150ms both; }
.home-actions { animation:headline-enter 1000ms cubic-bezier(.22,1,.36,1) 300ms both; }
@media(max-width:900px) { .home-coverage-layout { gap:32px; } }
@media(max-width:600px) { .home-coverage { padding:60px 0; } .home-coverage-layout { grid-template-columns:1fr; gap:40px; } .home-coverage-description { font-size:18px; } .home-coverage-map img { max-height:380px; } }
@media(prefers-reduced-motion:reduce) { .home-title,.home-description,.home-actions { animation:none; } }
.home-trust { width:min(860px,100%); margin:48px auto 0; }
.home-trust h2 { margin:0; color:#667085; font-size:15px; font-weight:400; line-height:1.5; text-align:center; }
.home-trust .logo-carousel { margin-top:18px; padding-bottom:22px; }
.home-trust .logo-track { animation-duration:38s; }
.home-trust .logo-group { align-items:stretch; }
.home-trust .logo { width:260px; min-height:76px; padding:18px 38px; opacity:.66; filter:grayscale(1); transition:filter 250ms ease,opacity 250ms ease; }
.home-trust .logo:hover,.home-trust .logo:focus-within { filter:grayscale(0); opacity:1; }
.home-trust .logo a { display:flex; align-items:center; justify-content:center; min-height:44px; width:100%; }
.home-trust .logo a:focus-visible { outline:2px solid #0754c7; outline-offset:8px; border-radius:3px; }
.home-trust .logo img { display:block; max-height:54px; width:100%; height:auto; pointer-events:none; }
/* Cropped vector viewBoxes preserve proportions without CSS clipping or stretching. */
.home-trust .logo-santa-rita img { width:100%; height:auto; max-height:none; }
.home-trust .logo-la-central img { width:100%; height:auto; max-height:none; }
.home-trust .logo-delicias img { height:58px; max-height:none; object-fit:cover; }
.home-trust .logo-altiplano img { width:92px; height:92px; max-height:none; object-fit:contain; transform:scale(1.4); }
.home-trust .logo:focus-visible { outline:2px solid #0754c7; outline-offset:-6px; border-radius:3px; }
.home-trust .motion-toggle { right:0; bottom:-16px; }
@media(max-width:600px) { .home-trust { margin-top:34px; } .home-trust .logo { width:220px; padding-inline:32px; } }
@media(prefers-reduced-motion:reduce) { .home-trust .logo-window { overflow:hidden; } .home-trust .logo-track { animation:none; width:100%; } .home-trust .logo-group { width:100%; } .home-trust .logo[aria-hidden],.home-trust .logo-group[aria-hidden] { display:none; } .home-trust .logo { transition:none; } }

/* A viewport is the minimum, not a fixed height: long content remains scrollable. */
:root { --home-nav-height:57px; }
.integration-hero.container { height:auto; min-height:calc(100svh - var(--home-nav-height)); min-height:calc(100dvh - var(--home-nav-height)); }
.home-about,.home-foundation { min-height:calc(100svh - var(--home-nav-height)); display:flex; align-items:center; }
.home-width,.integration-copy { min-width:0; }
.home-title,.home-about h2,.home-foundation h2,.home-contact h2 { overflow-wrap:break-word; }
@media(max-width:600px) { .home-about,.home-foundation { min-height:0; } .home-trust .logo-santa-rita img { width:100%; } }
@media(max-height:700px) and (min-width:601px) { .integration-hero.container { padding-block:32px; } .home-description { margin-top:22px; } .home-actions { margin-top:24px; } .home-trust { margin-top:28px; } }
