
:root{--brand:#0A2A6B;--brand-2:#2F7BFF;--ink:#0B0E11;--muted:#606B85;--line:#E9EEF5;--bg:#fff;--radius:20px;--shadow:0 16px 40px rgba(10,24,50,.10)}
*{box-sizing:border-box}img{max-width:100%;display:block}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--ink)}
.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 18px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px}.logo-img{width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}
.brand-text small{display:block;color:var(--muted);margin-top:-4px}
.nav{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.nav a{padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600}.nav a:hover{background:#f1f6ff;color:var(--brand)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:16px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font-weight:800;box-shadow:0 4px 12px rgba(10,24,50,.06);transition:transform .2s ease, box-shadow .2s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(10,24,50,.1)}
.btn.primary{background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;border-color:transparent}
.btn.outline{background:transparent}
.btn.xl{padding:14px 22px}
.hero.white{padding:70px 20px;border-bottom:1px solid var(--line)}
.hero-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.hero-copy .eyebrow{color:var(--brand);text-transform:uppercase;letter-spacing:.16em;font-weight:800}
.hero-copy h1{font-size:clamp(2rem,5vw,3.2rem);margin:.2rem 0}
.hero-copy .sub{color:var(--muted)}.hero-ctas{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.section{max-width:1100px;margin:0 auto;padding:56px 20px}
.section-head h2{margin:0 0 6px}.section-head p{margin:0 0 20px;color:var(--muted)}
.tramites .cards,.termicos .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.tramites .cards,.termicos .cards{grid-template-columns:1fr}}
.card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease}
.card.neon:hover{border-color:var(--brand-2);box-shadow:0 0 0 2px rgba(47,123,255,.15),0 10px 28px rgba(10,24,50,.18);transform:translateY(-2px)}
.card.neon.soft{background:linear-gradient(180deg,#fff,#f9fbff)}
.card h3{margin:.2rem 0 .2rem}.card ul{margin:.2rem 0 0 1rem;color:var(--ink)}.card li{margin:.2rem 0}
.promo{margin:26px 0;border:1px dashed var(--brand-2);border-radius:14px;padding:10px 14px;background:#f8fbff;overflow:hidden}
.promo .ticker{display:inline-block;animation:ticker 12s linear infinite;white-space:nowrap;color:#0A2A6B}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.edomex{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;box-shadow:var(--shadow)}
.edomex .bullets{columns:2;column-gap:40px}
@media(max-width:700px){.edomex .bullets{columns:1}}
.termicos .cards.tight .card p{color:var(--muted);margin:0}
.gallery .masonry{columns:3 280px;column-gap:12px}
.gallery img{width:100%;border-radius:14px;margin:0 0 12px;border:1px solid var(--line);box-shadow:0 6px 16px rgba(10,24,50,.06);opacity:0;transform:translateY(10px);transition:opacity .6s ease, transform .6s ease}
.gallery img.loaded{opacity:1;transform:translateY(0)}
.sk{background:linear-gradient(90deg,#f0f4ff,#ffffff,#f0f4ff);background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{0%{background-position:200% 0}100%{background-position:-200% 0}}
.pagos .pay-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:900px){.pagos .pay-logos{grid-template-columns:1fr}}
.pagos .pay{padding:12px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 6px 16px rgba(10,24,50,.06);text-align:center}
.steps .step-list{counter-reset:step;list-style:none;padding:0;margin:0 0 10px}
.steps .step-list li{position:relative;padding-left:42px;margin:12px 0}
.steps .step-list li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,var(--brand-2),var(--brand));color:#fff;display:grid;place-items:center;font-weight:800}
.legal{color:var(--muted);font-size:.9rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}
.contact-card .map.ph{height:180px;border-radius:12px;background:repeating-linear-gradient(45deg,#f1f6ff,#f1f6ff 10px,#fff 10px,#fff 20px);border:1px dashed var(--brand-2)}
.footer{border-top:1px solid var(--line);text-align:center;padding:24px 10px;color:#777}
.to-top{text-decoration:none;color:var(--ink);margin-left:10px}
.link{color:var(--brand-2);text-decoration:none}
.link:hover{text-decoration:underline}
