@charset "UTF-8";
/* Microsite Máster en Flebología y Patología Venosa · VARIcentro × UDIMA × EasySalud
   Look & Feel tomado del vídeo promocional de VARIcentro */

:root {
  --teal-dark: #00636d;     /* banda inferior del vídeo */
  --teal: #0db39b;          /* acento verde agua (cabecera tarjeta vídeo) */
  --teal-mid: #11a893;      /* "Máster:" */
  --navy: #1c4f5e;          /* titulares */
  --ink: #2b3d47;           /* texto */
  --muted: #5d6f78;
  --bg-soft: #edf2fa;       /* fondo tarjetas del vídeo */
  --card: #ffffff;
  --line: #d9e4ee;
  --grad: linear-gradient(135deg, #0db39b 0%, #00636d 100%);
  --shadow: 0 6px 24px rgba(16, 64, 80, .10);
  --radius: 16px;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
img, video { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }

body {
  font-family: "Montserrat", Arial, sans-serif;
  font-weight: 400;
  color: var(--ink);
  background: #fff;
  line-height: 1.6;
  font-size: 16px;
}

.center { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 16px; }
.text-center { text-align: center; }
.light { font-weight: 300; } .regular { font-weight: 400; } .semibold { font-weight: 600; }
.bold { font-weight: 700; } .extrabold { font-weight: 800; }
.tipo-main-color { color: var(--teal-dark); }
.tipo-accent { color: var(--teal-mid); }
.tipo-white-color { color: #fff; }
.back-main-gradient { background: var(--grad); }
.back-soft { background: var(--bg-soft); }
.espacio-letra { letter-spacing: .08em; }

/* ---------- Cabecera ---------- */
header { position: sticky; top: 0; z-index: 50; background: #fff; box-shadow: 0 1px 0 var(--line); }
.top-bar { height: 6px; background: var(--grad); }
.cabecera { display: flex; align-items: center; gap: 20px; padding: 12px 16px; max-width: 1140px; margin: 0 auto; }
.cabecera .logos { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.cabecera .logos img.es { height: 34px; width: auto; }
.cabecera .logos img.vc { height: 46px; width: auto; }
.cabecera .logos .sep { width: 1px; height: 34px; background: var(--line); }
.menu { margin-left: auto; }
.menu ul { display: flex; gap: 22px; list-style: none; }
.menu a { font-weight: 600; font-size: .9rem; color: var(--navy); }
.menu a:hover { color: var(--teal-mid); }
.menu a.cta { background: var(--teal-dark); color: #fff; padding: 9px 16px; border-radius: 999px; }
.menu a.cta:hover { background: var(--teal-mid); color: #fff; }

/* menú móvil (mismo patrón checkbox que /uniteco) */
.respmenu { display: none; margin-left: auto; position: relative; }
.respmenu input { position: absolute; inset: 0; opacity: 0; width: 44px; height: 44px; cursor: pointer; z-index: 2; }
.respmenu .burger { width: 44px; height: 44px; display: grid; place-items: center; font-size: 1.5rem; color: var(--navy); }
.respmenu nav { display: none; position: absolute; right: -16px; top: 52px; background: #fff; width: 100vw; max-width: 320px; box-shadow: var(--shadow); border-radius: 0 0 12px 12px; padding: 8px 0; }
.respmenu input:checked ~ nav { display: block; }
.respmenu nav a { display: block; padding: 12px 20px; font-weight: 600; color: var(--navy); }

/* ---------- Hero ---------- */
.hero { background: var(--bg-soft); position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; top: 0; right: 0; width: 46%; height: 100%; background: var(--grad); clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%); }
.hero .center { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: center; padding-top: 56px; padding-bottom: 56px; }
.hero .eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: .8rem; font-weight: 700; letter-spacing: .12em; color: var(--teal-dark); text-transform: uppercase; }
.hero .eyebrow img { height: 26px; width: auto; }
.hero h1 { font-size: clamp(2rem, 4.2vw, 3.1rem); line-height: 1.12; color: var(--navy); font-weight: 700; margin: 14px 0 8px; }
.hero h1 span { color: var(--teal-mid); }
.hero .sub { color: var(--muted); font-weight: 500; }
.hero .pill { display: inline-block; margin-top: 18px; background: var(--navy); color: #fff; font-weight: 600; font-size: .85rem; padding: 8px 16px; border-radius: 999px; }
.hero .ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; padding: 14px 24px; border-radius: 999px; font-size: .95rem; transition: transform .15s, background .15s; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background: var(--teal-dark); color: #fff; }
.btn-primary:hover { background: var(--teal-mid); }
.btn-ghost { background: #fff; color: var(--teal-dark); border: 2px solid var(--teal-dark); }
.hero .foto { position: relative; justify-self: center; width: 100%; max-width: 420px; }
.hero .foto img { border-radius: 24px; box-shadow: 0 18px 50px rgba(0, 60, 70, .35); aspect-ratio: 1/1; object-fit: cover; }
.hero .foto .tag { position: absolute; left: -18px; bottom: 26px; background: rgba(255,255,255,.96); border-radius: 14px; padding: 12px 16px; box-shadow: var(--shadow); }
.hero .foto .tag strong { display: block; color: var(--navy); font-size: 1rem; }
.hero .foto .tag span { display: block; font-size: .78rem; color: var(--teal-mid); font-weight: 600; line-height: 1.35; }

/* ---------- Bloques de texto ---------- */
.bloque-texto { padding: 64px 16px 24px; max-width: 860px; }
.bloque-texto h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--navy); font-weight: 800; line-height: 1.2; margin-bottom: 16px; }
.bloque-texto h2 span { color: var(--teal-mid); }
.bloque-texto p { color: var(--ink); font-weight: 300; font-size: 1.05rem; margin-bottom: 14px; }
.bloque-texto p b { font-weight: 700; }
.bloque-texto .stat-inline { color: var(--teal-dark); font-weight: 800; }
.kicker { font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--teal-mid); margin-bottom: 8px; display: block; }

/* ---------- Datos del máster (tarjetas como en el vídeo) ---------- */
.datos { padding: 16px 0 64px; }
.datos .grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.dato { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px 16px; text-align: center; }
.dato strong { display: block; font-size: 2.1rem; font-weight: 700; color: var(--navy); line-height: 1.1; }
.dato span { display: block; font-size: .85rem; color: var(--muted); margin-top: 6px; }
.datos .nota { text-align: center; margin-top: 18px; font-weight: 700; color: var(--teal-dark); font-size: .95rem; }

/* ---------- Botones destacados (patrón /uniteco) ---------- */
.botones { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding-bottom: 72px; }
.boton { background: var(--bg-soft); border-radius: var(--radius); padding: 26px 22px; display: flex; flex-direction: column; gap: 10px; transition: transform .15s, box-shadow .15s; }
.boton:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.boton .ico { width: 54px; height: 54px; border-radius: 50%; background: var(--grad); color: #fff; display: grid; place-items: center; font-size: 1.35rem; }
.boton h3 { color: var(--navy); font-size: 1.15rem; font-weight: 800; line-height: 1.25; }
.boton p { color: var(--muted); font-size: .92rem; }

/* ---------- Bloques imagen + texto ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; padding: 72px 16px; }
.split img { border-radius: 22px; box-shadow: var(--shadow); width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.split h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--navy); font-weight: 800; line-height: 1.2; margin-bottom: 14px; }
.split h2 span { color: var(--teal-mid); }
.split p { font-weight: 300; margin-bottom: 12px; font-size: 1.05rem; }
.split p b { font-weight: 700; }
.highlight { display: flex; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; margin-top: 18px; box-shadow: var(--shadow); }
.highlight .num { font-size: 1.9rem; font-weight: 800; color: var(--teal-dark); line-height: 1; }
.highlight .txt { font-weight: 600; color: var(--navy); font-size: .95rem; line-height: 1.35; }

/* ---------- Director (patrón bloque asesora) ---------- */
.director { padding: 0 16px 72px; }
.director .card { display: grid; grid-template-columns: 260px 1fr; gap: 32px; align-items: center; border-radius: 24px; padding: 32px; color: #fff; }
.director img { border-radius: 18px; aspect-ratio: 1/1; object-fit: cover; border: 4px solid rgba(255,255,255,.35); }
.director h3 { font-size: 1.6rem; font-weight: 800; }
.director .cargo { font-weight: 600; opacity: .9; margin-bottom: 14px; }
.director blockquote { font-weight: 300; font-size: 1.08rem; border-left: 3px solid rgba(255,255,255,.6); padding-left: 16px; }
.director .badge { display: inline-block; margin-top: 16px; background: #fff; color: var(--teal-dark); font-weight: 800; border-radius: 999px; padding: 8px 16px; font-size: .9rem; }

/* ---------- Grupo VARIcentro ---------- */
.grupo { padding: 72px 0; }
.grupo .stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 22px; }
.grupo .stat { background: #fff; border-radius: var(--radius); padding: 20px 12px; text-align: center; box-shadow: var(--shadow); }
.grupo .stat strong { display: block; font-size: 2rem; font-weight: 800; color: var(--navy); line-height: 1.1; }
.grupo .stat span { font-size: .85rem; color: var(--muted); }

/* ---------- Vídeo ---------- */
.video { padding: 72px 16px; display: grid; grid-template-columns: 1fr 360px; gap: 48px; align-items: center; }
.video video { width: 100%; border-radius: 22px; box-shadow: 0 18px 50px rgba(0, 60, 70, .25); background: #000; aspect-ratio: 9/16; }
.video h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--navy); font-weight: 800; line-height: 1.2; margin-bottom: 14px; }
.video p { font-weight: 300; font-size: 1.05rem; margin-bottom: 12px; }

/* ---------- Contacto ---------- */
.banda { padding: 48px 16px; text-align: center; }
.banda h2 { font-size: clamp(1.6rem, 3.4vw, 2.3rem); font-weight: 800; letter-spacing: .06em; }
.banda p { font-weight: 300; font-size: 1.05rem; margin-top: 6px; }
.contacto { display: grid; grid-template-columns: 1.2fr .8fr; gap: 32px; padding: 48px 16px 80px; align-items: start; }
.formulario { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.formulario input[type=text], .formulario input[type=tel], .formulario input[type=email], .formulario select {
  width: 100%; padding: 14px 16px; border: 1.5px solid var(--line); border-radius: 12px; font: inherit; font-size: .95rem; color: var(--ink); background: #fff; }
.formulario input:focus, .formulario select:focus { outline: none; border-color: var(--teal-mid); box-shadow: 0 0 0 3px rgba(13,179,155,.15); }
.formulario .full { grid-column: 1 / -1; }
.formulario .check { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; color: var(--muted); }
.formulario .check input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--teal-dark); }
.formulario .check a { color: var(--teal-dark); font-weight: 600; text-decoration: underline; }
.formulario .hp { position: absolute; left: -9999px; }
#submitButton { border: 0; cursor: pointer; font: inherit; font-weight: 700; font-size: 1rem; padding: 15px; border-radius: 999px; color: #fff; }
#submitButton.desactivo { background: #a9bcc4; cursor: not-allowed; }
#submitButton.activo { background: var(--teal-dark); }
#submitButton.activo:hover { background: var(--teal-mid); }
.aviso-error { grid-column: 1 / -1; background: #fdecec; color: #8a1f1f; border-radius: 10px; padding: 10px 14px; font-size: .9rem; }
.qr-card { background: var(--bg-soft); border-radius: 22px; padding: 28px 22px; text-align: center; }
.qr-card img { width: 170px; margin: 0 auto 14px; background: #fff; padding: 10px; border-radius: 14px; box-shadow: var(--shadow); }
.qr-card .t1 { color: var(--muted); }
.qr-card .t2 { color: var(--navy); font-weight: 700; font-size: 1.1rem; }
.qr-card .t3 { color: var(--muted); font-size: .85rem; margin-bottom: 14px; }
.qr-card .tel { display: block; font-weight: 800; color: var(--navy); font-size: 1.25rem; margin-bottom: 14px; }
.qr-card .pill { display: inline-block; background: var(--navy); color: #fff; border-radius: 999px; padding: 7px 14px; font-size: .8rem; font-weight: 600; }

/* ---------- Pie ---------- */
footer .pie-logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 40px; padding: 40px 16px; }
footer .pie-logos img { height: 64px; width: auto; }
footer .pie-logos img.udima { height: 60px; }
footer .banda-verde { padding: 28px 16px; text-align: center; color: #fff; }
footer .banda-verde h3 { font-weight: 800; letter-spacing: .1em; font-size: 1.1rem; }
footer .banda-verde img { height: 40px; width: auto; margin: 10px auto 0; }
footer .credenciales { background: #0b3b45; color: #d5e5ea; text-align: center; padding: 22px 16px; font-size: .8rem; }
footer .credenciales a { color: #fff; text-decoration: underline; }
footer .credenciales p + p { margin-top: 8px; }

/* ---------- Responsive ---------- */
.movil { display: none; }
@media (max-width: 900px) {
  .menu { display: none; }
  .respmenu { display: block; }
  .hero::before { width: 100%; height: 38%; top: auto; bottom: 0; clip-path: polygon(0 30%, 100% 0, 100% 100%, 0 100%); }
  .hero .center { grid-template-columns: 1fr; padding-top: 36px; padding-bottom: 40px; gap: 28px; }
  .hero .foto { max-width: 340px; }
  .hero .foto .tag { left: 12px; }
  .datos .grid { grid-template-columns: repeat(2, 1fr); }
  .dato strong { font-size: 1.7rem; }
  .botones { grid-template-columns: 1fr; }
  .split { grid-template-columns: 1fr; gap: 24px; padding: 48px 16px; }
  .split.reverse .media { order: -1; }
  .director .card { grid-template-columns: 1fr; padding: 24px; }
  .director img { max-width: 220px; }
  .grupo .stats { grid-template-columns: 1fr; }
  .video { grid-template-columns: 1fr; gap: 24px; }
  .video video { max-width: 360px; margin: 0 auto; }
  .contacto { grid-template-columns: 1fr; }
  .formulario { grid-template-columns: 1fr; }
  .cabecera .logos img.es { height: 26px; }
  .cabecera .logos img.vc { height: 38px; }
}

/* ===== Ampliación oct-2026: estructura de la landing actual del máster ===== */
.topbar { background: #0b4a5a; color: #e6f5f3; text-align: center; font-size: .85rem; padding: 8px 16px; font-weight: 500; }
.topbar b { color: #fff; }
.cabecera .logos img.vc { height: 46px; }
.cabecera .logos img.es { height: 32px; }

.hero2 { background: linear-gradient(180deg, #e6f4f2 0%, var(--bg-soft) 100%); padding: 48px 0 64px; scroll-margin-top: 80px; }
.hero2-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: start; }
.etiqueta { display: inline-block; background: #fff; border: 1px solid var(--line); border-radius: 999px; padding: 7px 14px; font-size: .8rem; font-weight: 700; color: var(--navy); }
.hero2 h1 { font-size: clamp(2.1rem, 4.4vw, 3.4rem); line-height: 1.08; color: var(--navy); font-weight: 800; margin: 16px 0 14px; }
.hero2 h1 span { color: var(--teal-mid); font-weight: 600; font-style: italic; }
.hero2 .sub { font-size: 1.1rem; font-weight: 300; color: var(--ink); max-width: 560px; }
.hero2 .sub b { font-weight: 700; }
.mini-datos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 24px 0; }
.mini-datos div { background: #fff; border-radius: 14px; padding: 14px 12px; box-shadow: var(--shadow); }
.mini-datos strong { display: block; font-size: 1.6rem; font-weight: 700; color: var(--navy); line-height: 1.1; }
.mini-datos span { font-size: .8rem; color: var(--muted); }
.hero2-foto { position: relative; }
.hero2-foto img { width: 100%; border-radius: 22px; aspect-ratio: 16/9; object-fit: cover; object-position: center 25%; box-shadow: var(--shadow); }
.hero2-foto .tag { position: absolute; left: 16px; bottom: 16px; background: rgba(255,255,255,.96); border-radius: 12px; padding: 10px 14px; }
.hero2-foto .tag strong { display: block; color: var(--navy); }
.hero2-foto .tag span { font-size: .78rem; color: var(--teal-mid); font-weight: 600; }

.form-card { background: #fff; border-radius: 24px; padding: 28px; box-shadow: 0 18px 50px rgba(16,64,80,.14); position: sticky; top: 96px; }
.form-card h2 { font-size: 1.5rem; color: var(--navy); font-weight: 800; line-height: 1.2; }
.form-card h2 span { color: var(--teal-mid); font-style: italic; font-weight: 600; }
.form-intro { color: var(--muted); font-size: .95rem; margin: 8px 0 18px; }
.form-card #submitButton { width: 100%; }
.form-tel { text-align: center; margin-top: 14px; font-weight: 600; color: var(--navy); }
.form-tel a { color: var(--teal-dark); }
.form-legal { font-size: .72rem; color: var(--muted); line-height: 1.45; margin-top: 14px; border-top: 1px solid var(--line); padding-top: 12px; }

.nota-legal { font-size: .9rem; color: var(--muted); }
.iconos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; padding-bottom: 64px; }
.iconos div { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); }
.iconos i { color: #fff; background: var(--grad); width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; font-size: 1.1rem; margin-bottom: 12px; }
.iconos b { display: block; color: var(--navy); }
.iconos span { font-size: .88rem; color: var(--muted); }

.fases { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 18px 0 12px; }
.fases li { background: #fff; border-radius: 12px; padding: 12px 10px; text-align: center; box-shadow: var(--shadow); }
.fases span { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--teal-dark); color: #fff; font-weight: 800; margin-bottom: 6px; }
.fases b { display: block; font-size: .85rem; color: var(--navy); line-height: 1.25; }
.pequeno { font-size: .9rem; color: var(--muted); }

.modulos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.modulos div { display: flex; gap: 14px; align-items: center; background: var(--bg-soft); border-radius: 14px; padding: 16px 18px; font-weight: 600; color: var(--navy); }
.modulos span { font-size: 1.4rem; font-weight: 800; color: var(--teal-mid); min-width: 38px; }
.calendario { margin: 28px 0 72px; }
.calendario h3 { color: var(--navy); font-weight: 800; margin-bottom: 12px; }
.linea { display: grid; grid-template-columns: 1fr 1fr 2fr 3fr 1fr; gap: 6px; }
.linea div { background: var(--grad); color: #fff; border-radius: 10px; padding: 12px; }
.linea b { display: block; font-size: .85rem; }
.linea span { font-size: .8rem; opacity: .9; }
.equipo-txt { margin-top: 14px; font-weight: 300; }

.dos-col { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding-bottom: 72px; }
.caja { border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; box-shadow: var(--shadow); }
.caja i { font-size: 1.6rem; color: var(--teal-mid); margin-bottom: 10px; }
.caja h3 { color: var(--navy); font-weight: 800; margin-bottom: 8px; }
.caja p { font-weight: 300; }
.caja b { font-weight: 700; }

.precio-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: center; padding: 72px 16px; }
.precio-card { background: #fff; border-radius: 24px; padding: 32px; text-align: center; box-shadow: 0 18px 50px rgba(16,64,80,.14); }
.precio-card .antes { color: var(--muted); }
.precio-card .ahora { font-size: 3.4rem; font-weight: 800; color: var(--navy); line-height: 1.1; }
.precio-card .ahorro { color: var(--teal-dark); font-weight: 700; margin-bottom: 18px; }
.precio-grid h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--navy); font-weight: 800; margin-bottom: 16px; }
.precio-grid h2 span { color: var(--teal-mid); }
.pasos { list-style: none; display: grid; gap: 12px; }
.pasos li { display: flex; gap: 14px; align-items: flex-start; background: #fff; border-radius: 14px; padding: 14px 16px; }
.pasos li > span { flex: 0 0 34px; height: 34px; border-radius: 50%; background: var(--grad); color: #fff; font-weight: 800; display: grid; place-items: center; }
.pasos b { display: block; color: var(--navy); }
.pasos div { font-size: .92rem; color: var(--muted); }

.stats-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 18px; }
.stats-row div { background: var(--bg-soft); border-radius: 14px; padding: 16px 10px; text-align: center; }
.stats-row strong { display: block; font-size: 1.6rem; font-weight: 800; color: var(--navy); }
.stats-row span { font-size: .8rem; color: var(--muted); }

.faq { padding: 72px 16px; max-width: 860px; }
.faq h2 { font-size: clamp(1.5rem, 3vw, 2.1rem); color: var(--navy); font-weight: 800; margin-bottom: 18px; }
.faq h2 span { color: var(--teal-mid); }
.faq details { background: #fff; border-radius: 14px; margin-bottom: 10px; padding: 16px 20px; box-shadow: var(--shadow); }
.faq summary { cursor: pointer; font-weight: 700; color: var(--navy); }
.faq details p { margin-top: 10px; font-weight: 300; }

.contacto-final { display: grid; grid-template-columns: 320px 1fr; gap: 40px; align-items: center; padding: 48px 16px 72px; }
.contacto-datos { display: grid; gap: 14px; justify-items: start; }
.contacto-datos a { font-size: 1.25rem; font-weight: 700; color: var(--navy); }
.contacto-datos a.btn { font-size: 1rem; color: #fff; }

@media (max-width: 900px) {
  .hero2-grid, .precio-grid, .dos-col, .contacto-final { grid-template-columns: 1fr; }
  .form-card { position: static; padding: 22px; }
  .mini-datos { grid-template-columns: repeat(2, 1fr); }
  .iconos { grid-template-columns: repeat(2, 1fr); }
  .fases { grid-template-columns: repeat(2, 1fr); }
  .modulos { grid-template-columns: 1fr; }
  .linea { grid-template-columns: 1fr; }
  .stats-row { grid-template-columns: 1fr; }
  .topbar { font-size: .75rem; }
  .cabecera .logos img.vc { height: 38px; }
  .cabecera .logos img.es { height: 24px; }
  .contacto-final .qr-card { max-width: 320px; }
}
.contacto-final.solo { grid-template-columns: 1fr; justify-items: center; }
.contacto-final.solo .contacto-datos { justify-items: center; text-align: center; }
.hero2-foto img { object-position: center 8%; }
@media (max-width: 900px) { .hero2-foto { display: none; } .hero2 { padding-top: 28px; } }
