/* ─── Font fallback size-adjust — prevents layout shift ─── */
@font-face {
  font-family: var(--font-head);
  src: local('Arial Narrow'), local('ArialNarrow');
  font-weight: 700 900;
  font-style: normal;
  size-adjust: 82%;
  ascent-override: 90%;
  descent-override: 20%;
  line-gap-override: 0%;
}
@font-face {
  font-family: var(--font-body);
  src: local('Arial');
  font-weight: 400 600;
  font-style: normal;
  size-adjust: 106%;
  ascent-override: 92%;
  descent-override: 22%;
  line-gap-override: 0%;
}
/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  --navy:      #0D1B2A;
  --navy-mid:  #152436;
  --blue:      #1A6FA8;
  --accent:    #E8A020;
  --accent-lt: #F5B84A;
  --white:     #FFFFFF;
  --off:       #F4F6F9;
  --muted:     #6B7A8D;
  --border:    #DDE3EC;
  --text:      #1C2B3A;
  --green:     #1B7A4A;
  --r-sm: 8px; --r-md: 14px; --r-lg: 22px;
  --shadow-card: 0 2px 16px rgba(13,27,42,.08), 0 1px 4px rgba(13,27,42,.05);
  --shadow-lift: 0 8px 40px rgba(13,27,42,.14), 0 2px 8px rgba(13,27,42,.08);
  --font-head: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --font-body: 'Barlow', Arial, sans-serif;
  --max: 1380px;
  --gutter: clamp(16px, 3vw, 40px);
}

/* ─── RESET ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}

/* ─── UTILS ───────────────────────────────────────────────── */
.container{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.section{padding:clamp(56px,8vw,96px) 0}
.section--dark{background:var(--accent);color:var(--navy)}
.section--off{background:var(--off)}
.section--mid{background:var(--accent);color:var(--navy)}
.label{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-head);font-size:14px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.label::before{content:'';display:block;width:28px;height:2px;background:var(--accent);border-radius:2px}
.section-title{font-family:var(--font-head);font-size:40px;font-weight:800;line-height:1.1;color:inherit;margin-bottom:16px;text-transform:uppercase;letter-spacing:.02em}
.section-intro{font-size:18px;color:var(--muted);max-width:620px;line-height:1.75;margin-bottom:48px}
.section--dark .section-intro,.section--mid .section-intro{color:rgba(13,27,42,.68)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:none}

/* ─── BUTTONS ─────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-head);font-size:16px;font-weight:700;letter-spacing:.02em;border-radius:var(--r-sm);padding:14px 28px;cursor:pointer;border:none;transition:transform .18s,box-shadow .18s,background .18s;white-space:nowrap;text-decoration:none}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--accent);color:var(--navy);box-shadow:0 4px 16px rgba(232,160,32,.35)}
.btn--primary:hover{background:var(--accent-lt);box-shadow:0 8px 28px rgba(232,160,32,.45)}
.btn--outline{background:transparent;color:var(--navy);border:2px solid rgba(13,27,42,.4)}
.btn--outline:hover{border-color:var(--navy);background:rgba(13,27,42,.08)}
.btn--navy{background:var(--navy);color:var(--white);box-shadow:0 4px 16px rgba(13,27,42,.22)}
.btn--navy:hover{background:var(--navy-mid)}
.btn--lg{padding:14px 22px;font-size:16px}
.btn--green{background:var(--green);color:var(--white)}
.btn--green:hover{background:#145c38}

/* ─── NAV ─────────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(13,27,42,.1);box-shadow:0 2px 16px rgba(13,27,42,.08)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.nav__logo{font-family:var(--font-head);font-size:16px;font-weight:800;color:var(--navy);display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav__logo-icon{width:36px;height:36px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px}
.nav__links{display:flex;align-items:center;gap:24px;list-style:none}
.nav__links a{font-size:18px;font-weight:500;color:var(--navy);transition:color .15s}
.nav__links a:hover{color:var(--accent)}
.nav__cta{display:flex;align-items:center;gap:10px;flex-shrink:0}
.nav__phone{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:7px}
.nav__hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.nav__hamburger span{display:block;width:22px;height:2px;background:var(--navy);border-radius:2px;transition:transform .2s,opacity .2s}
.nav__mobile{display:none;position:fixed;top:68px;left:0;right:0;background:var(--white);border-bottom:2px solid var(--accent);padding:20px var(--gutter) 28px;z-index:199;border-bottom:1px solid rgba(255,255,255,.1)}
.nav__mobile.open{display:block}
.nav__mobile ul{list-style:none;display:flex;flex-direction:column;gap:4px;margin-bottom:16px}
.nav__mobile ul a{display:block;padding:12px 0;font-size:16px;font-weight:500;color:var(--navy);border-bottom:1px solid rgba(13,27,42,.08);transition:color .15s}
.nav__mobile ul a:hover{color:var(--accent)}
.nav__mobile .btn{width:100%;justify-content:center;margin-top:8px}
@media(max-width:900px){.nav__links{display:none}.nav__phone span{display:none}.nav__hamburger{display:flex}}

/* ─── HERO ────────────────────────────────────────────────── */
.hero{min-height:100vh;display:flex;align-items:center;background:var(--navy);position:relative;overflow:hidden;padding-top:68px}
.hero__bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 65% 40%,rgba(26,111,168,.18) 0%,transparent 70%),radial-gradient(ellipse 50% 80% at 90% 80%,rgba(232,160,32,.07) 0%,transparent 60%)}
.hero__grid{position:absolute;inset:0;opacity:.04;background-image:linear-gradient(rgba(255,255,255,.4) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px);background-size:60px 60px}
.hero__illustration{position:absolute;right:0;bottom:0;width:55%;max-width:640px;opacity:.07;pointer-events:none}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:clamp(40px,7vw,96px) 0}
.hero__badge{display:inline-flex;align-items:center;gap:8px;background:rgba(232,160,32,.12);border:1px solid rgba(232,160,32,.28);border-radius:100px;padding:6px 14px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}
.hero__badge::before{content:'●';font-size:8px;animation:pulse 1.8s ease infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-family:var(--font-head);font-size:52px;font-weight:900;line-height:1.05;color:var(--white);margin-bottom:20px;text-transform:uppercase;letter-spacing:.01em}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero__sub{font-size:18px;color:rgba(255,255,255,.68);line-height:1.7;margin-bottom:36px;max-width:500px}
.hero__ctas{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:40px;align-items:center}
.hero__trust{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center}
.hero__trust-item{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:500;color:rgba(255,255,255,.58)}
.hero__trust-item svg{color:var(--accent);flex-shrink:0}
.hero__form-wrap{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);padding:28px 26px;backdrop-filter:blur(12px)}
.hero__form-title{font-family:var(--font-head);font-size:20px;font-weight:800;color:var(--white);margin-bottom:6px}
.hero__form-sub{font-size:16px;color:rgba(255,255,255,.55);margin-bottom:20px;line-height:1.5}
.hero__form-field{margin-bottom:12px}
.hero__form-field input,.hero__form-field textarea{width:100%;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.18);border-radius:var(--r-sm);padding:11px 14px;font-size:16px;font-family:var(--font-body);color:var(--white);outline:none;transition:border-color .15s,background .15s}
.hero__form-field input::placeholder,.hero__form-field textarea::placeholder{color:rgba(255,255,255,.4)}
.hero__form-field input:focus,.hero__form-field textarea:focus{border-color:var(--accent);background:rgba(255,255,255,.12)}
.hero__form-field textarea{resize:vertical;min-height:72px}
.hero__form-privacy{display:flex;align-items:flex-start;gap:8px;margin-bottom:14px;font-size:16px;color:rgba(255,255,255,.5)}
.hero__form-privacy input{margin-top:3px;flex-shrink:0;accent-color:var(--accent)}
.hero__form-privacy a{color:var(--accent);text-decoration:underline}
.hero__form-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:var(--navy);font-family:var(--font-head);font-size:16px;font-weight:800;border:none;border-radius:var(--r-sm);padding:14px 20px;cursor:pointer;transition:background .18s,transform .18s;letter-spacing:.02em}
.hero__form-btn:hover{background:var(--accent-lt);transform:translateY(-2px)}
.hero__form-success{margin-top:12px;background:rgba(27,122,74,.2);border:1px solid rgba(27,122,74,.4);border-radius:var(--r-sm);padding:12px 16px;font-size:16px;color:#7FFFC0;text-align:center}
@media(max-width:900px){.hero__inner{grid-template-columns:1fr}}
@media(max-width:520px){.hero__ctas{flex-wrap:wrap}}

/* ─── TICKER ──────────────────────────────────────────────── */
.ticker{background:var(--accent);padding:12px 0;overflow:hidden;white-space:nowrap}
.ticker__track{display:inline-flex;animation:ticker 30s linear infinite}
.ticker__track:hover{animation-play-state:paused}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker__item{font-family:var(--font-head);font-size:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding:0 28px;display:inline-flex;align-items:center;gap:12px}
.ticker__item::after{content:'●';font-size:7px;opacity:.5}

/* ─── STATS ───────────────────────────────────────────────── */
.stats{background:var(--accent);padding:44px 0}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(13,27,42,.15);border-radius:var(--r-md);overflow:hidden}
.stats__item{background:var(--accent);padding:28px 24px;text-align:center}
.stats__num{font-family:var(--font-head);font-size:clamp(30px,4vw,46px);font-weight:800;color:var(--navy);line-height:1;margin-bottom:8px}
.stats__label{font-size:16px;color:rgba(13,27,42,.65);line-height:1.4}
@media(max-width:640px){.stats__grid{grid-template-columns:repeat(2,1fr)}}

/* ─── QUIÉNES SOMOS ──────────────────────────────────────── */
.quienes__grid{display:grid;grid-template-columns:1fr 380px;gap:56px;align-items:start}
.quienes__valores{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:8px}
.quienes__valor{display:flex;gap:14px;align-items:flex-start;background:var(--off);border-radius:var(--r-md);padding:18px}
.quienes__valor-icon{font-size:20px;flex-shrink:0;margin-top:2px}
.quienes__valor-title{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--text);margin-bottom:5px}
.quienes__valor-text{font-size:17px;color:var(--muted);line-height:1.7}
.quienes__stats-col{display:flex;flex-direction:column;gap:14px;position:sticky;top:88px}
.quienes__stat-card{background:var(--navy);border-radius:var(--r-md);padding:24px 28px;text-align:center}
.quienes__stat-card--accent{background:var(--navy-mid)}
.quienes__stat-num{font-family:var(--font-head);font-size:42px;font-weight:800;color:var(--accent);line-height:1;margin-bottom:6px}
.quienes__stat-label{font-size:16px;color:rgba(255,255,255,.55);line-height:1.4}
@media(max-width:900px){.quienes__grid{grid-template-columns:1fr}.quienes__stats-col{flex-direction:row;flex-wrap:wrap;position:static}.quienes__stat-card{flex:1 1 160px}.quienes__stat-num{font-size:32px}}
@media(max-width:560px){.quienes__valores{grid-template-columns:1fr}}

/* ─── SERVICES ────────────────────────────────────────────── */
.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-md);padding:28px;box-shadow:var(--shadow-card);transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;flex-direction:column}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:var(--accent)}
.service-card__icon{width:52px;height:52px;background:var(--off);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px;transition:background .2s;flex-shrink:0}
.service-card:hover .service-card__icon{background:rgba(232,160,32,.12)}
.service-card__title{font-family:var(--font-head);font-weight:700;font-size:20px;margin-bottom:10px;color:var(--text)}
.service-card__text{font-size:17px;color:var(--muted);line-height:1.7;margin-bottom:16px;flex:1}
.service-card__tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:14px;font-weight:600;letter-spacing:.04em;background:var(--off);border:1px solid var(--border);color:var(--muted);border-radius:100px;padding:4px 12px}
@media(max-width:900px){.services__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.services__grid{grid-template-columns:1fr}}

/* ─── CÓMO TRABAJAMOS ────────────────────────────────────── */
.como__steps{display:flex;align-items:flex-start;gap:0;position:relative;margin-top:8px}
.como__step{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 12px;position:relative;z-index:1}
.como__step-num{width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--white);font-family:var(--font-head);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;flex-shrink:0;border:3px solid var(--accent)}
.como__step-icon{font-size:30px;margin-bottom:12px}
.como__step-title{font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--text);margin-bottom:8px}
.como__step-text{font-size:17px;color:var(--muted);line-height:1.7}
.como__connector{flex-shrink:0;width:40px;height:3px;background:linear-gradient(90deg,var(--accent),var(--blue));margin-top:18px;border-radius:2px}
@media(max-width:900px){.como__steps{flex-direction:column;gap:0}.como__step{flex-direction:row;text-align:left;padding:16px 0;align-items:flex-start;gap:16px}.como__step-icon{font-size:24px;flex-shrink:0;margin-bottom:0}.como__step-num{flex-shrink:0;margin-bottom:0}.como__connector{width:3px;height:32px;margin:0 0 0 16px;background:linear-gradient(180deg,var(--accent),var(--blue))}}

/* ─── DIFFERENTIATORS ─────────────────────────────────────── */
.diff__grid{display:grid;grid-template-columns:1fr 1fr;gap:44px 60px;align-items:start}
.diff__item{display:flex;gap:20px}
.diff__num{font-family:var(--font-head);font-size:38px;font-weight:800;color:rgba(13,27,42,.15);line-height:1;flex-shrink:0;width:48px;margin-top:-4px}
.diff__title{font-family:var(--font-head);font-weight:700;font-size:20px;color:var(--navy);margin-bottom:10px}
.diff__text{font-size:17px;color:rgba(13,27,42,.68);line-height:1.7}
@media(max-width:700px){.diff__grid{grid-template-columns:1fr;gap:32px}}

/* ─── PRICING ─────────────────────────────────────────────── */
.pricing__table{width:100%;border-collapse:collapse;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-card)}
.pricing__table thead th{background:var(--navy);color:var(--white);font-family:var(--font-head);font-size:16px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:16px 22px;text-align:left}
.pricing__table thead th:last-child{text-align:right}
.pricing__table tbody tr{border-bottom:1px solid var(--border)}
.pricing__table tbody tr:last-child{border-bottom:none}
.pricing__table tbody tr:nth-child(even) td{background:var(--off)}
.pricing__table td{padding:18px 22px;font-size:17px}
.pricing__table td:first-child{font-weight:500}
.pricing__table td:last-child{text-align:right;font-family:var(--font-head);font-weight:700;color:var(--blue);white-space:nowrap}
.pricing__note{margin-top:16px;background:#FFF8E8;border:1px solid rgba(232,160,32,.25);border-radius:var(--r-sm);padding:14px 18px;font-size:16px;color:#7A5A10;display:flex;gap:10px;align-items:flex-start}
@media(max-width:560px){.pricing__table td,.pricing__table thead th{padding:12px 14px;font-size:16px}}

/* ─── COVERAGE ────────────────────────────────────────────── */
.coverage__layout{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:start}
.coverage__municipalities{display:flex;flex-direction:column;gap:28px}
.coverage__zone-title{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--navy);opacity:.65;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px}
.coverage__zone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:8px}
.coverage__muni{background:rgba(13,27,42,.08);border:1px solid rgba(13,27,42,.2);border-radius:var(--r-sm);padding:12px 16px;font-size:17px;color:var(--navy);font-weight:500;transition:background .15s,border-color .15s;text-align:center}
.coverage__muni:hover{background:rgba(13,27,42,.15);border-color:rgba(13,27,42,.35)}
.coverage__muni--featured{background:rgba(13,27,42,.18);border-color:rgba(13,27,42,.45);color:var(--navy);font-weight:800}
.coverage__map-col{display:flex;flex-direction:column}
.coverage__map-wrap{border-radius:var(--r-lg);overflow:hidden;height:340px;border:1px solid rgba(13,27,42,.2);flex-shrink:0}
.coverage__map-wrap iframe{width:100%;height:100%;border:0;display:block}
.coverage__note{margin-top:14px;font-size:16px;color:rgba(13,27,42,.6);line-height:1.6}
@media(max-width:1000px){.coverage__layout{grid-template-columns:1fr}}
@media(max-width:600px){.coverage__zone-grid{grid-template-columns:repeat(2,1fr)}}

/* ─── TESTIMONIALS ────────────────────────────────────────── */
.testi__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.testi-card{background:var(--white);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:var(--r-md);padding:28px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:16px}
.testi-card__stars{color:#F5B84A;font-size:16px;letter-spacing:2px}
.testi-card__text{font-size:17px;line-height:1.75;color:var(--text);flex:1;font-style:italic}
.testi-card__author{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border);padding-top:16px}
.testi-card__avatar{width:44px;height:44px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:700;font-size:16px;color:var(--white);flex-shrink:0}
.testi-card__name{font-weight:600;font-size:16px;color:var(--text)}
.testi-card__role{font-size:16px;color:var(--muted);margin-top:2px}
@media(max-width:800px){.testi__grid{grid-template-columns:1fr}}

/* ─── FAQ ─────────────────────────────────────────────────── */
.faq__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.faq-item{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;transition:box-shadow .2s}
.faq-item:hover{box-shadow:var(--shadow-card)}
.faq-item__q{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;text-align:left;font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--text);line-height:1.35;transition:background .15s}
.faq-item__q:hover{background:var(--off)}
.faq-item__q.active{background:var(--navy);color:var(--white)}
.faq-item__icon{width:28px;height:28px;border-radius:50%;flex-shrink:0;background:var(--off);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:300;transition:transform .25s,background .15s;color:var(--muted);line-height:1}
.faq-item__q.active .faq-item__icon{background:rgba(255,255,255,.15);color:var(--white);transform:rotate(45deg)}
.faq-item__a{max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;font-size:17px;line-height:1.75;color:var(--muted);padding:0 22px}
.faq-item__a.open{max-height:500px;padding:16px 22px 22px}
@media(max-width:800px){.faq__grid{grid-template-columns:1fr}}

/* ─── CONTACT ─────────────────────────────────────────────── */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact__info{display:flex;flex-direction:column;gap:20px}
.contact__info-item{display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-md);padding:20px}
.contact__info-icon{font-size:26px;flex-shrink:0;margin-top:2px}
.contact__info-label{font-family:var(--font-head);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.contact__info-value{font-size:18px;color:rgba(255,255,255,.9);line-height:1.55}
.contact__info-value a{color:rgba(255,255,255,.9);transition:color .15s}
.contact__info-value a:hover{color:var(--accent)}
.contact__map{border-radius:var(--r-md);overflow:hidden;height:200px;margin-top:8px;border:1px solid rgba(255,255,255,.12)}
.contact__map iframe{width:100%;height:100%;border:0;display:block}
.contact__form-wrap{background:var(--white);border-radius:var(--r-lg);padding:36px;box-shadow:0 8px 48px rgba(0,0,0,.25)}
.contact__form-title{font-family:var(--font-head);font-size:24px;font-weight:800;color:var(--navy);margin-bottom:6px}
.contact__form-sub{font-size:17px;color:var(--muted);margin-bottom:28px;line-height:1.6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.form-group label{font-size:16px;font-weight:600;color:var(--text);letter-spacing:.02em}
.form-group label .req{color:#C0392B;margin-left:3px}
.form-group input,.form-group textarea,.form-group select{border:1.5px solid var(--border);border-radius:var(--r-sm);padding:14px 16px;font-size:16px;font-family:var(--font-body);color:var(--text);background:var(--white);transition:border-color .15s,box-shadow .15s;outline:none;width:100%}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,111,168,.12)}
.form-group textarea{resize:vertical;min-height:120px}
.form-group--file{margin-bottom:16px}
.file-upload{border:2px dashed var(--border);border-radius:var(--r-md);padding:20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;position:relative}
.file-upload:hover{border-color:var(--blue);background:rgba(26,111,168,.03)}
.file-upload input[type="file"]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.file-upload__icon{font-size:28px;margin-bottom:8px}
.file-upload__text{font-size:16px;color:var(--muted);line-height:1.5}
.file-upload__text strong{color:var(--blue)}
.file-names{font-size:16px;color:var(--muted);margin-top:8px;text-align:left}
.form-privacy{font-size:16px;color:var(--muted);margin-bottom:20px;display:flex;align-items:flex-start;gap:8px}
.form-privacy input{margin-top:3px;flex-shrink:0}
.form-submit{width:100%;padding:18px;font-size:18px;justify-content:center;letter-spacing:.03em}
.form-success{display:none;background:#EDFBF3;border:1px solid rgba(27,122,74,.25);border-radius:var(--r-md);padding:20px;text-align:center;margin-top:16px}
.form-success p{color:var(--green);font-weight:600;font-size:16px}
@media(max-width:900px){.contact__grid{grid-template-columns:1fr}}
@media(max-width:600px){.form-row{grid-template-columns:1fr}}

/* ─── CTA BAND ────────────────────────────────────────────── */
.cta-band{background:linear-gradient(135deg,var(--accent) 0%,#C8860E 100%);padding:64px 0;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(255,255,255,.06) 0%,transparent 70%)}
.cta-band__inner{position:relative;z-index:1}
.cta-band__title{font-family:var(--font-head);font-size:38px;font-weight:800;color:var(--navy);margin-bottom:12px;text-transform:uppercase}
.cta-band__sub{font-size:18px;color:rgba(13,27,42,.7);margin-bottom:36px}
.cta-band__btns{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}
.cta-band .btn--primary{background:var(--navy);color:var(--white);box-shadow:0 4px 16px rgba(13,27,42,.3)}
.cta-band .btn--primary:hover{background:var(--navy-mid)}
.cta-band .btn--navy{background:var(--navy);color:var(--white)}
.cta-band .btn--navy:hover{background:var(--navy-mid)}
.cta-band .btn--outline{color:var(--navy);border-color:rgba(13,27,42,.45);background:transparent}
.cta-band .btn--outline:hover{background:rgba(13,27,42,.1);border-color:var(--navy)}
@media(max-width:900px){.cta-band__title{font-size:30px}}
@media(max-width:600px){.cta-band__title{font-size:26px}}

@media(max-width:900px){}
@media(max-width:540px){}

/* ─── FLOATING BUTTONS ────────────────────────────────────── */
.wa-float{position:fixed;bottom:24px;right:24px;z-index:300;width:56px;height:56px;border-radius:50%;background:#25D366;box-shadow:0 4px 20px rgba(37,211,102,.45);display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;transition:transform .2s,box-shadow .2s}
.wa-float:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,.55)}
.call-float{display:none;position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--accent)}
.call-float a{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 20px;font-family:var(--font-head);font-size:16px;font-weight:800;color:var(--navy);text-decoration:none;letter-spacing:.02em}
@media(max-width:768px){.call-float{display:block}.wa-float{bottom:84px}body{padding-bottom:60px}}

/* ─── HERO RESPONSIVE ─────────────────────────────────────── */
@media(max-width:1200px){.hero h1{font-size:46px}}
@media(max-width:900px){.hero h1{font-size:42px}}
@media(max-width:600px){.hero h1{font-size:34px}}
@media(max-width:400px){.hero h1{font-size:30px}}
.section-title{font-size:40px}
@media(max-width:900px){.section-title{font-size:34px}}
@media(max-width:600px){.section-title{font-size:28px}}

/* ─── Contact section: navy bg like hero ─────────────────── */
#contacto.section--dark{background:var(--navy);color:var(--white)}
#contacto .label{color:var(--accent);opacity:1}
#contacto .label::before{background:var(--accent)}
#contacto .section-title{color:var(--white)}
#contacto .section-intro{color:rgba(255,255,255,.65);font-size:18px}
#contacto .contact__info-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
#contacto .contact__info-label{color:var(--accent)}
#contacto .contact__info-value{color:rgba(255,255,255,.9);font-size:18px;line-height:1.55}
#contacto .contact__info-value a{color:rgba(255,255,255,.9)}
#contacto .contact__info-value a:hover{color:var(--accent)}
#contacto .contact__map{border-color:rgba(255,255,255,.12)}
#contacto .contact__form-wrap{background:var(--white);box-shadow:0 8px 48px rgba(0,0,0,.25)}
#contacto .form-submit{font-size:18px;padding:18px}

/* ─── Section mid coverage on gold ───────────────────────── */
.section--mid .coverage__muni{background:rgba(13,27,42,.08);border-color:rgba(13,27,42,.2);color:var(--navy)}
.section--mid .coverage__muni:hover{background:rgba(13,27,42,.15);border-color:rgba(13,27,42,.35)}
.section--mid .coverage__muni--featured{background:rgba(13,27,42,.18);border-color:rgba(13,27,42,.45);color:var(--navy);font-weight:800}
.section--mid .coverage__zone-title{color:var(--navy);opacity:.65}
.section--mid .coverage__note{color:rgba(13,27,42,.6)}
.section--mid .section-title{color:var(--navy)}
.section--mid .label{color:var(--navy);opacity:.55}
.section--mid .label::before{background:var(--navy)}
.section--mid .section-intro{color:rgba(13,27,42,.68)}
.section--mid .btn--primary{background:var(--navy);color:var(--white)}
.section--mid .btn--primary:hover{background:var(--navy-mid)}

/* ─── Section dark (differentiators) gold bg ─────────────── */
.section--dark .label{color:rgba(13,27,42,.55)}
.section--dark .label::before{background:rgba(13,27,42,.4)}
.section--dark .section-intro{color:rgba(13,27,42,.68)}

/* ─── Hero outline keeps white on dark hero ──────────────── */
.hero .btn--outline{color:var(--white);border-color:rgba(255,255,255,.4)}
.hero .btn--outline:hover{border-color:var(--white);background:rgba(255,255,255,.08);color:var(--white)}

/* ─── NAV logo text ──────────────────────────────────────── */
.nav__logo-text{display:flex;align-items:center;gap:10px;text-decoration:none}
.nav__logo-icon-wrap{flex-shrink:0}
.nav__logo-name{display:flex;flex-direction:column;gap:1px;line-height:1.1}
.nav__logo-brand{font-family:var(--font-head);font-size:18px;font-weight:900;color:var(--navy);letter-spacing:.04em;text-transform:uppercase}
.nav__logo-sub{font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.nav__logo-sub em{font-style:normal;color:var(--accent);font-size:14px}
.nav__logo-sub span{color:var(--muted)}

/* Logo col */
/* Ensure all cols start at same height regardless of logo size */
@media(max-width:900px){
  }
@media(max-width:540px){
  }


/* Col 1 — Marca */
.footer__col-brand {}

/* Cols 2-4 */
.footer__col {}

/* Contact list */

/* Bottom bar */

/* Responsive */

}

}

/* ═══════════════════════════════════════════════════════════
   FOOTER — 4 columnas, fondo blanco, texto visible
   ═══════════════════════════════════════════════════════════ */
.footer {
  background: #FFFFFF !important;
  color: #1C2B3A;
  padding: 80px 0 0;
  border-top: 4px solid #E8A020;
  margin-top: 0;
}

.footer .container {
  background: transparent;
}
.footer__grid {
  display: grid !important;
  grid-template-columns: 1.5fr 1fr 1fr 1.3fr !important;
  gap: 48px;
  align-items: start;
  padding-bottom: 52px;
}

/* ── Col 1: Marca ──────────────────────────────────────── */
.footer__wordmark {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-bottom: 20px;
  line-height: 1.1;
}
.footer__wordmark-main {
  font-family: var(--font-head);
  font-size: 30px;
  font-weight: 900;
  color: #0D1B2A !important;
  letter-spacing: .04em;
  text-transform: uppercase;
  display: block;
}
.footer__wordmark-sub {
  font-family: var(--font-head);
  font-size: 20px;
  font-weight: 700;
  color: #6B7A8D !important;
  letter-spacing: .06em;
  text-transform: uppercase;
  display: block;
}
.footer__wordmark-sub em {
  font-style: normal;
  color: #E8A020 !important;
  margin-right: 4px;
}
.footer__desc {
  font-size: 17px;
  color: #6B7A8D !important;
  line-height: 1.75;
  max-width: 300px;
}

/* ── Cols 2-4 ──────────────────────────────────────────── */
.footer__col-title {
  font-family: var(--font-head);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #0D1B2A !important;
  margin-bottom: 18px;
  padding-bottom: 8px;
  border-bottom: 2px solid #E8A020;
  display: block;
}
.footer__links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 0;
  margin: 0;
}
.footer__links a,
.footer__links li a {
  font-size: 17px !important;
  color: #6B7A8D !important;
  text-decoration: none;
  transition: color .15s;
  display: block;
}
.footer__links a:hover,
.footer__links li a:hover { color: #E8A020 !important; }

/* ── Contact list ──────────────────────────────────────── */
.footer__contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer__contact-list li { list-style: none; }
.footer__contact-list li a {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-size: 17px !important;
  color: #6B7A8D !important;
  text-decoration: none;
  transition: color .15s;
  line-height: 1.45;
}
.footer__contact-list li a:hover { color: #E8A020 !important; }
.footer__contact-list svg {
  flex-shrink: 0;
  color: #E8A020;
  margin-top: 2px;
}

/* ── Bottom bar ────────────────────────────────────────── */
.footer__bottom {
  background: #F4F6F9;
  margin: 0 calc(var(--gutter) * -1);
  padding: 18px var(--gutter);
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  border-top: 1px solid #DDE3EC;
}
.footer__copy,
.footer__copy a {
  font-size: 14px;
  color: #6B7A8D !important;
  text-decoration: none;
}
.footer__copy a:hover { color: #E8A020 !important; }

/* ── Responsive ────────────────────────────────────────── */
@media (max-width: 1024px) {
  .footer__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px;
  }
  .footer__col-brand {
    grid-column: 1 / -1;
  }
}
@media (max-width: 540px) {
  .footer__grid {
    grid-template-columns: 1fr !important;
    gap: 28px;
  }
  .footer__wordmark-main { font-size: 26px; }
}

/* ─── Footer spacing ─────────────────────────────────────── */
.footer { padding-top: 80px !important; }
.footer__grid { padding-bottom: 64px; }

/* ─── Typography coherence pass ─────────────────────────── */
/* Paragraphs inherit body line-height */
p { line-height: 1.75; }
/* All headings use font-head */
h1, h2, h3, h4 { font-family: var(--font-head); font-weight: 800; line-height: 1.1; }
/* Links inherit color by default */
a { color: inherit; text-decoration: none; }
/* Smooth font rendering everywhere */
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* ─── Service card link ──────────────────────────────────── */
.svc-card-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  font-family: var(--font-head);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--blue);
  text-decoration: none;
  transition: color .15s, gap .15s;
}
.svc-card-link:hover {
  color: var(--accent);
  gap: 10px;
}
