:root{
  --hx-blue:#9dbbe5;
  --hx-red:#fa1f02;
  --hx-gold:#efce8c;
  --hx-ink:#0e0f12;

  --bg:#ffffff;
  --bg2:#f6f7fb;
  --border:rgba(15,23,42,.12);
  --text:#0f172a;
  --muted:rgba(15,23,42,.72);

  --radius:18px;
  --shadow:0 18px 50px rgba(15,23,42,.10);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial;color:var(--text);background:var(--bg)}
a{color:inherit;text-decoration:none}
.hx-wrap{max-width:1120px;margin:0 auto;padding:0 16px}

.hx-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.hx-header__bar{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:12px}
.hx-brand{display:flex;align-items:center;gap:10px;font-weight:900}
.hx-brand__logo{display:inline-flex;width:36px;height:36px;border-radius:12px;align-items:center;justify-content:center;background:var(--hx-blue);color:var(--hx-ink)}
.hx-brand__text{letter-spacing:.02em}

.hx-nav{display:flex;gap:14px;align-items:center}
.hx-nav a{opacity:.86;font-weight:700}
.hx-nav a:hover{opacity:1}
.hx-nav__cta{padding:10px 12px;border-radius:12px;background:var(--hx-ink);color:#fff}

.hx-call{display:none;padding:10px 12px;border-radius:12px;border:1px solid var(--border);font-weight:800}

.hx-hero{
  padding:clamp(26px,4vw,54px) 0;
  background:
    radial-gradient(1200px 650px at 15% -10%, rgba(157,187,229,.35), transparent 60%),
    radial-gradient(900px 550px at 90% 0%, rgba(239,206,140,.30), transparent 55%),
    linear-gradient(180deg, var(--bg2), var(--bg));
}
.hx-hero__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:start}
.hx-kicker{display:inline-flex;font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:12px;opacity:.75;margin:0 0 10px}
.hx-hero h1{font-size:clamp(30px,4vw,54px);line-height:1.05;margin:0 0 12px;color:var(--hx-ink)}
.hx-hero h1 span{color:var(--hx-red)}
.hx-lead{font-size:16px;line-height:1.6;margin:0 0 16px;color:var(--muted)}
.hx-hero__ctas{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 14px}

.hx-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:14px;font-weight:900;border:1px solid transparent;transition:transform .15s ease, box-shadow .15s ease}
.hx-btn:hover{transform:translateY(-1px);box-shadow:0 16px 40px rgba(15,23,42,.14)}
.hx-btn--primary{background:var(--hx-ink);color:#fff}
.hx-btn--ghost{background:#fff;border-color:var(--border);color:var(--hx-ink)}

.hx-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.hx-badge{padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.7);font-weight:800;font-size:13px}

.hx-hero__card{
  background:rgba(255,255,255,.92);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:18px;
  backdrop-filter:blur(6px);
}
.hx-hero__card h2{margin:0 0 6px}
.hx-muted{color:var(--muted)}

.hx-form{margin-top:10px}
.hx-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hx-field label{display:block;font-weight:800;margin:0 0 6px}
.hx-field input,.hx-field textarea{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(15,23,42,.16);outline:none}
.hx-field--full{grid-column:1/-1}
.hx-submit{margin-top:10px;width:100%;padding:14px 16px;border-radius:14px;border:0;background:var(--hx-red);color:#fff;font-weight:950;cursor:pointer}
.hx-submit:disabled{opacity:.7;cursor:not-allowed}
.hx-legal{font-size:12px;opacity:.72;margin:10px 0 0}
.hp{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}

.hx-section{padding:clamp(30px,4vw,60px) 0}
.hx-section--alt{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.hx-section h2{margin:0 0 12px;color:var(--hx-ink)}
.hx-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.hx-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 14px 40px rgba(15,23,42,.06)}
.hx-card h3{margin:0 0 8px}
.hx-card p{margin:0;color:var(--muted);line-height:1.55}

.hx-faq{border:1px solid var(--border);border-radius:16px;padding:12px 14px;background:#fff;margin-top:10px}
.hx-faq summary{cursor:pointer;font-weight:900}
.hx-faq__a{margin-top:8px;color:var(--muted);line-height:1.55}

.hx-footer{border-top:1px solid var(--border);padding:22px 0;background:#fff}
.hx-footer__grid{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.hx-footer__links{display:flex;gap:14px;flex-wrap:wrap}
.hx-footer__links a{opacity:.8;font-weight:800}
.hx-footer__links a:hover{opacity:1}

.hx-thanks{min-height:70vh;display:flex;align-items:center;padding:42px 0;background:linear-gradient(180deg,var(--bg2),var(--bg))}
.hx-thanks__card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}
.hx-thanks__cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

@media (max-width: 900px){
  .hx-hero__grid{grid-template-columns:1fr}
  .hx-call{display:inline-flex}
}
@media (max-width: 720px){
  .hx-grid{grid-template-columns:1fr}
  .hx-cards{grid-template-columns:1fr}
  .hx-nav{display:none}
}
.hx-brand__img{
  width:36px;
  height:36px;
  object-fit:contain;
  border-radius:10px;
}
/* =========================
   HERO · Estilo San Telmo (premium)
   ========================= */

.hx-hero{
  position:relative;
  overflow:hidden;
  padding: 84px 0;
}

.hx-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    /* Overlay elegante (oscuro suave + color marca) */
    radial-gradient(1200px 700px at 15% 10%, rgba(157,187,229,.28), transparent 60%),
    radial-gradient(1000px 700px at 95% 10%, rgba(239,206,140,.18), transparent 60%),
    linear-gradient(90deg, rgba(255,255,255,.86) 0%, rgba(255,255,255,.66) 42%, rgba(255,255,255,.28) 75%, rgba(255,255,255,.18) 100%),
    url("/img/hero-vitoria.webp");
  background-size:cover;
  background-position:center;
  filter: saturate(1.18) contrast(1.12);
  transform: scale(1.02);
  z-index:0;
}

.hx-hero > .hx-wrap{ position:relative; z-index:1; }

/* Panel de texto “glass” (solo texto, no el form) */
.hx-hero__copy{
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 22px;
  padding: 18px 18px 16px;
  box-shadow: 0 18px 40px rgba(15,23,42,.10);
}

/* CTA más “premium” */
.hx-btn--primary{
  box-shadow: 0 10px 22px rgba(15,23,42,.18);
}

/* Ajuste móvil */
@media (max-width: 900px){
  .hx-hero{ padding: 60px 0; }
  .hx-hero::before{
    linear-gradient(to bottom, rgba(255,255,255,.82), rgba(255,255,255,.86)),
    url("/img/hero-vitoria.webp");
    background-size:cover;
    background-position:center;
  }
}


/* =========================
   Cards con imagen superior
   ========================= */
.hx-card--media{
  overflow:hidden;
  padding:0;              /* deja que la imagen “mande” arriba */
}

.hx-card__media{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}

.hx-card__body{
  padding:18px;
}

.hx-card__body h3{ margin-top:0; }


