/* Dr. Hector Gonzalez — Full Site CSS */

/* === TOKENS === */
    :root {
      /* CardioRoma — paleta refinada: azul medio + rojo cálido + crema */
      --navy:    #2C4A7C;       /* azul marino principal (más luminoso) */
      --navy-2:  #34568E;       /* azul medio para fondos secundarios */
      --navy-3:  #4A6BA0;       /* azul más claro */
      --navy-deep: #243E69;     /* azul más profundo solo para CTAs/footer */
      --wine:    #A4384A;       /* rojo borgoña cálido, no agresivo */
      --wine-2:  #BC5566;       /* rojo más claro para acentos */
      --wine-3:  #D89AA3;       /* rosa pálido/acento suave */
      --ivory:   #FAF7F4;       /* crema cálida */
      --cream:   #F5EFE8;       /* crema más saturada */
      --white:   #FFFFFF;
      --muted:   rgba(250,247,244,0.78);
      --dim:     rgba(250,247,244,0.55);
      --ink:     #1E2A3E;       /* texto principal sobre claro */
      --ink-2:   #4A5568;       /* texto secundario */
      --ink-3:   #7B8BA0;       /* texto terciario */
      --line:    #E8E2DA;       /* bordes sobre crema */
      --line-2:  #DDE3EA;       /* bordes sobre blanco */

      /* Paquete colors — armonizados con paleta principal */
      --hta-bg:    #2C4A7C; --hta-accent: #5BA882; --hta-light: #B8D9C5;
      --pre-bg:    #34568E; --pre-accent: #D89AA3; --pre-light: #F0CCD3;
      --exec-bg:   #243E69; --exec-accent: #A4384A; --exec-light: #D89AA3;

      --wa: #25D366;

      /* Acentos sobre FONDO OSCURO (no usar wine sobre navy — pierde contraste).
         Sobre azul, los acentos son crema o tonos cálidos pálidos legibles. */
      --accent-on-dark:        #F0D7A8;       /* dorado pálido cálido — eyebrows sobre navy */
      --accent-on-dark-soft:   rgba(240,215,168,0.78);
      --accent-on-dark-dim:    rgba(240,215,168,0.55);
      --highlight-on-dark:     #F5C99A;       /* dorado más saturado para énfasis (em, números) */
      --f-display: 'Playfair Display', Georgia, serif;
      --f-body: 'DM Sans', system-ui, sans-serif;
      --ease: cubic-bezier(0.16,1,0.3,1);
      --trans: 0.3s var(--ease);
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }
    body { font-family: var(--f-body); background: var(--white); color: var(--ink); line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
    img { max-width: 100%; height: auto; display: block; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; cursor: pointer; background: none; border: none; }
    p { margin-bottom: 1rem; } p:last-child { margin-bottom: 0; }
    h1,h2,h3,h4 { font-family: var(--f-display); line-height: 1.12; }

    /* === LAYOUT === */
    .container { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }
    .section { padding: 6rem 1.5rem; }
    @media(max-width:768px) { .section { padding: 4rem 1.2rem; } }

    /* === TOPBAR === */
    .topbar { background: var(--navy); font-family: var(--f-body); font-size: 0.6rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); position: fixed; top: 0; left: 0; right: 0; z-index: 100000; }
    .topbar__inner { max-width: 1240px; margin: 0 auto; padding: 0.42rem 1.5rem; display: flex; align-items: center; justify-content: space-between; }
    .topbar__left { display: flex; align-items: center; gap: 1.5rem; }
    .topbar__item { display: flex; align-items: center; gap: 0.4rem; }
    .topbar__link { color: var(--muted); transition: color 0.2s; }
    .topbar__link:hover { color: var(--ivory); }
    @media(max-width:1024px) {
      .topbar { font-size: 0.55rem; }
    }
    @media(max-width:768px) {
      /* Ocultar topbar en mobile — interfiere visualmente con la foto hero */
      .topbar { display: none !important; }
    }

    /* === HEADER === */

    /* Logo mark SVG (sustituye a la imagen del logo) */
    .header__logo-link { display: flex; align-items: center; text-decoration: none; }
    /* Logo: blanco cuando header transparente, color original al hacer scroll */
    .header__logo-img {
      height: 78px; width: auto; object-fit: contain; display: block;
      transition: height 0.35s ease, filter 0.35s ease;
      filter: brightness(0) invert(1) !important;
    }
    .site-header.scrolled .header__logo-img { height: 64px; filter: none !important; }
    @media(max-width:600px) { .header__logo-img { height: 58px; } }


    .site-header {
      position: fixed; left: 0; right: 0; z-index: 99999;
      display: flex; align-items: center; justify-content: space-between;
      padding: 0.4rem 1.5rem; background: transparent;
      transition: background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease, top 0.2s ease, transform 0.3s ease;
      top: 0; /* JS lo ajusta a tbH en desktop cuando hay topbar */
    }
    .site-header.scrolled { background: rgba(255,255,255,0.97); backdrop-filter: blur(16px); box-shadow: 0 2px 20px rgba(0,0,0,0.08); padding: 0.3rem 1.5rem; }
    .header__nav { display: flex; gap: 0.4rem; align-items: center; }
    .nav-link {
      font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
      color: rgba(245,242,238,0.85);
      transition: all 0.22s ease;
      position: relative;
      display: inline-flex; align-items: center; gap: 0.35rem;
      padding: 0.42rem 0.85rem;
      border-radius: 50px;
      border: 1px solid rgba(255,255,255,0.15);
      background: rgba(255,255,255,0.06);
    }
    /* Icono SVG de corazón para cada link */
    .nav-link::before {
      content: '';
      width: 12px; height: 12px;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(240,215,168,0.7)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-size: contain;
      flex-shrink: 0;
      opacity: 0.7;
      transition: opacity 0.22s ease;
    }
    .nav-link:hover {
      color: #fff;
      background: rgba(255,255,255,0.14);
      border-color: rgba(240,215,168,0.5);
    }
    .nav-link:hover::before { opacity: 1; }
    /* Quitar el underline animado — reemplazado por el borde del botón */
    .nav-link::after { display: none; }
    .site-header.scrolled .nav-link {
      color: var(--navy);
      background: rgba(44,74,124,0.07);
      border-color: rgba(44,74,124,0.2);
    }
    .site-header.scrolled .nav-link::before {
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232C4A7C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='22 12 18 12 15 21 9 3 6 12 2 12'/%3E%3C/svg%3E");
    }
    .site-header.scrolled .nav-link:hover { color: var(--wine); background: rgba(164,56,74,0.07); border-color: rgba(164,56,74,0.3); }
    .header__cta { display: flex; align-items: center; gap: 0.75rem; }
    .btn-wa-header { display: flex; align-items: center; gap: 0.4rem; background: var(--wa); color: #fff; border-radius: 50px; padding: 0.55rem 1rem; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); }
    .btn-wa-header:hover { background: #1ebe5d; transform: translateY(-1px); }
    .hamburger { display: none; align-items: center; justify-content: center; width: 36px; height: 36px; color: #1a1a1a !important; }
    .site-header.scrolled .hamburger { color: #1a1a1a !important; }
    @media(max-width:900px) { .header__nav { display: none; } .btn-wa-header { display: none; } .hamburger { display: flex; } }

    /* En móvil: completamente transparente, sin fondo, sin sombra, sin transición */
    @media(max-width:1024px) {
      .site-header,
      .site-header:not(.scrolled),
      .site-header::before,
      .site-header::after {
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-shadow: none !important;
        border: none !important;
        padding: 0.3rem 1rem !important;
        top: 0 !important;
        /* Sin transición de fondo para evitar el flash azul */
        transition: padding 0.35s ease, transform 0.3s ease, top 0.2s ease !important;
      }
      /* Logo blanco siempre cuando no hay scroll */
      .header__logo-img { filter: brightness(0) invert(1) !important; }
      .site-header:not(.scrolled) .hamburger { color: #ffffff !important; }

      /* Al hacer scroll: fondo blanco */
      .site-header.scrolled {
        background: rgba(255,255,255,0.97) !important;
        backdrop-filter: blur(12px) !important;
        box-shadow: 0 1px 12px rgba(0,0,0,0.08) !important;
      }
      .site-header.scrolled .header__logo-img { filter: none !important; }
      .site-header.scrolled .hamburger { color: #1a1a1a !important; }
      .nav-link { color: #4A5568; }
      .nav-link:hover { color: var(--navy); }
    }

    /* === HERO === */
    .hero { min-height: 100vh; background: var(--navy); position: relative; overflow: hidden; display: flex; }

    /* ECG line — más sutil */
    .hero__ecg { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); opacity: 0.03; pointer-events: none; z-index: 1; }

    /* Left accent bar */
    .hero__bar { position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: linear-gradient(to bottom, var(--wine) 0%, rgba(164,56,74,0.3) 60%, transparent 100%); z-index: 6; }

    /* Photo — right half */
    .hero__photo { position: absolute; top: 0; right: 0; width: 52%; height: 100%; z-index: 0; overflow: hidden; }
    .hero__photo img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; }
    /* Degradados desktop — se eliminan en mobile */
    .hero__photo-fade-l { position: absolute; top: 0; left: 0; bottom: 0; width: 60%; background: linear-gradient(to right, var(--navy) 0%, var(--navy) 10%, rgba(44,74,124,0.85) 40%, rgba(44,74,124,0.4) 70%, transparent 100%); z-index: 2; }
    .hero__photo-fade-b { position: absolute; bottom: 0; left: 0; right: 0; height: 35%; background: linear-gradient(to top, var(--navy) 0%, transparent 100%); z-index: 2; }

    /* Content — panel izquierdo */
    .hero__content { position: relative; z-index: 5; display: flex; flex-direction: column; justify-content: center; width: 55%; min-height: 100vh; padding: 5rem 4rem 4rem 5.5rem; }

    /* Badge especialidad */
    .hero__badge { display: inline-flex; align-items: center; gap: 0.5rem; background: rgba(164,56,74,0.15); border: 1px solid rgba(164,56,74,0.4); border-radius: 3px; padding: 0.32rem 0.9rem; font-size: 0.55rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent-on-dark); margin-bottom: 1.4rem; width: fit-content; }
    .hero__badge-dot { width: 5px; height: 5px; background: var(--wine-2, #BC5566); border-radius: 50%; animation: blink 2s infinite; }
    @keyframes blink { 0%,100%{opacity:1}50%{opacity:0.3} }

    .hero__location { font-size: 0.55rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(245,242,238,0.35); display: block; margin-bottom: 0.35rem; }
    /* Nombre del doctor — más refinado, itálica */
    .hero__name { font-family: var(--f-display); font-size: clamp(1.1rem, 1.8vw, 1.6rem); color: rgba(245,242,238,0.6); font-weight: 300; font-style: italic; line-height: 1.2; margin: 0 0 0.6rem; letter-spacing: 0.01em; }
    /* Divisor con corazón decorativo */
    .hero__divider { width: 36px; height: 1px; background: rgba(201,169,110,0.45); margin: 1rem 0 1.1rem; }
    /* Título principal — más grande y ligero */
    .hero__title { font-family: var(--f-display); font-size: clamp(2.6rem, 4.8vw, 4.8rem); font-weight: 300; color: var(--ivory); line-height: 1.0; margin-bottom: 1rem; letter-spacing: -0.01em; }
    .hero__title em { font-style: italic; color: var(--accent-on-dark); font-weight: 300; }
    .hero__sub { font-size: clamp(0.82rem, 1vw, 0.9rem); font-weight: 300; color: var(--muted); line-height: 1.75; max-width: 400px; margin-bottom: 0.75rem; }
    .hero__cedula { font-size: 0.54rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); border-left: 2px solid rgba(201,169,110,0.35); padding-left: 0.75rem; margin-bottom: 1.6rem; display: block; line-height: 1.6; }

    /* ── STAT PILL "+35,000 pacientes" — Preservado con borde dorado ── */
    .hero__stat-pill {
      display: inline-flex; align-items: center; gap: 1.1rem;
      background: rgba(255,255,255,0.05);
      border: 1px solid rgba(201,169,110,0.3);
      border-radius: 10px;
      padding: 0.9rem 1.5rem;
      margin-bottom: 1.8rem;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      position: relative; overflow: hidden;
      width: fit-content;
    }
    .hero__stat-pill::before {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(135deg, rgba(164,56,74,0.2) 0%, rgba(201,169,110,0.06) 50%, transparent 100%);
      pointer-events: none;
    }
    .hero__stat-num {
      font-family: var(--f-display);
      font-size: clamp(2.2rem, 3.5vw, 3rem);
      font-weight: 600; color: #fff;
      line-height: 1; letter-spacing: -0.02em; white-space: nowrap;
    }
    .hero__stat-num--sm {
      font-size: clamp(1.8rem, 2.8vw, 2.4rem);
    }
    .hero__stat-block {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 0.1rem;
    }
    .hero__stat-block .hero__stat-text {
      font-size: 0.62rem;
      line-height: 1.2;
    }
    .hero__stat-sep { width: 1px; height: 2.5rem; background: rgba(201,169,110,0.3); flex-shrink: 0; }
    .hero__stat-text {
      font-size: 0.7rem; font-weight: 500;
      color: rgba(245,242,238,0.78);
      line-height: 1.6; letter-spacing: 0.04em; text-transform: uppercase;
    }
    .hero__stat-text em {
      display: block; font-style: normal;
      color: var(--accent-on-dark); font-weight: 700; letter-spacing: 0.1em; font-size: 0.62rem; margin-top: 0.1rem;
    }
    .hero__stat-pill--dark { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.2); margin-bottom: 1.4rem; }
    .hero__stat-pill--dark .hero__stat-num { color: #ffffff; }
    .hero__stat-pill--dark .hero__stat-sep { background: rgba(255,255,255,0.25); }
    .hero__stat-pill--dark .hero__stat-text { color: rgba(245,242,238,0.8); }
    .hero__stat-pill--dark .hero__stat-text em { color: #f0d7a8; }

    /* Hero CTAs */
    .hero__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-bottom: 2.5rem; }
    .btn-hero-wa { display: flex; align-items: center; gap: 0.5rem; background: var(--wa); color: #fff; border-radius: 3px; padding: 0.88rem 1.8rem; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; transition: all var(--trans); border: 2px solid var(--wa); }
    .btn-hero-wa:hover { background: #1ebe5d; transform: translateY(-2px); box-shadow: 0 8px 28px rgba(37,211,102,0.38); }
    .btn-hero-ghost { display: flex; align-items: center; gap: 0.5rem; background: transparent; color: var(--ivory); border-radius: 3px; padding: 0.88rem 1.8rem; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; transition: all var(--trans); border: 2px solid rgba(255,255,255,0.2); }
    .btn-hero-ghost:hover { border-color: var(--accent-on-dark); color: var(--accent-on-dark); background: rgba(240,215,168,0.06); }

    .hero__mini { display: flex; gap: 1.2rem; flex-wrap: wrap; border-top: 1px solid rgba(255,255,255,0.07); padding-top: 1.8rem; }
    .hero__mini a { font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--dim); font-weight: 500; padding-bottom: 2px; border-bottom: 1px solid transparent; transition: all var(--trans); }
    .hero__mini a:hover { color: var(--accent-on-dark); border-bottom-color: var(--accent-on-dark-soft); }

    /* ═══════════════════════════════════════════════════════════
       HERO MOBILE — Editorial foto full-screen, contenido abajo.
       Mejoras: gradiente más dramático, foto más arriba (rostro visible),
       stat pill con glassmorphism y borde dorado, title más grande.
    ═══════════════════════════════════════════════════════════ */
    @media(max-width:1024px) {

      /* ① Hero: full-screen */
      .hero {
        position: relative !important;
        /* Altura fija con fallbacks para Safari iOS antiguo */
        height: 100vh !important;
        height: -webkit-fill-available !important;
        height: 100svh !important;
        min-height: 560px !important; /* mínimo absoluto si todo falla */
        width: 100% !important;
        overflow: hidden !important;
        display: block !important;
        background: #080e1c !important;
      }

      /* ② Foto: cubre todo */
      .hero__photo {
        position: absolute !important;
        top: 0 !important; left: 0 !important;
        right: 0 !important; bottom: 0 !important;
        width: 100% !important; height: 100% !important;
        z-index: 0 !important;
      }
      .hero__photo picture {
        display: block !important;
        position: absolute !important;
        top: 0 !important; left: 0 !important;
        width: 100% !important; height: 100% !important;
      }
      .hero__photo img {
        position: absolute !important;
        top: 0 !important; left: 0 !important;
        width: 100% !important; height: 100% !important;
        object-fit: cover !important;
        /* Posición: más arriba para mostrar el rostro del doctor */
        object-position: 55% 12% !important;
        display: block !important;
      }

      /* ③ Gradiente inferior — contraste para el texto */
      .hero__photo-fade-l { display: none !important; }
      .hero__photo-fade-b {
        display: block !important;
        position: absolute !important;
        top: 0 !important; left: 0 !important;
        right: 0 !important; bottom: 0 !important;
        background: linear-gradient(
          to top,
          rgba(5,12,24,1.0) 0%,
          rgba(5,12,24,0.97) 18%,
          rgba(5,12,24,0.82) 36%,
          rgba(5,12,24,0.45) 55%,
          rgba(5,12,24,0.10) 70%,
          transparent 100%
        ) !important;
        z-index: 1 !important;
      }
      .hero__photo::after {
        display: none !important;
      }

      /* ④ Ocultar decorativos del desktop */
      .hero__bar, .hero__ecg { display: none !important; }
      .hero__credencial-mobile { display: none !important; }
      .hero__mobile-rating { display: none !important; }

      .hero__content {
        position: absolute !important;
        bottom: 0 !important; left: 0 !important; right: 0 !important;
        top: auto !important;
        width: 100% !important; max-width: none !important;
        z-index: 2 !important;
        padding: 1.2rem 1.3rem 2.2rem !important;
        background: linear-gradient(to top, rgba(5,12,24,1) 0%, rgba(5,12,24,0.98) 70%, transparent 100%) !important;
        display: flex !important;
        flex-direction: column !important;
        height: auto !important; min-height: 0 !important;
        margin-top: 0 !important;
      }

      /* Badge: rojo sólido para contraste */
      .hero__badge {
        background: rgba(164,56,74,0.90) !important;
        border: 1px solid rgba(255,255,255,0.25) !important;
        border-radius: 2px !important;
        color: #fff !important;
        font-size: 0.49rem !important;
        padding: 0.25rem 0.75rem !important;
        margin-bottom: 0.75rem !important;
        width: fit-content !important;
      }
      .hero__badge-dot { background: #fff !important; }

      /* Ocultar redundantes en mobile */
      .hero__location, .hero__name { display: none !important; }
      /* Cédulas: visibles en mobile, tamaño reducido */
      .hero__cedula {
        display: block !important;
        font-size: 0.48rem !important;
        letter-spacing: 0.1em !important;
        color: rgba(245,242,238,0.65) !important;
        border-left-color: rgba(201,169,110,0.4) !important;
        margin-bottom: 0.9rem !important;
        line-height: 1.7 !important;
      }

      /* Divisor — simplificado */
      .hero__divider {
        width: 36px !important;
        height: 1px !important;
        background: rgba(201,169,110,0.5) !important;
        margin: 0.3rem 0 0.75rem !important;
      }

      /* Título — prominente */
      .hero__title {
        font-size: clamp(2rem, 8.5vw, 2.7rem) !important;
        color: #fff !important;
        margin-bottom: 0.4rem !important;
        line-height: 1.04 !important;
        font-weight: 300 !important;
        text-shadow: 0 2px 24px rgba(0,0,0,0.5) !important;
      }
      .hero__title em { color: var(--accent-on-dark) !important; font-style: italic !important; }

      /* Subtítulo */
      .hero__sub {
        font-size: 0.78rem !important;
        max-width: 100% !important;
        color: rgba(245,242,238,0.75) !important;
        font-weight: 300 !important;
        line-height: 1.55 !important;
        margin-bottom: 0.8rem !important;
      }

      /* STAT PILL — fondo oscuro sólido para contraste garantizado */
      .hero__stat-pill {
        display: inline-flex !important;
        width: auto !important;
        background: rgba(5,12,24,0.75) !important;
        border: 1px solid rgba(201,169,110,0.5) !important;
        border-radius: 50px !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        padding: 0.6rem 1.1rem !important;
        margin-bottom: 0.9rem !important;
      }
      .hero__stat-pill::before {
        background: none !important;
      }
      .hero__stat-num { color: #fff !important; font-size: 1.4rem !important; font-weight: 600 !important; }
      .hero__stat-num--sm { font-size: 1.3rem !important; }
      .hero__stat-sep { background: rgba(201,169,110,0.45) !important; height: 1.45rem !important; }
      .hero__stat-text { color: rgba(245,242,238,0.9) !important; font-size: 0.58rem !important; }
      .hero__stat-text em { color: var(--accent-on-dark) !important; }

      /* CTAs — 2 columnas */
      .hero__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
        margin-bottom: 0 !important;
      }
      .btn-hero-wa {
        justify-content: center !important;
        padding: 0.78rem 0.75rem !important;
        font-size: 0.66rem !important;
        border-radius: 3px !important;
      }
      .btn-hero-ghost {
        justify-content: center !important;
        color: #fff !important;
        border-color: rgba(255,255,255,0.5) !important;
        background: rgba(5,12,24,0.6) !important;
        padding: 0.78rem 0.75rem !important;
        font-size: 0.66rem !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border-radius: 3px !important;
      }

      .hero__mini { display: none !important; }
      .hero-testimonials { display: none !important; }

      /* ═══ PÁGINAS INTERNAS — clases hta-* dentro de .hero__content ═══ */

      /* Badge interno */
      .hero__content .hta-hero__badge {
        background: rgba(164,56,74,0.90) !important;
        border: 1px solid rgba(255,255,255,0.25) !important;
        border-radius: 2px !important;
        color: #fff !important;
        font-size: 0.49rem !important;
        padding: 0.25rem 0.75rem !important;
        margin-bottom: 0.75rem !important;
        width: fit-content !important;
      }
      .hero__content .hta-hero__badge-dot { background: #fff !important; }

      /* Título h1 sin clase */
      .hero__content h1 {
        font-size: clamp(1.9rem, 8.5vw, 2.6rem) !important;
        color: #fff !important;
        margin-bottom: 0.4rem !important;
        line-height: 1.04 !important;
        font-weight: 300 !important;
        text-shadow: 0 2px 24px rgba(0,0,0,0.5) !important;
      }
      .hero__content h1 em { color: var(--accent-on-dark) !important; font-style: italic !important; }

      /* Subtítulo */
      .hero__content .hta-hero__sub {
        font-size: 0.78rem !important;
        max-width: 100% !important;
        color: rgba(245,242,238,0.78) !important;
        font-weight: 300 !important;
        line-height: 1.55 !important;
        margin-bottom: 0.7rem !important;
      }
      /* También cualquier <p> directo dentro del hero en páginas internas */
      .hero__content > p,
      .hero__content p.hta-hero__sub {
        color: rgba(245,242,238,0.78) !important;
      }

      /* Cédulas en páginas internas — visibles en mobile */
      .hero__content .hta-hero__credencial {
        display: block !important;
        font-size: 0.48rem !important;
        color: rgba(245,242,238,0.65) !important;
        border-left-color: rgba(201,169,110,0.4) !important;
        margin-bottom: 0.9rem !important;
        line-height: 1.7 !important;
      }

      /* Stat pill — ambas variantes */
      .hero__content .hero__stat-pill,
      .hero__content .hero__stat-pill--dark {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.8rem !important;
        width: auto !important;
        background: rgba(5,12,24,0.75) !important;
        border: 1px solid rgba(201,169,110,0.5) !important;
        border-radius: 50px !important;
        backdrop-filter: blur(20px) !important;
        -webkit-backdrop-filter: blur(20px) !important;
        padding: 0.6rem 1.1rem !important;
        margin-bottom: 0.8rem !important;
      }
      .hero__content .hero__stat-pill::before,
      .hero__content .hero__stat-pill--dark::before { background: none !important; }
      .hero__content .hero__stat-num {
        font-size: 1.55rem !important;
        font-weight: 600 !important;
        color: #fff !important;
        line-height: 1 !important;
      }
      .hero__content .hero__stat-sep {
        width: 1px !important;
        height: 1.45rem !important;
        background: rgba(201,169,110,0.45) !important;
        flex-shrink: 0 !important;
      }
      .hero__content .hero__stat-text {
        font-size: 0.58rem !important;
        color: rgba(245,242,238,0.9) !important;
        line-height: 1.5 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
      }
      .hero__content .hero__stat-text em {
        display: block !important;
        font-style: normal !important;
        color: var(--accent-on-dark) !important;
        font-weight: 700 !important;
      }

      /* CTAs internos — 2 columnas */
      .hero__content .hta-hero__actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 0.5rem !important;
        margin-bottom: 0.6rem !important;
      }
      .hero__content .hta-btn-primary {
        justify-content: center !important;
        padding: 0.78rem 0.6rem !important;
        font-size: 0.62rem !important;
        border-radius: 3px !important;
      }
      .hero__content .hta-btn-ghost {
        justify-content: center !important;
        color: #fff !important;
        border-color: rgba(255,255,255,0.5) !important;
        background: rgba(5,12,24,0.6) !important;
        padding: 0.78rem 0.6rem !important;
        font-size: 0.62rem !important;
        backdrop-filter: blur(12px) !important;
        border-radius: 3px !important;
      }

      /* Trust strip y mini nav — ocultar en mobile */
      .hero__content .hta-hero__trust { display: none !important; }
      .hero__content .hero__mini { display: none !important; }
    }

    /* Pantallas muy pequeñas */
    @media(max-width:390px) {
      .hero__title { font-size: 1.85rem !important; }
      .hero__actions { grid-template-columns: 1fr !important; }
      .hero__stat-pill { width: 100% !important; justify-content: center !important; }
      /* Páginas internas */
      .hero__content h1 { font-size: 1.75rem !important; }
      .hero__content .hta-hero__actions { grid-template-columns: 1fr !important; }
      .hero__content .hero__stat-pill--dark { width: 100% !important; justify-content: center !important; }
    }


    /* === STATS BAR === */
    .statsbar { background: var(--navy-2); border-bottom: 1px solid rgba(255,255,255,0.06); }
    .statsbar__grid { max-width: 1240px; margin: 0 auto; padding: 2rem 1.5rem; display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
    .stat { text-align: center; padding: 0.5rem; }
    .stat-n { font-family: var(--f-display); font-size: clamp(1.8rem, 3vw, 3rem); color: var(--ivory); font-weight: 400; line-height: 1; }
    .stat-l { font-size: 0.6rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(245,242,238,0.4); margin-top: 0.3rem; }
    @media(max-width:600px) { .statsbar__grid { grid-template-columns: repeat(2,1fr); gap: 0.5rem; } }

    /* === CONFIANZA === */
    .confianza { padding: 4.5rem 1.5rem; background: var(--white); border-bottom: 1px solid #E8EDF2; }
    .confianza__label { text-align: center; font-size: 0.6rem; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 2.5rem; }
    .confianza__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.2rem; max-width: 1000px; margin: 0 auto; }
    .conf-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0.7rem; padding: 1.8rem 1rem; background: #F8F9FA; border: 1px solid #E2E8EE; border-radius: 12px; transition: all var(--trans); }
    .conf-card:hover { border-color: var(--wine); transform: translateY(-3px); box-shadow: 0 8px 24px rgba(164,56,74,0.1); }
    .conf-icon { width: 48px; height: 48px; background: rgba(164,56,74,0.1); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--wine); }
    .conf-name { font-size: 0.78rem; font-weight: 600; color: #2D3748; line-height: 1.4; }
    .conf-badge { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wine); background: rgba(164,56,74,0.1); padding: 0.25rem 0.7rem; border-radius: 50px; }

    /* ── CONF SECTION (grid de cards sobre fondo navy) ── */
    .conf { padding: 5rem 0; }
    .conf__inner { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
    .conf__hdr { text-align: center; margin-bottom: 3rem; }
    .conf__hdr h2 { font-family: var(--f-display); font-size: clamp(1.8rem,3vw,2.8rem); font-weight: 300; color: var(--ivory); line-height: 1.15; margin-bottom: 1rem; }
    .conf__hdr h2 em { font-style: italic; color: var(--accent-on-dark); }
    .conf__hdr p { font-size: 0.9rem; color: var(--muted); max-width: 600px; margin: 0 auto; line-height: 1.75; }
    .conf__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
    @media(max-width:900px) { .conf__grid { grid-template-columns: 1fr; } }
    .conf-card { display: flex; flex-direction: column; gap: 0.9rem; padding: 2rem 1.8rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 14px; transition: all var(--trans); }
    .conf-card:hover { border-color: rgba(201,169,110,0.4); transform: translateY(-3px); box-shadow: 0 12px 32px rgba(0,0,0,0.2); }
    .conf-card__icon { width: 48px; height: 48px; background: rgba(155,35,53,0.2); border-radius: 10px; display: flex; align-items: center; justify-content: center; color: var(--accent-on-dark); flex-shrink: 0; }
    .conf-card__title { font-family: var(--f-display); font-size: 1.25rem; font-weight: 400; color: var(--ivory); line-height: 1.2; }
    .conf-card__desc { font-size: 0.85rem; color: var(--muted); line-height: 1.7; }
    .conf-card__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.45rem; margin-top: auto; padding-top: 0.5rem; border-top: 1px solid rgba(255,255,255,0.07); }
    .conf-card__list li { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.05em; color: rgba(245,242,238,0.6); padding-left: 1rem; position: relative; }
    .conf-card__list li::before { content: '→'; position: absolute; left: 0; color: var(--accent-on-dark); font-size: 0.65rem; }

    /* ── HTA-PROCESO (pasos numerados) ── */
    .hta-proceso { padding: 5rem 0; }
    .hta-proceso__inner { max-width: 860px; margin: 0 auto; padding: 0 2rem; }
    .hta-proceso__hdr { text-align: center; margin-bottom: 3rem; }
    .hta-proceso__hdr h2 { font-family: var(--f-display); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 300; color: var(--navy); line-height: 1.15; margin-bottom: 0.5rem; }
    .hta-proceso__hdr h2 em { font-style: italic; color: var(--wine); }
    .hta-proceso__steps { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0; }
    .hta-proceso__step { display: flex; gap: 2rem; align-items: flex-start; padding: 2rem 0; border-bottom: 1px solid var(--line); }
    .hta-proceso__step:last-child { border-bottom: none; }
    .hta-proceso__num { font-family: var(--f-display); font-size: 3rem; font-weight: 300; color: rgba(155,35,53,0.18); line-height: 1; flex-shrink: 0; width: 56px; text-align: center; }
    .hta-proceso__body h4 { font-size: 1rem; font-weight: 700; color: var(--navy); margin-bottom: 0.5rem; }
    .hta-proceso__body p { font-size: 0.88rem; color: var(--ink-2, #4A5568); line-height: 1.75; }
    @media(max-width:600px) {
      .hta-proceso__step { flex-direction: column; gap: 0.5rem; }
      .hta-proceso__num { font-size: 2rem; width: auto; }
    }

    /* ── FAQ ── */
    .faq { padding: 5rem 0; }
    .faq__inner { max-width: 780px; margin: 0 auto; padding: 0 2rem; }
    .faq__hdr { text-align: center; margin-bottom: 3rem; }
    .faq__hdr h2 { font-family: var(--f-display); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 300; color: var(--navy); line-height: 1.15; margin-bottom: 0.5rem; }
    .faq__hdr h2 em { font-style: italic; color: var(--wine); }
    .faq__list { display: flex; flex-direction: column; gap: 0; }
    .faq__item { border-bottom: 1px solid var(--line); }
    .faq__item:first-child { border-top: 1px solid var(--line); }
    .faq__q { display: flex; justify-content: space-between; align-items: center; padding: 1.2rem 0; font-size: 0.95rem; font-weight: 600; color: var(--navy); cursor: pointer; list-style: none; gap: 1rem; }
    .faq__q::-webkit-details-marker { display: none; }
    .faq__q::after { content: '+'; font-size: 1.4rem; font-weight: 300; color: var(--wine); flex-shrink: 0; transition: transform 0.3s ease; }
    .faq__item[open] .faq__q::after { transform: rotate(45deg); }
    .faq__a { padding: 0 0 1.2rem; }
    .faq__a p { font-size: 0.88rem; color: var(--ink-2, #4A5568); line-height: 1.8; }

    /* ── CTC (call to contact) — variante ecocardiograma ── */
    .ctc { padding: 5rem 0; }
    .ctc__inner { max-width: 1100px; margin: 0 auto; padding: 0 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
    @media(max-width:900px) { .ctc__inner { grid-template-columns: 1fr; gap: 2.5rem; } }
    .ctc__copy .eyebrow { color: var(--accent-on-dark); }
    .ctc__copy h2 { font-family: var(--f-display); font-size: clamp(1.8rem,3vw,2.8rem); font-weight: 300; color: var(--ivory); line-height: 1.1; margin-bottom: 1rem; }
    .ctc__copy h2 em { font-style: italic; color: var(--accent-on-dark); }
    .ctc__copy p { font-size: 0.9rem; color: var(--muted); line-height: 1.75; margin-bottom: 1.5rem; }
    .ctc__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
    .ctc__stat { text-align: center; padding: 1.5rem 1rem; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; }
    .ctc__n { font-family: var(--f-display); font-size: 2.2rem; font-weight: 300; color: var(--ivory); display: block; line-height: 1; margin-bottom: 0.3rem; }
    .ctc__l { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-on-dark); opacity: 0.8; }
    @media(max-width:768px) { .confianza__grid { grid-template-columns: repeat(2,1fr); } }

    /* === PAQUETES === */
    .paquetes-section { background: var(--ivory); padding: 6rem 1.5rem; }
    .paquetes-hdr { text-align: center; max-width: 620px; margin: 0 auto 3.5rem; }
    .eyebrow { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; display: block; margin-bottom: 0.8rem; }
    .eyebrow--dark { color: var(--ink-3); }
    .paquetes-hdr h2 { font-size: clamp(1.8rem,3.5vw,2.8rem); color: var(--navy); margin-bottom: 0.8rem; }
    .paquetes-hdr p { font-size: 0.9rem; color: #6B7280; line-height: 1.75; }
    .paquetes-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; max-width: 1100px; margin: 0 auto; }

    /* Card base */
    .pkg { border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease); position: relative; }
    .pkg:hover { transform: translateY(-6px); }

    /* HTA — Azul medio (paleta principal) */
    .pkg--hta { background: var(--hta-bg); box-shadow: 0 8px 32px rgba(44,74,124,0.18); }
    .pkg--hta:hover { box-shadow: 0 20px 48px rgba(91,168,130,0.18); }
    .pkg--hta .pkg-top-line { background: var(--hta-accent); }
    .pkg--hta .pkg-num { color: var(--hta-light); }
    .pkg--hta .pkg-name { color: #FFFFFF; }
    .pkg--hta .pkg-price { color: #C8E5D2; }
    .pkg--hta .pkg-target { color: rgba(184,217,197,0.7); }
    .pkg--hta .pkg-desc { color: rgba(250,247,244,0.78); }
    .pkg--hta .pkg-divider { border-color: rgba(91,168,130,0.22); }
    .pkg--hta .pkg-item { color: rgba(250,247,244,0.85); }
    .pkg--hta .pkg-item::before { color: var(--hta-accent); }
    .pkg--hta .pkg-saving { color: rgba(250,247,244,0.5); }
    .pkg--hta .pkg-saving strong { color: var(--hta-light); }
    .pkg--hta .pkg-cta { background: var(--wa); color: #fff; border-color: var(--wa); }
    .pkg--hta .pkg-cta:hover { background: #1ebe5d; border-color: #1ebe5d; }
    .pkg--hta .pkg-mes { color: rgba(184,217,197,0.6); }

    /* Preop — Azul medio con acento crema/dorado */
    .pkg--pre { background: var(--pre-bg); box-shadow: 0 8px 32px rgba(52,86,142,0.22); border: 1px solid rgba(240,215,168,0.22); }
    .pkg--pre:hover { box-shadow: 0 20px 48px rgba(240,215,168,0.18); }
    .pkg--pre .pkg-top-line { background: var(--accent-on-dark); }
    .pkg--pre .pkg-num { color: var(--accent-on-dark-soft); }
    .pkg--pre .pkg-name { color: #FFFFFF; }
    .pkg--pre .pkg-target { color: rgba(240,215,168,0.7); }
    .pkg--pre .pkg-desc { color: rgba(250,247,244,0.78); }
    .pkg--pre .pkg-divider { border-color: rgba(240,215,168,0.18); }
    .pkg--pre .pkg-item { color: rgba(250,247,244,0.85); }
    .pkg--pre .pkg-item::before { color: var(--accent-on-dark); }
    .pkg--pre .pkg-cta { background: var(--wa); color: #fff; border-color: var(--wa); }
    .pkg--pre .pkg-cta:hover { background: #1ebe5d; border-color: #1ebe5d; }
    .pkg--pre-badge { position: absolute; top: 1rem; right: 1rem; background: var(--accent-on-dark); color: var(--navy-deep); font-size: 0.52rem; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.22rem 0.65rem; border-radius: 50px; }

    /* Exec — Azul profundo con acento crema */
    .pkg--exec { background: var(--exec-bg); box-shadow: 0 8px 32px rgba(36,62,105,0.25); }
    .pkg--exec:hover { box-shadow: 0 20px 48px rgba(240,215,168,0.16); }
    .pkg--exec .pkg-top-line { background: linear-gradient(90deg, var(--accent-on-dark), var(--highlight-on-dark)); }
    .pkg--exec .pkg-num { color: var(--accent-on-dark-soft); }
    .pkg--exec .pkg-name { color: #FFFFFF; }
    .pkg--exec .pkg-target { color: rgba(240,215,168,0.7); }
    .pkg--exec .pkg-desc { color: rgba(250,247,244,0.78); }
    .pkg--exec .pkg-divider { border-color: rgba(240,215,168,0.18); }
    .pkg--exec .pkg-item { color: rgba(250,247,244,0.85); }
    .pkg--exec .pkg-item::before { color: var(--highlight-on-dark); }
    .pkg--exec .pkg-cta { background: var(--wa); color: #fff; border-color: var(--wa); }
    .pkg--exec .pkg-cta:hover { background: #1ebe5d; border-color: #1ebe5d; }

    /* Card internals */
    .pkg-top-line { height: 4px; }
    .pkg-body { padding: 1.8rem; flex: 1; display: flex; flex-direction: column; }
    .pkg-num { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; margin-bottom: 0.4rem; }
    .pkg-name { font-family: var(--f-display); font-size: 1.5rem; font-weight: 400; line-height: 1.15; margin-bottom: 0.2rem; }
    .pkg-price { font-family: var(--f-display); font-size: 2rem; font-weight: 400; line-height: 1; margin: 0.9rem 0 0.2rem; }
    .pkg-price sup { font-size: 0.9rem; vertical-align: super; }
    .pkg-price sub { font-size: 0.65rem; font-family: var(--f-body); vertical-align: bottom; opacity: 0.6; }
    .pkg-mes { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 0.6rem; }
    .pkg-target { font-size: 0.72rem; font-style: italic; margin-bottom: 1rem; line-height: 1.5; }
    .pkg-desc { font-size: 0.82rem; line-height: 1.65; margin-bottom: 1rem; flex: 1; }
    .pkg-divider { border: none; border-top: 1px solid; margin: 1rem 0; }
    .pkg-item { display: flex; align-items: flex-start; gap: 0.5rem; font-size: 0.8rem; margin-bottom: 0.45rem; }
    .pkg-item::before { content: "—"; flex-shrink: 0; font-weight: 700; }
    .pkg-saving { font-size: 0.68rem; margin: 0.8rem 0 1.2rem; line-height: 1.5; }
    .pkg-saving s { opacity: 0.5; }
    .pkg-cta { display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.85rem 1rem; border-radius: 50px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); border: 2px solid; width: 100%; margin-top: auto; }

    @media(max-width:900px) { .paquetes-grid { grid-template-columns: 1fr; max-width: 440px; margin: 0 auto; } }

    /* Aseguradoras pill row */
    .seguros { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-top: 2.5rem; }
    .seg-pill { background: var(--white); border: 1px solid #DDE3EA; border-radius: 50px; padding: 0.45rem 1.1rem; font-size: 0.72rem; font-weight: 600; color: #4A5568; }

    /* === VENTAJAS === */
    .ventajas-section { background: var(--navy-2); padding: 6rem 1.5rem; }
    .ventajas-hdr { max-width: 640px; margin-bottom: 3.5rem; }
    .ventajas-hdr .eyebrow { color: var(--accent-on-dark); }
    .ventajas-hdr h2 { font-size: clamp(1.8rem,3.5vw,2.8rem); color: var(--ivory); margin-bottom: 0.8rem; }
    .ventajas-hdr p { font-size: 0.9rem; color: var(--muted); line-height: 1.75; }
    .ventajas-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
    .vent { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 1.8rem; transition: all var(--trans); }
    .vent:hover { background: rgba(255,255,255,0.07); border-color: rgba(240,215,168,0.28); }
    .vent-icon { width: 44px; height: 44px; background: rgba(240,215,168,0.12); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--accent-on-dark); margin-bottom: 1rem; }
    .vent h4 { font-family: var(--f-display); font-size: 1.1rem; color: var(--ivory); margin-bottom: 0.5rem; }
    .vent p { font-size: 0.82rem; color: var(--muted); line-height: 1.7; }
    .vent-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.8rem; }
    .vent-tag { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: 50px; padding: 0.2rem 0.65rem; font-size: 0.6rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(245,242,238,0.6); }
    @media(max-width:768px) { .ventajas-grid { grid-template-columns: 1fr; } }

    /* === DOCTOR === */
    .doctor-section { padding: 6rem 1.5rem; background: var(--white); }
    .doctor-layout { display: grid; grid-template-columns: 1fr 1.2fr; gap: 5rem; align-items: center; max-width: 1100px; margin: 0 auto; }
    .doc-img-wrap { position: relative; }
    .doc-img-wrap img { width: 100%; border-radius: 12px; object-fit: cover; aspect-ratio: 4/5; filter: grayscale(10%) contrast(1.05); }
    .doc-badge { position: absolute; bottom: 1.5rem; left: -1rem; background: var(--white); border: 1px solid #E2E8EE; border-radius: 10px; padding: 0.9rem 1.2rem; box-shadow: 0 8px 24px rgba(0,0,0,0.1); }
    .doc-badge-n { font-family: var(--f-display); font-size: 2rem; color: var(--wine); line-height: 1; }
    .doc-badge-l { font-size: 0.6rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #8A9AB0; }
    .doc-content .eyebrow { color: var(--wine); }
    .doc-content h2 { font-size: clamp(1.8rem,3vw,2.6rem); color: var(--navy); margin-bottom: 1rem; }
    .doc-quote { font-family: var(--f-display); font-size: 1.15rem; font-style: italic; color: #3D4A5C; line-height: 1.45; border-left: 3px solid var(--wine); padding-left: 1.1rem; margin-bottom: 1.4rem; }
    .doc-content p { font-size: 0.88rem; color: #5A6678; line-height: 1.8; }
    .doc-creds { display: grid; grid-template-columns: 1fr 1fr; gap: 0.9rem; margin-top: 1.8rem; }
    .cred { padding: 0.9rem 1.1rem; border: 1px solid #E2E8EE; border-radius: 8px; border-left: 3px solid var(--wine); background: #FAFAFA; }
    .cred-l { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 0.2rem; }
    .cred-v { font-size: 0.8rem; font-weight: 600; color: var(--navy); }
    @media(max-width:768px) { .doctor-layout { grid-template-columns: 1fr; gap: 2.5rem; } .doc-badge { left: 0.5rem; } .doc-creds { grid-template-columns: 1fr; } }


    /* === PACIENTES / PERFILES === */
    .perfiles-section { background: var(--navy); padding: 6rem 1.5rem; overflow: hidden; }
    .perfiles-hdr { text-align: center; max-width: 580px; margin: 0 auto 3.5rem; }
    .perfiles-hdr .eyebrow { color: var(--accent-on-dark-soft); }
    .perfiles-hdr h2 { font-size: clamp(1.8rem,3.5vw,2.8rem); color: var(--ivory); margin-bottom: 0.8rem; }
    .perfiles-hdr p { font-size: 0.88rem; color: var(--muted); line-height: 1.8; }

    /* Grid of profile cards */
    .perfiles-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem; max-width: 960px; margin: 0 auto; }

    .perfil-card {
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 16px; padding: 2rem;
      cursor: pointer; position: relative; overflow: hidden;
      transition: border-color 0.35s ease, background 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
    }
    .perfil-card::before {
      content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
      background: var(--p-accent, var(--wine)); transform: scaleX(0); transform-origin: left;
      transition: transform 0.45s cubic-bezier(0.16,1,0.3,1);
    }
    .perfil-card:hover, .perfil-card.active {
      background: rgba(255,255,255,0.07);
      border-color: rgba(255,255,255,0.18);
      transform: translateY(-4px);
      box-shadow: 0 16px 48px rgba(0,0,0,0.25);
    }
    .perfil-card:hover::before, .perfil-card.active::before { transform: scaleX(1); }

    /* Icon */
    .perfil-icon {
      width: 52px; height: 52px; border-radius: 14px;
      background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
      display: flex; align-items: center; justify-content: center;
      font-size: 1.5rem; margin-bottom: 1.2rem;
      transition: background 0.3s, transform 0.3s;
    }
    .perfil-card:hover .perfil-icon, .perfil-card.active .perfil-icon {
      background: rgba(255,255,255,0.1); transform: scale(1.08);
    }
    .perfil-card h3 { font-family: var(--f-display); font-size: 1.3rem; color: var(--ivory); margin-bottom: 0.3rem; line-height: 1.2; }
    .perfil-card .perfil-sub { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 0.8rem; color: var(--p-accent, var(--wine)); }
    .perfil-card .perfil-desc { font-size: 0.83rem; color: var(--muted); line-height: 1.7; margin-bottom: 1.2rem; }

    /* Conditions list — hidden by default, reveals on active */
    .perfil-conditions {
      max-height: 0; overflow: hidden;
      transition: max-height 0.55s cubic-bezier(0.16,1,0.3,1), opacity 0.4s ease;
      opacity: 0;
    }
    .perfil-card.active .perfil-conditions { max-height: 300px; opacity: 1; }
    .perfil-conditions-inner { padding-top: 0.8rem; border-top: 1px solid rgba(255,255,255,0.08); margin-bottom: 1rem; }
    .perfil-conditions-label { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(245,242,238,0.3); margin-bottom: 0.6rem; }
    .perfil-cond-list { display: flex; flex-wrap: wrap; gap: 0.4rem; }
    .perfil-cond { font-size: 0.72rem; color: rgba(245,242,238,0.6); background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 50px; padding: 0.22rem 0.7rem; }

    /* CTA inside card */
    .perfil-cta {
      display: inline-flex; align-items: center; gap: 0.5rem;
      font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
      color: #fff; background: var(--wa); border: 1px solid var(--wa);
      border-radius: 50px; padding: 0.65rem 1.2rem;
      transition: all 0.25s; text-decoration: none;
      opacity: 0; transform: translateY(6px);
      transition: opacity 0.35s ease 0.15s, transform 0.35s ease 0.15s, background 0.25s, color 0.25s;
    }
    .perfil-card.active .perfil-cta { opacity: 1; transform: translateY(0); }
    .perfil-cta:hover { background: #1ebe5d; border-color: #1ebe5d; color: #fff; }
    .perfil-cta svg { flex-shrink: 0; }
    .perfil-link {
      display: inline-flex; align-items: center; gap: 0.4rem;
      margin-top: 0.5rem;
      font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em;
      text-transform: uppercase; color: rgba(255,255,255,0.85);
      opacity: 0; transform: translateY(6px);
      transition: all 0.35s ease 0.1s;
      text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.3);
      padding-bottom: 1px;
    }
    .perfil-link:hover { color: #fff; border-bottom-color: rgba(255,255,255,0.7); }
    .perfil-card.active .perfil-link { opacity: 1; transform: translateY(0); }

    /* Pulse hint — "toca para ver más" */
    .perfil-hint { position: absolute; bottom: 1rem; right: 1.1rem; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(245,242,238,0.25); transition: color 0.25s, opacity 0.25s; display: flex; align-items: center; gap: 0.3rem; }
    .perfil-hint::after { content: "↓"; font-size: 0.7rem; transition: transform 0.25s; display: inline-block; }
    .perfil-card:hover .perfil-hint { color: var(--p-accent, var(--wine)); opacity: 1; }
    .perfil-card:hover .perfil-hint::after { transform: translateY(2px); }
    .perfil-card.active .perfil-hint { opacity: 0; pointer-events: none; }

    /* Accordion for full list */
    .enf-accordion { max-width: 960px; margin: 3rem auto 0; }
    .enf-acc-trigger {
      display: flex; align-items: center; justify-content: space-between;
      padding: 1rem 1.4rem; background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.08); border-radius: 10px; cursor: pointer;
      transition: background 0.25s;
    }
    .enf-acc-trigger:hover { background: rgba(255,255,255,0.07); }
    .enf-acc-trigger span { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(245,242,238,0.45); }
    .enf-acc-arrow { transition: transform 0.35s; color: rgba(245,242,238,0.3); }
    .enf-acc-trigger.open .enf-acc-arrow { transform: rotate(180deg); }
    .enf-acc-body { max-height: 0; overflow: hidden; transition: max-height 0.5s cubic-bezier(0.16,1,0.3,1); }
    .enf-acc-body.open { max-height: 400px; }
    .enf-acc-inner { padding: 1.2rem 1.4rem; display: flex; flex-wrap: wrap; gap: 0.45rem; }
    .enf-acc-tag { font-size: 0.73rem; color: rgba(245,242,238,0.5); background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 50px; padding: 0.25rem 0.8rem; }

    @media(max-width:680px) {
      .perfiles-grid { grid-template-columns: 1fr; }
      .perfil-card { padding: 1.5rem; }
    }

    /* === DOCTOR SLIDESHOW === */
    .doc-slideshow { position: relative; width: 100%; border-radius: 12px; overflow: hidden; aspect-ratio: 4/5; background: #E2E8EE; }
    .doc-slide {
      position: absolute; inset: 0; width: 100%; height: 100%;
      object-fit: cover; object-position: 50% 15%;
      opacity: 0;
      transition: opacity 1.2s ease;
      border-radius: 12px;
    }
    .doc-slide--active { opacity: 1; }
    /* Dots */
    .doc-slide-dots { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); display: flex; gap: 0.5rem; z-index: 10; }
    .doc-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,0.35); border: none; cursor: pointer; padding: 0; transition: background 0.3s, transform 0.3s; }
    .doc-dot--active { background: #fff; transform: scale(1.3); }
    .doc-dot:hover { background: rgba(255,255,255,0.7); }

    /* === CONTACTO === */
    .contacto-section { background: var(--navy); padding: 6rem 1.5rem; }
    .contacto-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; max-width: 1100px; margin: 0 auto; align-items: start; }
    .ctc-info .eyebrow { color: var(--accent-on-dark); }
    .ctc-info h2 { font-size: clamp(1.8rem,3vw,2.6rem); color: var(--ivory); margin-bottom: 0.8rem; }
    .ctc-info p { font-size: 0.88rem; color: var(--muted); line-height: 1.75; }
    .ctc-details { margin-top: 1.8rem; display: flex; flex-direction: column; gap: 1rem; }
    .ctc-row { display: flex; gap: 0.9rem; align-items: flex-start; }
    .ctc-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 1px; }
    .ctc-lbl { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-on-dark); }
    .ctc-val { font-size: 0.9rem; font-weight: 500; color: var(--ivory); }
    .ctc-note { font-size: 0.75rem; color: var(--muted); }
    .ctc-wa-btn { display: flex; align-items: center; justify-content: center; gap: 0.6rem; background: var(--wa); color: #fff; border-radius: 50px; padding: 1rem 2rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); margin-top: 2rem; width: fit-content; }
    .ctc-wa-btn:hover { background: #1ebe5d; transform: translateY(-2px); box-shadow: 0 6px 24px rgba(37,211,102,0.4); }

    /* Form wizard */
    .form-wizard { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; overflow: hidden; }
    .form-wizard-header { padding: 1.5rem 2rem 0; }
    .form-wizard-header h3 { font-family: var(--f-display); font-size: 1.5rem; color: var(--ivory); margin-bottom: 0.25rem; }
    .form-wizard-header p { font-size: 0.78rem; color: var(--muted); }

    /* Progress bar */
    .progress-wrap { padding: 1.2rem 2rem 0; }
    .progress-steps { display: flex; gap: 0.5rem; margin-bottom: 0.5rem; }
    .prog-step { flex: 1; height: 3px; background: rgba(255,255,255,0.1); border-radius: 2px; transition: background 0.4s; }
    .prog-step.active { background: var(--accent-on-dark); }
    .prog-step.done { background: var(--wa); }
    .progress-label { font-size: 0.58rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(245,242,238,0.35); }

    /* Steps */
    .form-steps { }
    .form-step { display: none; padding: 1.5rem 2rem 2rem; animation: fadeStep 0.35s var(--ease); }
    .form-step.active { display: block; }
    @keyframes fadeStep { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }

    .step-q { font-size: 0.88rem; font-weight: 600; color: var(--ivory); margin-bottom: 1.2rem; line-height: 1.5; }

    /* Option buttons */
    .option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.65rem; margin-bottom: 1.2rem; }
    .opt-btn {
      background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1);
      border-radius: 10px; padding: 0.85rem 0.75rem; cursor: pointer;
      text-align: left; transition: all 0.25s; display: flex; align-items: center; gap: 0.6rem;
    }
    .opt-btn:hover { background: rgba(240,215,168,0.08); border-color: rgba(240,215,168,0.35); }
    .opt-btn.selected { background: rgba(240,215,168,0.14); border-color: rgba(240,215,168,0.6); }
    .opt-icon { font-size: 1.2rem; flex-shrink: 0; }
    .opt-text { font-size: 0.78rem; font-weight: 500; color: var(--ivory); line-height: 1.35; }
    .opt-sub { font-size: 0.65rem; color: var(--muted); font-weight: 400; display: block; margin-top: 1px; }
    .opt-btn.selected .opt-text { color: var(--accent-on-dark); }

    /* Text inputs in wizard */
    .wiz-group { margin-bottom: 1rem; }
    .wiz-group label { display: block; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(245,242,238,0.45); margin-bottom: 0.4rem; }
    .wiz-input { width: 100%; padding: 0.85rem 1rem; background: rgba(255,255,255,0.07); border: 1px solid rgba(255,255,255,0.12); border-radius: 8px; color: var(--ivory); font-family: var(--f-body); font-size: 0.88rem; font-weight: 400; transition: border-color var(--trans); }
    .wiz-input:focus { outline: none; border-color: rgba(240,215,168,0.5); }
    .wiz-input::placeholder { color: rgba(245,242,238,0.25); }

    /* Nav buttons */
    .form-nav { display: flex; gap: 0.75rem; margin-top: 0.5rem; }
    .btn-back { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); color: var(--muted); border-radius: 50px; padding: 0.75rem 1.4rem; font-size: 0.7rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); cursor: pointer; }
    .btn-next { background: var(--accent-on-dark); color: var(--navy-deep); border: none; border-radius: 50px; padding: 0.75rem 1.6rem; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); cursor: pointer; flex: 1; }
    .btn-next:hover { background: var(--highlight-on-dark); }
    .btn-send-wa { display: flex; align-items: center; justify-content: center; gap: 0.5rem; background: var(--wa); color: #fff; border: none; border-radius: 50px; padding: 0.9rem 1.6rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); cursor: pointer; width: 100%; }
    .btn-send-wa:hover { background: #1ebe5d; transform: translateY(-1px); }
    .btn-send-email { display: flex; align-items: center; justify-content: center; gap: 0.5rem; background: rgba(255,255,255,0.07); color: var(--ivory); border: 1px solid rgba(255,255,255,0.2); border-radius: 50px; padding: 0.9rem 1.6rem; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); cursor: pointer; width: 100%; }
    .btn-send-email:hover { background: rgba(255,255,255,0.13); border-color: rgba(255,255,255,0.4); }

    /* Summary card */
    .summary-card { background: rgba(240,215,168,0.08); border: 1px solid rgba(240,215,168,0.22); border-radius: 10px; padding: 1rem 1.2rem; margin-bottom: 1rem; font-size: 0.8rem; color: rgba(245,242,238,0.85); line-height: 1.7; }
    .summary-card strong { color: var(--accent-on-dark); }

    @media(max-width:768px) { .contacto-layout { grid-template-columns: 1fr; gap: 3rem; } .option-grid { grid-template-columns: 1fr; } }

    /* === FOOTER === */
    .site-footer { background: var(--navy); padding: 4rem 1.5rem 2rem; border-top: 1px solid rgba(255,255,255,0.06); }
    .footer-top { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 3rem; border-bottom: 1px solid rgba(255,255,255,0.06); }
    .footer-name { font-family: var(--f-display); font-size: 1.3rem; color: var(--ivory); margin-bottom: 0.2rem; }
    .footer-spec { font-size: 0.56rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(245,242,238,0.35); margin-bottom: 0.8rem; }
    .footer-brand p { font-size: 0.78rem; color: rgba(245,242,238,0.4); line-height: 1.7; }
    .footer-col h5 { font-size: 0.6rem; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: rgba(245,242,238,0.35); margin-bottom: 1rem; }
    .footer-col ul { display: flex; flex-direction: column; gap: 0.55rem; }
    .footer-col li, .footer-col a { font-size: 0.8rem; color: rgba(245,242,238,0.45); transition: color var(--trans); }
    .footer-col a:hover { color: var(--ivory); }
    .footer-bottom { max-width: 1240px; margin: 0 auto; padding-top: 2rem; }
    .footer-bottom p { font-size: 0.68rem; color: rgba(245,242,238,0.72); line-height: 1.6; }
    @media(max-width:768px) { .footer-top { grid-template-columns: 1fr; gap: 2rem; } }

    /* === BOTONES FLOTANTES === */
    /* WhatsApp — derecho */
    .float-wa { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 9998; display: flex; align-items: center; gap: 0.5rem; background: var(--wa); color: #fff; border-radius: 50px; box-shadow: 0 6px 24px rgba(37,211,102,0.4); padding: 0.9rem 1.4rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); }
    .float-wa:hover { background: #1ebe5d; transform: translateY(-2px); }
    .float-wa-label { display: inline; }

    /* Teléfono fijo — izquierdo */
    .float-tel { position: fixed; bottom: 1.5rem; left: 1.5rem; z-index: 9998; display: flex; align-items: center; gap: 0.5rem; background: var(--navy); color: #fff; border-radius: 50px; box-shadow: 0 6px 24px rgba(26,46,74,0.45); padding: 0.9rem 1.4rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transition: all var(--trans); border: 1px solid rgba(201,169,110,0.3); }
    .float-tel:hover { background: #243d60; transform: translateY(-2px); }
    .float-tel-label { display: inline; }

    /* Mobile: solo ícono circular */
    @media(max-width:768px) {
      .float-wa { width: 52px; height: 52px; padding: 0; border-radius: 50%; justify-content: center; }
      .float-wa-label { display: none; }
      .float-tel { width: 52px; height: 52px; padding: 0; border-radius: 50%; justify-content: center; }
      .float-tel-label { display: none; }
    }

    /* ── BURBUJA FLOTANTE DE TESTIMONIOS — solo mobile ── */
    .float-testimonial {
      display: none;
      position: fixed;
      bottom: 84px;
      right: 8px;
      width: 52vw;
      max-width: 220px;
      z-index: 9997;
      background: rgba(255,255,255,0.97);
      border: 1px solid rgba(201,169,110,0.3);
      border-radius: 16px 16px 4px 16px;
      box-shadow: 0 8px 32px rgba(0,0,0,0.18);
      padding: 0.9rem 0.9rem 0.75rem;
      transition: opacity 0.3s ease, transform 0.3s ease;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .float-testimonial::after {
      content: '';
      position: absolute;
      bottom: -8px; right: 16px;
      width: 0; height: 0;
      border-left: 8px solid transparent;
      border-right: 8px solid transparent;
      border-top: 8px solid rgba(255,255,255,0.97);
    }
    .float-testimonial__close {
      position: absolute; top: 4px; right: 8px;
      background: none; border: none;
      font-size: 1.1rem; line-height: 1;
      color: rgba(0,0,0,0.3); cursor: pointer; padding: 2px 4px;
    }
    .float-testimonial__close:hover { color: var(--wine); }
    .float-testimonial__item { display: none; }
    .float-testimonial__item.active { display: block; animation: fadeSlideIn 0.35s ease; }
    @keyframes fadeSlideIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
    .float-testimonial__stars { color: #F59E0B; font-size: 0.65rem; letter-spacing: 1px; margin-bottom: 0.35rem; }
    .float-testimonial__item p { font-size: 0.7rem; color: var(--navy); line-height: 1.45; margin: 0 0 0.35rem; font-style: italic; }
    .float-testimonial__item span { font-size: 0.58rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wine); }
    @media(max-width:768px) { .float-testimonial { display: block; } }

    /* === MOBILE MENU === */
    #menu-overlay { display: none; position: fixed; inset: 0; z-index: 100001; background: rgba(44,74,124,0.7); opacity: 0; transition: opacity 0.35s; }
    #menu-panel { position: fixed; top: 0; right: 0; bottom: 0; width: min(320px,85vw); z-index: 100002; background: #FFFFFF; transform: translateX(100%); transition: transform 0.38s cubic-bezier(.16,1,.3,1); overflow-y: auto; display: flex; flex-direction: column; }

    /* Reveal — DESACTIVADO. Todo el contenido permanece visible siempre.
       Anteriormente este sistema ocultaba elementos hasta que JS añadía .vis,
       lo cual causaba que el contenido por debajo del hero quedara invisible. */
    .reveal, .reveal.vis,
    .rv, .rv.vis {
      opacity: 1 !important;
      transform: none !important;
      visibility: visible !important;
    }
    .d1, .d2, .d3 { transition-delay: 0s; }


    /* === FOOTER (footer.php) === */
    .footer { background: var(--navy); padding: 3rem 1.5rem 2rem; border-top: 1px solid rgba(255,255,255,0.06); }
    .footer__inner { max-width: 1240px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.5rem; }
    .footer__name { font-family: var(--f-display); font-size: 1.2rem; color: var(--ivory); }
    .footer__sub { font-size: 0.58rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(245,242,238,0.35); margin-top: 0.2rem; }
    .footer__links { display: flex; flex-wrap: wrap; gap: 1.5rem; }
    .footer__links a { font-size: 0.78rem; color: rgba(245,242,238,0.45); transition: color 0.2s; }
    .footer__links a:hover { color: var(--ivory); }
    .footer__legal { font-size: 0.65rem; color: rgba(245,242,238,0.72); line-height: 1.6; max-width: 900px; }


/* === CARDIOLOGIA DEPORTIVA === */

/* ─── TOKENS auxiliares ─────────────────────────────────────────── */
    /* Aliases para mantener compatibilidad con clases viejas de la página deportiva */
    :root {
      --navy2:  #34568E;
      --navy3:  #4A6BA0;
      --gold:   #A4384A;
      --gold2:  rgba(164,56,74,0.8);
      --amber:  #A4384A;
    }
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; font-size: 16px; }
    body { font-family: var(--f-body); font-weight: 300; background: var(--white); color: #1A1F2E; line-height: 1.65; -webkit-font-smoothing: antialiased; overflow-x: hidden; }
    img { max-width: 100%; height: auto; display: block; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; cursor: pointer; background: none; border: none; }
    p { margin-bottom: 1rem; } p:last-child { margin-bottom: 0; }
    h1,h2,h3,h4 { font-family: var(--f-display); line-height: 1.1; }
    .container { max-width: 1160px; margin: 0 auto; padding: 0 1.5rem; }
    .section { padding: 6rem 1.5rem; }
    .eyebrow { font-family: var(--f-body); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; display: block; margin-bottom: 0.8rem; }

    /* Reveal (deportiva) — también desactivado */
    .rv { opacity: 1; transform: none; }
    .rv.vis { opacity: 1; transform: none; }
    .d1{transition-delay:0s}.d2{transition-delay:0s}.d3{transition-delay:0s}

    /* ─── TOPBAR ─────────────────────────────────────────────── */
    .topbar { background: var(--navy); font-family: var(--f-body); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--dim); position: fixed; top: 0; left: 0; right: 0; z-index: 100000; }
    .topbar__inner { max-width: 1160px; margin: 0 auto; padding: 0.42rem 1.5rem; display: flex; align-items: center; justify-content: space-between; }
    .topbar__link { color: var(--dim); transition: color .2s; }
    .topbar__link:hover { color: var(--ivory); }

    /* ─── HEADER ─────────────────────────────────────────────── */
    .hdr { position: fixed; left: 0; right: 0; z-index: 99999; display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.5rem; top: 24px; background: transparent; transition: background .35s, box-shadow .35s, padding .35s; }
    .hdr.sc { background: rgba(44,74,124,0.97); backdrop-filter: blur(16px); box-shadow: 0 2px 24px rgba(0,0,0,0.3); padding: .65rem 1.5rem; }
    .hdr-logo { display: flex; flex-direction: column; }
    .hdr-logo-name { font-family: var(--f-display); font-size: 1.05rem; color: var(--ivory); font-weight: 400; line-height: 1; }
    .hdr-logo-sub { font-size: 0.5rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--accent-on-dark-soft); margin-top: 2px; }
    .hdr-nav { display: flex; gap: 1.8rem; }
    .hdr-nav a { font-size: 0.68rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(245,242,238,0.7); transition: color .25s; }
    .hdr-nav a:hover { color: var(--accent-on-dark); }
    .hdr-cta { display: flex; align-items: center; gap: 0.75rem; }
    .btn-wa { display: flex; align-items: center; gap: 0.4rem; background: var(--wa); color: #fff; border-radius: 50px; padding: .6rem 1.1rem; font-size: 0.68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: all var(--trans); }
    .btn-wa:hover { background: #1ebe5d; transform: translateY(-1px); }
    .btn-home { font-size: 0.65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--dim); border: 1px solid rgba(255,255,255,.15); border-radius: 50px; padding: .55rem 1rem; transition: all .25s; }
    .btn-home:hover { color: var(--ivory); border-color: rgba(255,255,255,.4); }
    .hamburger { display: none; align-items: center; justify-content: center; width: 36px; height: 36px; color: #1a1a1a !important; }
    @media(max-width:860px){ .hdr-nav,.btn-home { display: none; } .hamburger { display: flex; } }

    /* ─── HERO ───────────────────────────────────────────────── */
    .hero { min-height: 100vh; background: var(--navy); position: relative; overflow: hidden; display: flex; align-items: center; }
    .hero__bg { position: absolute; inset: 0; z-index: 0; }
    .hero__bg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 25%; opacity: .35; filter: grayscale(20%); }
    .hero__bg::after { content:""; position:absolute; inset:0; background: linear-gradient(105deg, rgba(44,74,124,0.97) 0%, rgba(44,74,124,0.85) 45%, rgba(44,74,124,0.4) 75%, transparent 100%); }
    .hero__credencial-mobile { display: none; }
    /* Rating widget flotante — solo mobile */
    .hero__mobile-rating { display: none; }
    .hero__bar { position: absolute; top: 0; left: 0; width: 3px; height: 100%; background: linear-gradient(to bottom, var(--accent-on-dark) 0%, transparent 100%); z-index: 5; opacity: .5; }
    .hero__content { position: relative; z-index: 3; max-width: 640px; padding: 9rem 1.5rem 5rem 5rem; }
    .hero__badge { display: inline-flex; align-items: center; gap: .5rem; background: rgba(240,215,168,0.10); border: 1px solid rgba(240,215,168,0.28); border-radius: 50px; padding: .3rem .9rem; font-size: .58rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--accent-on-dark); margin-bottom: 1.2rem; }
    .hero__badge-dot { width: 5px; height: 5px; background: var(--accent-on-dark); border-radius: 50%; animation: pulse 2s infinite; }
    @keyframes pulse { 0%,100%{opacity:1}50%{opacity:.3} }
    .hero__eyebrow { font-size: .58rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--dim); display: block; margin-bottom: .5rem; }
    .hero h1 { font-size: clamp(2.4rem, 5vw, 4.2rem); color: var(--ivory); font-weight: 400; line-height: 1.06; margin-bottom: .9rem; }
    .hero h1 em { font-style: italic; color: var(--highlight-on-dark); }
    .hero__sub { font-size: clamp(.85rem, 1.1vw, .95rem); font-weight: 300; color: var(--muted); line-height: 1.78; max-width: 480px; margin-bottom: 1rem; }
    .hero__credencial { font-size: .56rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--dim); border-left: 2px solid var(--accent-on-dark-soft); padding-left: .75rem; margin-bottom: 2rem; display: block; }
    .hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 2.5rem; }
    .btn-primary { display: flex; align-items: center; gap: .5rem; background: var(--wa); color: #fff; border-radius: 50px; padding: .9rem 1.8rem; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: all var(--trans); border: 2px solid var(--wa); }
    .btn-primary:hover { background: #1ebe5d; transform: translateY(-2px); box-shadow: 0 6px 24px rgba(37,211,102,.4); }
    .btn-ghost { display: flex; align-items: center; gap: .5rem; background: transparent; color: var(--ivory); border-radius: 50px; padding: .9rem 1.8rem; font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; border: 2px solid rgba(255,255,255,.2); transition: all var(--trans); }
    .btn-ghost:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.05); }
    .hero__stats { display: flex; gap: 2.5rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.07); flex-wrap: wrap; }
    .h-stat .n { font-family: var(--f-display); font-size: 2rem; color: var(--accent-on-dark); line-height: 1; }
    .h-stat .l { font-size: .58rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--dim); margin-top: .2rem; }

    /* Hero testimonio destacado (Deportiva) */
    .hero__quote {
      margin: 1.6rem 0 0;
      padding: 1rem 1.2rem;
      background: rgba(240,215,168,0.08);
      border: 1px solid rgba(240,215,168,0.2);
      border-left: 2px solid var(--accent-on-dark);
      border-radius: 8px;
      max-width: 520px;
      backdrop-filter: blur(6px);
    }
    .hero__quote-stars {
      color: var(--accent-on-dark);
      font-size: 0.85rem;
      letter-spacing: 1px;
      margin-bottom: 0.45rem;
    }
    .hero__quote blockquote {
      margin: 0 0 .6rem;
      font-family: var(--f-display);
      font-style: italic;
      font-size: 0.92rem;
      line-height: 1.55;
      color: #FFFFFF;
    }
    .hero__quote figcaption {
      display: flex; flex-direction: column;
      font-style: normal;
      border-top: 1px solid rgba(255,255,255,0.1);
      padding-top: .5rem;
    }
    .hero__quote figcaption strong {
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--accent-on-dark);
    }
    .hero__quote figcaption span {
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.65);
      margin-top: 0.2rem;
    }
    @media(max-width:1024px){
      /* Hero deportiva/home en móvil + tablet: imagen banner editorial */
      .hero {
        background: var(--white) !important;
        align-items: stretch !important;
        flex-direction: column !important;
        min-height: auto !important;
      }
      .hero__bg, .hero__photo {
        position: relative !important;
        height: 95vw; min-height: 380px; max-height: 540px;
        flex-shrink: 0;
        inset: auto !important;
        overflow: hidden !important;
        order: -1;
        width: 100% !important;
      }
      .hero__bg img, .hero__photo img {
        opacity: 1 !important;
        filter: none !important;
        object-position: 50% 25% !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
      }
      /* Degradado inferior estilo magazine para legibilidad de elementos sobrepuestos */
      .hero__bg::after, .hero__photo::after {
        content: "" !important;
        display: block !important;
        position: absolute !important;
        inset: 0 !important;
        background: linear-gradient(180deg,
          rgba(36,62,105,0.55) 0%,
          rgba(36,62,105,0.05) 30%,
          rgba(36,62,105,0.05) 55%,
          rgba(36,62,105,0.85) 100%) !important;
        pointer-events: none;
      }
      .hero__photo-fade-l, .hero__photo-fade-b { display: none !important; }
      .hero__ecg { display: none !important; }

      /* Sello editorial superior izquierdo (eliminado: el header sticky lo oculta en mobile) */
      .hero__credencial-mobile { display: flex !important; }

      /* Sello dorado circular en esquina superior derecha + banda inferior */
      .hero__credencial-mobile {
        position: absolute;
        bottom: 0; left: 0; right: 0;
        z-index: 3;
        background: linear-gradient(180deg, transparent, rgba(0,0,0,0.55));
        padding: 1.5rem 1.4rem 1rem;
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
      }
      .hero__credencial-mobile .lbl {
        font-size: 0.5rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--accent-on-dark);
        opacity: 0.9;
      }
      .hero__credencial-mobile .lbl::before {
        content: "";
        display: inline-block;
        width: 18px; height: 1px;
        background: var(--accent-on-dark);
        margin-right: 0.5rem;
        vertical-align: middle;
        opacity: 0.7;
      }
      .hero__credencial-mobile .titles {
        font-family: var(--f-display);
        font-size: 0.85rem;
        color: #FFFFFF;
        font-style: italic;
        line-height: 1.35;
      }

      .hero__bar { display: none !important; }

      .hero__content {
        padding: 1.8rem 1.4rem 2.2rem !important;
        background: linear-gradient(to top, rgba(5,12,24,1) 0%, rgba(5,12,24,0.98) 70%, transparent 100%) !important;
        max-width: none !important;
      }

      .hero__badge {
        background: rgba(164,56,74,0.90) !important;
        border-color: rgba(255,255,255,0.25) !important;
        color: #fff !important;
      }
      .hero__badge-dot { background: #fff !important; }
      .hero__eyebrow { color: rgba(245,242,238,0.5) !important; }

      .hero h1 { color: #fff !important; font-size: clamp(1.9rem, 8.5vw, 2.6rem); }
      .hero h1 em { color: var(--accent-on-dark) !important; }

      .hero__sub { color: rgba(245,242,238,0.78) !important; font-size: 0.78rem; line-height: 1.55; }

      .hero__credencial {
        color: rgba(245,242,238,0.5) !important;
        border-left-color: rgba(201,169,110,0.4) !important;
      }

      .hero__stats {
        border-top-color: var(--line) !important;
        gap: 1.5rem;
      }
      .h-stat .n { color: var(--wine) !important; }
      .h-stat .l { color: var(--ink-3) !important; }

      .btn-ghost {
        color: var(--navy) !important;
        border-color: var(--navy) !important;
      }
      .btn-ghost:hover { background: var(--navy) !important; color: var(--white) !important; }

      /* Hero testimonio en mobile: fondo crema, texto oscuro */
      .hero__quote {
        background: #FFFFFF !important;
        border: 1px solid var(--line) !important;
        border-left: 3px solid var(--wine) !important;
        backdrop-filter: none !important;
        opacity: 1 !important;
        box-shadow: 0 2px 12px rgba(30,42,62,0.06);
      }
      .hero__quote-stars { color: #E8B339 !important; opacity: 1 !important; }
      .hero__quote blockquote { color: var(--ink) !important; opacity: 1 !important; }
      .hero__quote figcaption { border-top-color: var(--line) !important; }
      .hero__quote figcaption strong { color: var(--navy-deep) !important; }
      .hero__quote figcaption span { color: var(--ink-3) !important; }
    }

    /* ─── CONTEXTO (CLUB AMERICA) ────────────────────────────── */
    .contexto { background: var(--navy); padding: 5rem 1.5rem; }
    .contexto__inner { max-width: 1060px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center; }
    .contexto__photos { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
    .ctx-photo { border-radius: 10px; overflow: hidden; position: relative; }
    .ctx-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 15%; transition: transform .5s ease; }
    .ctx-photo:hover img { transform: scale(1.04); }
    .ctx-photo--tall { grid-row: span 2; min-height: 380px; }
    .ctx-photo--sm { height: 175px; }
    .ctx-tag { position: absolute; bottom: .65rem; left: .65rem; background: rgba(7,9,15,.75); backdrop-filter: blur(6px); border-radius: 5px; padding: .25rem .6rem; font-size: .55rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #FFFFFF; }
    .contexto__content .eyebrow { color: #FFFFFF; opacity: 0.85; }
    .contexto__content h2 { font-size: clamp(1.7rem,3vw,2.5rem); color: #FFFFFF; margin-bottom: 1rem; }
    .contexto__content h2 em { font-style: italic; color: #FFFFFF; }
    .contexto__content p { font-size: .87rem; color: #FFFFFF; line-height: 1.85; opacity: 0.92; }
    .ctx-stats { display: flex; gap: 2rem; margin: 1.8rem 0; padding: 1.4rem 0; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
    .ctx-stat .n { font-family: var(--f-display); font-size: 2rem; color: #FFFFFF; line-height: 1; }
    .ctx-stat .l { font-size: .58rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #FFFFFF; opacity: 0.75; margin-top: .2rem; }
    .ctx-nota { font-size: .63rem; color: #FFFFFF; opacity: 0.7; line-height: 1.6; margin-top: 1.2rem; border-left: 2px solid rgba(255,255,255,0.4); padding-left: .8rem; font-style: italic; }
    @media(max-width:768px){ .contexto__inner { grid-template-columns: 1fr; gap: 2.5rem; } .ctx-photo--tall { min-height: 260px; } }

    /* ─── PROBLEMA (WHY) ─────────────────────────────────────── */
    .why { background: var(--ivory); padding: 6rem 1.5rem; }
    .why__inner { max-width: 900px; margin: 0 auto; }
    .why__header { text-align: center; margin-bottom: 3.5rem; }
    .why__header .eyebrow { color: var(--ink-3); }
    .why__header h2 { font-size: clamp(1.8rem,3.5vw,2.8rem); color: var(--navy); margin-bottom: .8rem; }
    .why__header p { font-size: .9rem; color: #6B7280; line-height: 1.8; max-width: 600px; margin: 0 auto; }
    .why__cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.2rem; }
    .why-card { background: var(--white); border: 1px solid #E2E8EE; border-radius: 12px; padding: 1.8rem 1.5rem; border-top: 3px solid transparent; transition: all .3s; }
    .why-card:hover { border-top-color: var(--wine); transform: translateY(-3px); box-shadow: 0 10px 28px rgba(164,56,74,.1); }
    .why-icon { font-size: 1.6rem; margin-bottom: 1rem; }
    .why-card h4 { font-family: var(--f-display); font-size: 1.05rem; color: var(--navy); margin-bottom: .5rem; }
    .why-card p { font-size: .8rem; color: #6B7280; line-height: 1.7; }
    @media(max-width:680px){ .why__cards { grid-template-columns: 1fr; } }

    /* ─── PARA QUIÉN ─────────────────────────────────────────── */
    .quien { background: var(--navy-2); padding: 6rem 1.5rem; }
    .quien__inner { max-width: 960px; margin: 0 auto; }
    .quien__header { margin-bottom: 3rem; }
    .quien__header .eyebrow { color: var(--accent-on-dark); }
    .quien__header h2 { font-size: clamp(1.8rem,3.5vw,2.8rem); color: var(--ivory); }
    .quien__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    .quien-item { display: flex; align-items: flex-start; gap: 1rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.07); border-radius: 10px; padding: 1.2rem 1.3rem; transition: all .3s; }
    .quien-item:hover { background: rgba(255,255,255,.07); border-color: rgba(240,215,168,.22); }
    .quien-icon { font-size: 1.5rem; flex-shrink: 0; }
    .quien-item h5 { font-family: var(--f-body); font-size: .85rem; font-weight: 700; color: var(--ivory); margin-bottom: .25rem; }
    .quien-item p { font-size: .77rem; color: var(--muted); line-height: 1.65; margin: 0; }
    @media(max-width:600px){ .quien__grid { grid-template-columns: 1fr; } }

    /* ─── ESTUDIOS ───────────────────────────────────────────── */
    .estudios { background: var(--navy); padding: 6rem 1.5rem; }
    .estudios__inner { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1.2fr; gap: 5rem; align-items: start; }
    .estudios__left { position: sticky; top: 120px; }
    .estudios__left .eyebrow { color: var(--accent-on-dark); }
    .estudios__left h2 { font-size: clamp(1.7rem,3vw,2.5rem); color: var(--ivory); margin-bottom: 1rem; }
    .estudios__left p { font-size: .87rem; color: var(--muted); line-height: 1.82; }
    .estudios__img { margin-top: 2rem; border-radius: 10px; overflow: hidden; }
    .estudios__img img { width: 100%; object-fit: cover; max-height: 280px; object-position: 50% 30%; }
    .estudios__list { display: flex; flex-direction: column; gap: 0; }
    .est-row { display: flex; gap: 1.2rem; align-items: flex-start; padding: 1.4rem 0; border-bottom: 1px solid rgba(255,255,255,.06); opacity: 1; transform: translateX(0); transition: opacity .4s ease, transform .4s ease; }
    .est-row.vis { opacity: 1; transform: translateX(0); }
    .est-row:last-child { border-bottom: none; }
    .est-num { font-family: var(--f-display); font-size: .7rem; color: var(--accent-on-dark-dim); flex-shrink: 0; width: 1.5rem; text-align: right; font-style: italic; margin-top: 2px; }
    .est-dot { width: 1.5px; height: 20px; background: var(--accent-on-dark-dim); flex-shrink: 0; margin-top: 2px; }
    .est-body {}
    .est-name { font-size: .88rem; font-weight: 600; color: var(--ivory); margin-bottom: .25rem; }
    .est-desc { font-size: .77rem; color: var(--muted); line-height: 1.65; }
    @media(max-width:768px){
      .estudios__inner { grid-template-columns: 1fr; gap: 2.5rem; }
      .estudios__left { position: static; }
    }

    /* ─── PROCESO ────────────────────────────────────────────── */
    .proceso { background: var(--ivory); padding: 6rem 1.5rem; }
    .proceso__inner { max-width: 860px; margin: 0 auto; }
    .proceso__header { text-align: center; margin-bottom: 3.5rem; }
    .proceso__header .eyebrow { color: var(--ink-3); }
    .proceso__header h2 { font-size: clamp(1.7rem,3vw,2.5rem); color: var(--navy); }
    .proceso__steps { display: flex; flex-direction: column; gap: 0; }
    .p-step { display: grid; grid-template-columns: 56px 1fr; gap: 1.5rem; padding: 2rem 0; border-bottom: 1px solid #E4E0DB; align-items: start; }
    .p-step:last-child { border-bottom: none; }
    .p-step-num { width: 56px; height: 56px; border-radius: 50%; background: var(--white); border: 2px solid #E2E8EE; display: flex; align-items: center; justify-content: center; font-family: var(--f-display); font-size: 1.1rem; color: var(--wine); flex-shrink: 0; transition: all .3s; }
    .p-step:hover .p-step-num { border-color: var(--wine); background: rgba(164,56,74,.06); }
    .p-step-body h4 { font-family: var(--f-display); font-size: 1.15rem; color: var(--navy); margin-bottom: .4rem; }
    .p-step-body p { font-size: .83rem; color: #6B7280; line-height: 1.72; margin: 0; }

    /* ─── CTA FINAL ──────────────────────────────────────────── */
    .cta-section { background: var(--navy); padding: 7rem 1.5rem; text-align: center; position: relative; overflow: hidden; }
    .cta-section::before { content:""; position:absolute; inset:0; background: radial-gradient(ellipse at 50% 0%, rgba(240,215,168,.06) 0%, transparent 60%); pointer-events:none; }
    .cta-section .eyebrow { color: var(--accent-on-dark); }
    .cta-section h2 { font-size: clamp(2rem,4vw,3.2rem); color: var(--ivory); margin-bottom: .8rem; }
    .cta-section h2 em { color: var(--highlight-on-dark); font-style: italic; }
    .cta-section p { font-size: .9rem; color: var(--muted); line-height: 1.8; max-width: 540px; margin: 0 auto 2rem; }
    .cta-actions { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
    .cta-clinica { font-size: .62rem; color: rgba(245,242,238,.18); line-height: 1.6; max-width: 680px; margin: 3rem auto 0; font-style: italic; }

    /* ─── FOOTER ─────────────────────────────────────────────── */
    .footer { background: var(--navy-deep); padding: 3rem 1.5rem; }
    .footer__inner { max-width: 1160px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
    .footer__name { font-family: var(--f-display); font-size: 1rem; color: var(--ivory); }
    .footer__sub { font-size: .55rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--dim); margin-top: 2px; }
    .footer__links { display: flex; gap: 1.5rem; }
    .footer__links a { font-size: .72rem; color: var(--dim); transition: color .2s; }
    .footer__links a:hover { color: var(--ivory); }
    .footer__legal { width: 100%; font-size: .62rem; color: rgba(245,242,238,.72); line-height: 1.6; margin-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.05); padding-top: 1.2rem; }

    /* ─── FLOAT WA ───────────────────────────────────────────── */
    .float-wa { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 9999; display: flex; align-items: center; gap: .5rem; background: var(--wa); color: #fff; border-radius: 50px; box-shadow: 0 6px 24px rgba(37,211,102,.4); padding: .9rem 1.4rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transition: all .3s; }
    .float-wa:hover { background: #1ebe5d; transform: translateY(-2px); }
    .float-wa-label { display: inline; }
    @media(max-width:768px){ .float-wa { width: 52px; height: 52px; padding: 0; border-radius: 50%; justify-content: center; } .float-wa-label { display: none; } }

    /* ─── MOBILE MENU ─────────────────────────────────────────── */
    #m-overlay { display:none; position:fixed; inset:0; z-index:100001; background:rgba(44,74,124,.8); opacity:0; transition:opacity .35s; }
    #m-panel { position:fixed; top:0; right:0; bottom:0; width:min(300px,85vw); z-index:100002; background:var(--navy-2); transform:translateX(100%); transition:transform .38s cubic-bezier(.16,1,.3,1); overflow-y:auto; display:flex; flex-direction:column; }
    /* ============================================================
       === LANDING: CONTROL TOTAL HIPERTENSIÓN ===================
       ============================================================ */

    /* Hero */
    .hta-hero {
      background: var(--navy);
      position: relative;
      overflow: hidden;
      padding: 9rem 1.5rem 5rem;
    }
    .hta-hero::before {
      content: "";
      position: absolute;
      top: -20%; right: -10%;
      width: 60%; height: 140%;
      background: radial-gradient(ellipse, rgba(240,215,168,0.07) 0%, transparent 60%);
      pointer-events: none;
    }
    .hta-hero__inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: 4rem;
      align-items: center;
      position: relative;
      z-index: 2;
    }
    .hta-hero__content { color: var(--ivory); }
    .hta-hero__badge {
      display: inline-flex; align-items: center; gap: .5rem;
      background: rgba(240,215,168,0.10);
      border: 1px solid rgba(240,215,168,0.28);
      border-radius: 50px;
      padding: .35rem .95rem;
      font-size: .58rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase;
      color: var(--accent-on-dark);
      margin-bottom: 1.5rem;
    }
    .hta-hero__badge-dot {
      width: 5px; height: 5px;
      background: var(--accent-on-dark);
      border-radius: 50%;
      animation: blink 2s infinite;
    }
    .hta-hero__content h1 {
      font-family: var(--f-display);
      font-size: clamp(2.2rem, 4.5vw, 3.8rem);
      font-weight: 400;
      color: var(--ivory);
      line-height: 1.05;
      margin-bottom: 1.2rem;
    }
    .hta-hero__content h1 em {
      font-style: italic;
      color: var(--highlight-on-dark);
    }
    .hta-hero__sub {
      font-size: clamp(.9rem, 1.1vw, 1rem);
      color: var(--muted);
      line-height: 1.75;
      max-width: 520px;
      margin-bottom: 1.4rem;
    }
    .hta-hero__credencial {
      font-size: .56rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
      color: var(--dim);
      border-left: 2px solid var(--accent-on-dark-soft);
      padding-left: .8rem;
      margin-bottom: 2rem;
    }
    .hta-hero__actions {
      display: flex; flex-wrap: wrap; gap: .85rem;
      margin-bottom: 2.5rem;
    }
    .hta-btn-primary {
      display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
      background: var(--wa); color: #fff;
      border: 2px solid var(--wa);
      border-radius: 50px;
      padding: .95rem 1.8rem;
      font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
      transition: all var(--trans);
      text-decoration: none;
    }
    .hta-btn-primary:hover {
      background: #1ebe5d; border-color: #1ebe5d;
      transform: translateY(-2px);
      box-shadow: 0 6px 24px rgba(37,211,102,.4);
    }
    .hta-btn-ghost {
      display: inline-flex; align-items: center; gap: .5rem;
      background: transparent; color: var(--ivory);
      border: 2px solid rgba(255,255,255,0.22);
      border-radius: 50px;
      padding: .95rem 1.8rem;
      font-size: .75rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
      transition: all var(--trans);
      text-decoration: none;
    }
    .hta-btn-ghost:hover { border-color: rgba(255,255,255,0.55); background: rgba(255,255,255,0.05); }

    .hta-hero__trust {
      display: flex;
      gap: 2.2rem;
      padding-top: 1.8rem;
      border-top: 1px solid rgba(255,255,255,0.08);
      flex-wrap: wrap;
    }
    .hta-trust-item {
      display: flex; flex-direction: column;
    }
    .hta-trust-item strong {
      font-family: var(--f-display);
      font-size: 1.7rem;
      color: var(--accent-on-dark);
      line-height: 1;
      font-weight: 400;
    }
    .hta-trust-item span {
      font-size: .58rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
      color: var(--dim);
      margin-top: .35rem;
    }

    /* Hero testimonio destacado (HTA / Preop / Exec) */
    .hta-hero__quote {
      margin: 1.8rem 0 0;
      padding: 1.1rem 1.3rem;
      background: rgba(240,215,168,0.06);
      border: 1px solid rgba(240,215,168,0.18);
      border-left: 2px solid var(--accent-on-dark);
      border-radius: 8px;
      max-width: 540px;
    }
    .hta-hero__quote-stars {
      color: var(--accent-on-dark);
      font-size: 0.85rem;
      letter-spacing: 1px;
      margin-bottom: 0.5rem;
    }
    .hta-hero__quote blockquote {
      margin: 0 0 .7rem;
      font-family: var(--f-display);
      font-style: italic;
      font-size: 0.92rem;
      line-height: 1.55;
      color: var(--ivory);
    }
    .hta-hero__quote figcaption {
      display: flex; flex-direction: column;
      font-style: normal;
      border-top: 1px solid rgba(255,255,255,0.08);
      padding-top: .55rem;
    }
    .hta-hero__quote figcaption strong {
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--accent-on-dark);
    }
    .hta-hero__quote figcaption span {
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--dim);
      margin-top: 0.2rem;
    }

    /* SVG diagnóstico — dentro de hta-sintomas, centrado como break visual */
    .hta-sintomas__svg {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 2.5rem 0 1rem;
      opacity: 0.75;
    }
    .hta-sintomas__svg svg {
      width: 100%;
      max-width: 340px;
      height: auto;
    }
    @media(max-width: 768px) {
      .hta-sintomas__svg svg { max-width: 220px; }
    }

    /* Hero HTA — imagen solo lado derecho, fundida en navy */
    .hero__photo--hta {
      left: auto !important;
      right: 0 !important;
      width: 48% !important;
    }
    .hero__photo--hta img {
      object-fit: cover !important;
      object-position: 30% center !important;
    }
    .hero__photo--hta .hero__photo-fade-l {
      width: 75% !important;
      background: linear-gradient(to right,
        var(--navy) 0%,
        var(--navy) 15%,
        rgba(26,46,74,0.92) 40%,
        rgba(26,46,74,0.6) 65%,
        rgba(26,46,74,0.15) 85%,
        transparent 100%
      ) !important;
    }


    .hta-sintomas__grid--images {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }
    .hta-sintoma--img {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 14px;
      overflow: hidden;
      transition: box-shadow 0.25s, transform 0.25s;
      display: flex;
      flex-direction: column;
    }
    .hta-sintoma--img:hover {
      box-shadow: 0 10px 36px rgba(44,74,124,0.13);
      transform: translateY(-3px);
    }
    .hta-sintoma__photo {
      position: relative;
      aspect-ratio: 4/3;
      overflow: hidden;
    }
    .hta-sintoma__photo img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
      display: block;
    }
    .hta-sintoma--img:hover .hta-sintoma__photo img {
      transform: scale(1.05);
    }
    .hta-sintoma__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(to top, rgba(26,46,74,0.55) 0%, transparent 55%);
      pointer-events: none;
    }
    .hta-sintoma__body {
      padding: 1.2rem 1.3rem 1.5rem;
      flex: 1;
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .hta-sintoma__body h4 {
      font-family: var(--f-display);
      font-size: 1rem;
      font-weight: 400;
      color: var(--navy);
      line-height: 1.25;
      margin: 0;
    }
    .hta-sintoma__body p {
      font-size: 0.82rem;
      color: var(--ink-2);
      line-height: 1.6;
      margin: 0;
    }
    @media(max-width: 900px) {
      .hta-sintomas__grid--images { grid-template-columns: repeat(2, 1fr); }
    }
    @media(max-width: 540px) {
      .hta-sintomas__grid--images { grid-template-columns: 1fr; }
    }

    .enf-acc-categorias { display: flex; flex-direction: column; gap: 1.5rem; }
    .enf-cat__title {
      font-size: 0.62rem; font-weight: 800; letter-spacing: 0.14em;
      text-transform: uppercase; color: var(--accent-on-dark);
      margin-bottom: 0.6rem; padding-bottom: 0.4rem;
      border-bottom: 1px solid rgba(201,169,110,0.3);
    }
    .enf-cat { display: flex; flex-direction: column; }
    .enf-cat .enf-acc-tag { margin: 0.2rem 0; }

    /* Stat pill — jerarquía visual mejorada: pacientes prominente */
    .hero__stat-text em {
      display: block; font-style: normal;
      font-size: 0.95rem; font-weight: 700;
      color: #fff; letter-spacing: 0.01em;
      text-transform: none; line-height: 1.1;
      margin-bottom: 0.1rem;
    }
    .hero__stat-text {
      font-size: 0.62rem; font-weight: 500;
      color: var(--accent-on-dark);
      line-height: 1.5; letter-spacing: 0.06em; text-transform: uppercase;
    }
    .hero__content .hta-hero__badge { margin-bottom: 1.2rem; }
    .hero__content h1 {
      font-family: var(--f-display);
      font-size: clamp(2.2rem, 4.5vw, 3.8rem);
      font-weight: 300;
      color: var(--ivory);
      line-height: 1.05;
      margin-bottom: 1rem;
    }
    .hero__content h1 em { font-style: italic; color: var(--accent-on-dark); font-weight: 300; }
    .hero__content .hta-hero__sub {
      font-size: clamp(0.82rem, 1vw, 0.9rem);
      color: var(--muted);
      line-height: 1.75;
      max-width: 460px;
      margin-bottom: 0.75rem;
    }
    .hero__content .hta-hero__credencial {
      font-size: 0.54rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--dim);
      border-left: 2px solid rgba(201,169,110,0.35);
      padding-left: 0.75rem;
      margin-bottom: 1.4rem;
      display: block; line-height: 1.6;
    }
    .hero__content .hta-hero__actions {
      display: flex; flex-wrap: wrap; gap: 0.75rem;
      margin-bottom: 1.5rem;
    }
    .hero__content .hta-hero__trust {
      display: flex; gap: 1.8rem; flex-wrap: wrap;
      padding-top: 1.2rem;
      border-top: 1px solid rgba(255,255,255,0.07);
      margin-bottom: 1.2rem;
    }
    @media(max-width: 1024px) {
      .hero__content .hta-hero__actions { grid-template-columns: 1fr 1fr; display: grid; gap: 0.5rem; }
      .hero__content .hta-hero__trust { gap: 1.2rem; }
    }

    @media(max-width: 1024px) {
      .hta-hero {
        padding: 0 0 3rem;
      }
      .hta-hero__inner {
        grid-template-columns: 1fr;
        gap: 0;
      }
      /* SVG deco en mobile — más compacto */
      .hta-sintomas__svg { padding: 1.5rem 0 0; }
      .hta-sintomas__svg svg { max-width: 220px; }
      .hta-hero__visual .corner-tl { top: 5.8rem; left: 1rem; border-top: 1px solid; border-left: 1px solid; }
      .hta-hero__visual .corner-tr { top: 5.8rem; right: 1rem; border-top: 1px solid; border-right: 1px solid; }
      .hta-hero__visual .corner-bl { bottom: 3.5rem; left: 1rem; border-bottom: 1px solid; border-left: 1px solid; }
      .hta-hero__visual .corner-br { bottom: 3.5rem; right: 1rem; border-bottom: 1px solid; border-right: 1px solid; }

      /* Contenido debajo del banner */
      .hta-hero__content {
        padding: 2.5rem 1.4rem 0;
      }
      .hta-hero__badge { display: none; }
      /* Stat pill visible sobre fondo azul en móvil */
      .hta-hero__content .hero__stat-pill,
      .hta-hero__content .hero__stat-pill--dark {
        display: flex;
        width: 100%;
        box-sizing: border-box;
        background: rgba(255,255,255,0.12) !important;
        border: 1px solid rgba(255,255,255,0.3) !important;
        padding: 0.9rem 1.2rem;
        margin-bottom: 1.4rem;
      }
      .hta-hero__content .hero__stat-num { color: #ffffff !important; font-size: 1.9rem; }
      .hta-hero__content .hero__stat-sep { background: rgba(255,255,255,0.4) !important; }
      .hta-hero__content .hero__stat-text { color: rgba(245,242,238,0.9) !important; }
      .hta-hero__content .hero__stat-text em { color: #f0d7a8 !important; }
    }
    @media(max-width: 600px) {
      .hta-hero__trust { gap: 1.2rem; padding-top: 1.5rem; }
      .hta-trust-item strong { font-size: 1.35rem; }
      .hta-btn-primary, .hta-btn-ghost { width: 100%; padding: .9rem 1.4rem; }
      .hta-hero__visual { padding: 8.5rem 1.2rem 4.5rem; }
      .hta-hero__visual svg { max-width: 200px; }
      .hta-hero__content { padding: 2rem 1rem 0; }
      .hta-hero__visual-mark { top: 5.8rem; left: 1.2rem; font-size: 0.65rem; }
      .hta-hero__visual-stamp { top: 5.5rem; right: 1.5rem; width: 54px; height: 54px; }
      .hta-hero__visual-stamp .n { font-size: 1.1rem; }
      .hta-hero__visual .corner-tl { top: 5.2rem; }
      .hta-hero__visual .corner-tr { top: 5.2rem; }
      .hta-hero__visual::after { font-size: 0.45rem; padding: 0.6rem 1rem; letter-spacing: 0.1em; }
      /* Stat pill full width en mobile pequeño */
      .hta-hero__content .hero__stat-pill,
      .hta-hero__content .hero__stat-pill--dark { padding: 0.75rem 1rem; }
      .hta-hero__content .hero__stat-num { font-size: 1.6rem; }
    }


    /* === SÍNTOMAS === */
    .hta-sintomas {
      background: var(--ivory);
      padding: 6rem 1.5rem;
    }
    .hta-sintomas__inner { max-width: 1100px; margin: 0 auto; }
    .hta-sintomas__hdr { text-align: center; max-width: 680px; margin: 0 auto 3.5rem; }
    .hta-sintomas__hdr .eyebrow { color: var(--wine); }
    .hta-sintomas__hdr h2 {
      font-family: var(--f-display);
      font-size: clamp(1.8rem, 3.5vw, 2.7rem);
      font-weight: 400; line-height: 1.1;
      color: var(--navy-deep);
      margin: .8rem 0 1rem;
    }
    .hta-sintomas__hdr h2 em { color: var(--wine); font-style: italic; }
    .hta-sintomas__hdr p { font-size: .92rem; color: var(--ink-2); line-height: 1.75; }

    .hta-sintomas__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.2rem;
    }
    .hta-sintoma {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 14px;
      padding: 1.7rem 1.5rem;
      transition: all var(--trans);
      position: relative;
    }
    .hta-sintoma:hover {
      border-color: var(--wine-3);
      transform: translateY(-3px);
      box-shadow: 0 10px 28px rgba(164,56,74,0.08);
    }
    .hta-sintoma__icon {
      display: inline-flex; align-items: center; justify-content: center;
      width: 44px; height: 44px;
      background: rgba(164,56,74,0.09);
      border-radius: 11px;
      color: var(--wine);
      margin-bottom: 1rem;
    }
    .hta-sintoma h4 {
      font-family: var(--f-display);
      font-size: 1.05rem; font-weight: 500;
      color: var(--navy-deep);
      margin: 0 0 .45rem;
      line-height: 1.25;
    }
    .hta-sintoma p {
      font-size: .82rem; color: var(--ink-2);
      line-height: 1.65;
      margin: 0;
    }

    .hta-sintomas__cta {
      margin-top: 3rem;
      text-align: center;
      max-width: 640px;
      margin-left: auto; margin-right: auto;
    }
    .hta-sintomas__cta p {
      font-size: .92rem;
      color: var(--ink-2);
      line-height: 1.7;
      margin-bottom: 1.4rem;
      font-style: italic;
    }

    @media(max-width: 900px) {
      .hta-sintomas__grid { grid-template-columns: repeat(2, 1fr); }
    }
    @media(max-width: 600px) {
      .hta-sintomas { padding: 4rem 1.2rem; }
      .hta-sintomas__grid { grid-template-columns: 1fr; gap: 1rem; }
    }


    /* === PAQUETE INCLUYE === */
    .hta-paquete {
      background: var(--navy-2);
      padding: 6rem 1.5rem;
      color: var(--ivory);
    }
    .hta-paquete__inner { max-width: 1000px; margin: 0 auto; }
    .hta-paquete__hdr { text-align: center; max-width: 680px; margin: 0 auto 3rem; }
    .hta-paquete__hdr .eyebrow { color: var(--accent-on-dark); }
    .hta-paquete__hdr h2 {
      font-family: var(--f-display);
      font-size: clamp(1.8rem, 3.5vw, 2.7rem);
      font-weight: 400; line-height: 1.1;
      color: var(--ivory);
      margin: .8rem 0 1rem;
    }
    .hta-paquete__hdr p { font-size: .92rem; color: var(--muted); line-height: 1.75; }

    .hta-paquete__grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.4rem;
      margin-bottom: 2rem;
    }
    .hta-incluye {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 1.3rem;
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: 14px;
      padding: 1.6rem 1.6rem;
      transition: all var(--trans);
    }
    .hta-incluye:hover {
      background: rgba(255,255,255,0.07);
      border-color: rgba(240,215,168,0.25);
    }
    .hta-incluye__num {
      font-family: var(--f-display);
      font-size: 1.05rem; font-style: italic;
      color: var(--accent-on-dark);
      width: 32px;
      padding-top: 4px;
    }
    .hta-incluye__body h3 {
      font-family: var(--f-display);
      font-size: 1.1rem; font-weight: 500;
      color: var(--ivory);
      margin: 0 0 .45rem;
      line-height: 1.25;
    }
    .hta-incluye__body p {
      font-size: .8rem; color: var(--muted);
      line-height: 1.65;
      margin: 0;
    }
    .hta-incluye__list {
      list-style: none;
      counter-reset: incluye-counter;
      padding: 0; margin: 0;
      display: flex; flex-direction: column;
      gap: 0.55rem;
    }
    .hta-incluye__list li {
      counter-increment: incluye-counter;
      font-size: 0.82rem;
      color: var(--muted);
      line-height: 1.5;
      padding-left: 1.65rem;
      position: relative;
    }
    .hta-incluye__list li::before {
      content: counter(incluye-counter);
      position: absolute;
      left: 0; top: 0;
      width: 1.2rem; height: 1.2rem;
      display: flex; align-items: center; justify-content: center;
      font-family: var(--f-display);
      font-size: 0.7rem;
      font-style: italic;
      color: var(--accent-on-dark);
      border: 1px solid rgba(240,215,168,0.35);
      border-radius: 50%;
    }

    .hta-paquete__nota {
      background: rgba(240,215,168,0.07);
      border: 1px solid rgba(240,215,168,0.2);
      border-left: 3px solid var(--accent-on-dark);
      border-radius: 8px;
      padding: 1rem 1.3rem;
      font-size: .82rem;
      color: var(--muted);
      line-height: 1.65;
    }
    .hta-paquete__nota strong { color: var(--accent-on-dark); font-weight: 600; }

    @media(max-width: 768px) {
      .hta-paquete { padding: 4rem 1.2rem; }
      .hta-paquete__grid { grid-template-columns: 1fr; gap: 1rem; }
    }


    /* === DOCTOR === */
    .hta-doctor {
      background: var(--white);
      padding: 6rem 1.5rem;
    }
    .hta-doctor__inner {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1.2fr 1fr;
      gap: 4rem;
      align-items: center;
    }
    .hta-doctor__content .eyebrow { color: var(--wine); }
    .hta-doctor__content h2 {
      font-family: var(--f-display);
      font-size: clamp(1.7rem, 3vw, 2.4rem);
      font-weight: 400; line-height: 1.15;
      color: var(--navy-deep);
      margin: .8rem 0 1.2rem;
    }
    .hta-doctor__lead {
      font-size: .95rem; color: var(--ink-2);
      line-height: 1.75;
      margin-bottom: 1.8rem;
    }
    .hta-doctor__creds {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: .8rem;
      margin-bottom: 2rem;
    }
    .hta-cred {
      padding: .9rem 1.1rem;
      border: 1px solid var(--line-2);
      border-left: 3px solid var(--wine);
      border-radius: 8px;
      background: #FAFAFA;
    }
    .hta-cred__lbl {
      font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
      color: var(--wine);
      margin-bottom: .35rem;
    }
    .hta-cred__val {
      font-size: .82rem; font-weight: 500;
      color: var(--ink);
      line-height: 1.45;
    }
    /* hta-cred sobre fondo oscuro (navy) */
    [style*="background:var(--navy)"] .hta-cred,
    [style*="background: var(--navy)"] .hta-cred {
      background: rgba(255,255,255,0.06) !important;
      border-color: rgba(255,255,255,0.08) !important;
      border-left-color: var(--accent-on-dark) !important;
    }
    [style*="background:var(--navy)"] .hta-cred__lbl,
    [style*="background: var(--navy)"] .hta-cred__lbl {
      color: var(--accent-on-dark) !important;
    }
    [style*="background:var(--navy)"] .hta-cred__val,
    [style*="background: var(--navy)"] .hta-cred__val {
      color: rgba(245,242,238,0.85) !important;
    }
    .hta-doctor__quote {
      font-family: var(--f-display);
      font-style: italic;
      font-size: 1.05rem;
      color: var(--ink);
      line-height: 1.55;
      border-left: 3px solid var(--wine);
      padding: .3rem 0 .3rem 1.2rem;
      margin: 0;
    }
    .hta-doctor__quote cite {
      display: block;
      font-style: normal;
      font-family: var(--f-body);
      font-size: .72rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
      color: var(--ink-3);
      margin-top: .8rem;
    }
    .hta-doctor__photo {
      position: relative;
      border-radius: 14px;
      overflow: hidden;
    }
    .hta-doctor__photo img {
      width: 100%;
      display: block;
      height: 100%;
      object-fit: cover;
      max-height: 540px;
    }
    .hta-doctor__badge {
      position: absolute;
      bottom: 1.2rem; left: 1.2rem;
      background: var(--white);
      border-radius: 10px;
      padding: .9rem 1.2rem;
      box-shadow: 0 6px 20px rgba(0,0,0,0.15);
      display: flex;
      flex-direction: column;
    }
    .hta-doctor__badge-n {
      font-family: var(--f-display);
      font-size: 1.7rem;
      color: var(--wine);
      line-height: 1;
    }
    .hta-doctor__badge-l {
      font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
      color: var(--ink-3);
      margin-top: .3rem;
    }
    @media(max-width: 900px) {
      .hta-doctor__inner { grid-template-columns: 1fr; gap: 2rem; }
      .hta-doctor__creds { grid-template-columns: 1fr; }
      .hta-doctor__photo { max-height: 380px; }
    }
    @media(max-width: 600px) { .hta-doctor { padding: 4rem 1.2rem; } }


    /* === RESEÑAS === */
    .hta-resenas {
      background: var(--cream);
      padding: 6rem 1.5rem;
    }
    .hta-resenas__inner { max-width: 1100px; margin: 0 auto; }
    .hta-resenas__hdr { text-align: center; max-width: 640px; margin: 0 auto 3rem; }
    .hta-resenas__hdr .eyebrow { color: var(--wine); }
    .hta-resenas__hdr h2 {
      font-family: var(--f-display);
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      font-weight: 400; line-height: 1.1;
      color: var(--navy-deep);
      margin: .8rem 0 1rem;
    }
    .hta-resenas__hdr p { font-size: .92rem; color: var(--ink-2); line-height: 1.7; }

    .hta-resenas__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.2rem;
    }
    .hta-resena {
      background: var(--white);
      border: 1px solid var(--line);
      border-radius: 12px;
      padding: 1.5rem 1.4rem;
      display: flex;
      flex-direction: column;
    }
    .hta-resena__stars {
      color: #E8B339;
      font-size: 1rem;
      letter-spacing: 1px;
      margin-bottom: .8rem;
    }
    .hta-resena p {
      font-size: .88rem;
      color: var(--ink);
      line-height: 1.6;
      margin: 0 0 1.2rem;
      flex: 1;
      font-style: italic;
    }
    .hta-resena footer {
      border-top: 1px solid var(--line);
      padding-top: .9rem;
      display: flex;
      flex-direction: column;
    }
    .hta-resena footer strong {
      font-size: .88rem;
      color: var(--navy-deep);
      font-weight: 600;
    }
    .hta-resena footer span {
      font-size: .68rem;
      color: var(--ink-3);
      letter-spacing: .04em;
      margin-top: .15rem;
    }

    .hta-resenas__source {
      text-align: center;
      margin-top: 2.5rem;
    }
    .hta-resenas__source a {
      font-size: .78rem; font-weight: 600; letter-spacing: .04em;
      color: var(--wine);
      text-decoration: none;
      border-bottom: 1px solid var(--wine-3);
      padding-bottom: 2px;
      transition: color .25s;
    }
    .hta-resenas__source a:hover { color: var(--wine-2); }

    @media(max-width: 900px) { .hta-resenas__grid { grid-template-columns: repeat(2, 1fr); } }
    @media(max-width: 600px) {
      .hta-resenas { padding: 4rem 1.2rem; }
      .hta-resenas__grid { grid-template-columns: 1fr; }
    }


    /* === ASEGURADORAS === */
    .hta-aseguradoras {
      background: var(--ivory);
      padding: 5rem 1.5rem;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
    }
    .hta-aseguradoras__inner {
      max-width: 1000px; margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.2fr;
      gap: 3rem;
      align-items: center;
    }
    .hta-aseguradoras__text .eyebrow { color: var(--wine); }
    .hta-aseguradoras__text h2 {
      font-family: var(--f-display);
      font-size: clamp(1.5rem, 2.5vw, 2rem);
      font-weight: 400;
      color: var(--navy-deep);
      line-height: 1.15;
      margin: .8rem 0 1rem;
    }
    .hta-aseguradoras__text p {
      font-size: .88rem;
      color: var(--ink-2);
      line-height: 1.7;
    }
    .hta-aseguradoras__pills {
      display: flex;
      flex-wrap: wrap;
      gap: .75rem;
    }
    .hta-pill {
      background: var(--white);
      border: 1px solid var(--line-2);
      border-radius: 50px;
      padding: .55rem 1.2rem;
      font-size: .8rem; font-weight: 600;
      color: var(--ink);
    }
    .hta-pill--note {
      background: transparent;
      border-style: dashed;
      color: var(--ink-3);
      font-style: italic;
      font-weight: 500;
    }
    @media(max-width: 768px) {
      .hta-aseguradoras { padding: 3.5rem 1.2rem; }
      .hta-aseguradoras__inner { grid-template-columns: 1fr; gap: 1.5rem; }
    }


    /* === FAQ === */
    .hta-faq {
      background: var(--white);
      padding: 6rem 1.5rem;
    }
    .hta-faq__inner { max-width: 800px; margin: 0 auto; }
    .hta-faq__hdr { text-align: center; margin-bottom: 3rem; }
    .hta-faq__hdr .eyebrow { color: var(--wine); }
    .hta-faq__hdr h2 {
      font-family: var(--f-display);
      font-size: clamp(1.8rem, 3.5vw, 2.5rem);
      font-weight: 400; line-height: 1.1;
      color: var(--navy-deep);
      margin-top: .8rem;
    }
    .hta-faq__list { display: flex; flex-direction: column; gap: .65rem; }
    .hta-faq__item {
      background: #FAFAFA;
      border: 1px solid var(--line);
      border-radius: 10px;
      overflow: hidden;
      transition: border-color .25s;
    }
    .hta-faq__item[open] { border-color: var(--wine-3); background: var(--white); }
    .hta-faq__item summary {
      list-style: none;
      cursor: pointer;
      padding: 1.1rem 1.4rem;
      font-size: .92rem; font-weight: 600;
      color: var(--navy-deep);
      display: flex; align-items: center; justify-content: space-between; gap: 1rem;
      line-height: 1.4;
    }
    .hta-faq__item summary::-webkit-details-marker { display: none; }
    .hta-faq__plus {
      flex-shrink: 0;
      width: 22px; height: 22px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.1rem;
      color: var(--wine);
      transition: transform .3s;
    }
    .hta-faq__item[open] .hta-faq__plus { transform: rotate(45deg); }
    .hta-faq__body {
      padding: 0 1.4rem 1.2rem;
      font-size: .85rem;
      color: var(--ink-2);
      line-height: 1.7;
    }
    @media(max-width: 600px) { .hta-faq { padding: 4rem 1.2rem; } }


    /* === CONTACTO (WIZARD) === */
    .hta-contacto {
      background: var(--navy);
      padding: 6rem 1.5rem;
      color: var(--ivory);
    }
    .hta-contacto__inner {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: start;
    }
    .hta-contacto__intro .eyebrow { color: var(--accent-on-dark); }
    .hta-contacto__intro h2 {
      font-family: var(--f-display);
      font-size: clamp(1.8rem, 3vw, 2.5rem);
      font-weight: 400; line-height: 1.1;
      color: var(--ivory);
      margin: .8rem 0 1rem;
    }
    .hta-contacto__intro p {
      font-size: .9rem; color: var(--muted);
      line-height: 1.75;
    }
    .hta-contacto__details {
      margin-top: 2rem;
      display: flex; flex-direction: column;
      gap: 1.1rem;
    }
    .hta-contacto__row {
      display: flex; align-items: flex-start; gap: 1rem;
    }
    .hta-contacto__icon {
      font-size: 1.2rem;
      flex-shrink: 0;
    }
    .hta-contacto__lbl {
      font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
      color: var(--accent-on-dark);
      margin-bottom: .25rem;
    }
    .hta-contacto__val {
      font-size: .92rem; font-weight: 500;
      color: var(--ivory);
    }
    .hta-contacto__sub {
      font-size: .78rem;
      color: var(--muted);
      margin-top: .15rem;
    }

    /* HTA wizard reusa estilos del wizard del home pero con su propia opt-grid 2x2 */
    .hta-form-wizard { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 16px; }
    .hta-option-grid { grid-template-columns: 1fr 1fr; }

    @media(max-width: 900px) {
      .hta-contacto__inner { grid-template-columns: 1fr; gap: 2.5rem; }
    }
    @media(max-width: 600px) { .hta-contacto { padding: 4rem 1.2rem; } }


    /* === CTA FINAL === */
    .hta-cta {
      background: var(--navy-deep);
      padding: 6rem 1.5rem;
      text-align: center;
      position: relative;
      overflow: hidden;
    }
    .hta-cta::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse at 50% 0%, rgba(240,215,168,0.07) 0%, transparent 60%);
      pointer-events: none;
    }
    .hta-cta__inner {
      max-width: 720px;
      margin: 0 auto;
      position: relative; z-index: 1;
    }
    .hta-cta .eyebrow { color: var(--accent-on-dark); }
    .hta-cta h2 {
      font-family: var(--f-display);
      font-size: clamp(2rem, 4vw, 3rem);
      font-weight: 400; line-height: 1.1;
      color: var(--ivory);
      margin: .8rem 0 1rem;
    }
    .hta-cta h2 em { color: var(--highlight-on-dark); font-style: italic; }
    .hta-cta p {
      font-size: .95rem;
      color: var(--muted);
      line-height: 1.7;
      max-width: 540px;
      margin: 0 auto 2rem;
    }
    .hta-cta__actions {
      display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem;
    }
    .hta-cta__nota {
      font-size: .65rem;
      color: rgba(245,242,238,0.32);
      margin-top: 2.5rem;
      letter-spacing: .04em;
    }
    @media(max-width: 600px) {
      .hta-cta { padding: 4rem 1.2rem; }
      .hta-cta__actions a { width: 100%; }
    }


    /* ============================================================
       === NAV DESKTOP — DROPDOWN PAQUETES =======================
       ============================================================ */
    .header__nav .nav-item { position: relative; }
    .header__nav .nav-item--has-sub { display: inline-flex; align-items: center; }
    .header__nav .nav-link--has-sub {
      display: inline-flex; align-items: center; gap: .35rem;
      cursor: pointer;
      background: rgba(255,255,255,0.06);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 50px;
      padding: 0.42rem 0.85rem;
      margin: 0;
      font-family: inherit;
      font-size: 0.62rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(245,242,238,0.85);
      transition: all 0.22s ease;
    }
    .site-header.scrolled .header__nav .nav-link--has-sub {
      color: var(--navy);
      background: rgba(44,74,124,0.07);
      border-color: rgba(44,74,124,0.2);
    }
    .header__nav .nav-item--has-sub:hover .nav-link--has-sub,
    .header__nav .nav-item--has-sub:focus-within .nav-link--has-sub {
      color: #fff;
      background: rgba(255,255,255,0.14);
      border-color: rgba(240,215,168,0.5);
    }
    .site-header.scrolled .header__nav .nav-item--has-sub:hover .nav-link--has-sub {
      color: var(--wine); background: rgba(164,56,74,0.07); border-color: rgba(164,56,74,0.3);
    }
    .header__nav .nav-link--has-sub:focus { outline: none; }
    .header__nav .nav-chevron {
      transition: transform .25s ease;
      opacity: 0.7;
    }
    .header__nav .nav-item--has-sub:hover .nav-chevron,
    .header__nav .nav-item--has-sub:focus-within .nav-chevron {
      transform: rotate(180deg);
      opacity: 1;
    }

    /* Dropdown panel — siempre absoluto, oculto por defecto */
    .header__nav .nav-submenu {
      position: absolute !important;
      top: calc(100% + 0.65rem);
      left: 50%;
      transform: translateX(-50%) translateY(-6px);
      min-width: 320px;
      background: #FFFFFF;
      border: 1px solid var(--line);
      border-radius: 12px;
      box-shadow: 0 12px 40px rgba(30,42,62,0.12), 0 2px 8px rgba(30,42,62,0.06);
      padding: 0.5rem;
      opacity: 0;
      visibility: hidden;
      pointer-events: none;
      transition: opacity .22s ease, transform .22s ease, visibility .22s;
      z-index: 1000;
      display: block;
    }
    /* invisible bridge so cursor doesn't lose hover when traveling to submenu */
    .header__nav .nav-submenu::before {
      content: "";
      position: absolute;
      top: -0.65rem; left: 0; right: 0;
      height: 0.65rem;
    }

    .header__nav .nav-item--has-sub:hover .nav-submenu,
    .header__nav .nav-item--has-sub:focus-within .nav-submenu {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transform: translateX(-50%) translateY(0);
    }

    /* Submenu items */
    .header__nav .nav-sub-link {
      display: flex !important;
      flex-direction: column;
      padding: 0.7rem 0.9rem;
      border-radius: 8px;
      text-decoration: none;
      transition: background .18s ease;
      color: inherit;
    }
    .header__nav .nav-sub-link:hover { background: var(--ivory); }

    .header__nav .nav-sub-title {
      display: block;
      font-size: 0.82rem;
      font-weight: 600;
      color: var(--navy-deep);
      letter-spacing: 0;
      text-transform: none;
      line-height: 1.3;
    }
    .header__nav .nav-sub-link:hover .nav-sub-title { color: var(--wine); }

    .header__nav .nav-sub-desc {
      display: block;
      font-size: 0.68rem;
      color: var(--ink-3);
      margin-top: 0.2rem;
      letter-spacing: 0;
      text-transform: none;
      font-weight: 400;
      line-height: 1.4;
    }

    .header__nav .nav-submenu__sep {
      display: block;
      height: 1px;
      background: var(--line);
      margin: 0.4rem 0.7rem;
    }


    /* ============================================================
       === NAV MÓVIL — ACORDEÓN PAQUETES =========================
       ============================================================ */
    .m-nav-item {
      list-style: none;
      border-bottom: 1px solid rgba(255,255,255,.06);
    }
    .m-nav-item--has-sub { padding: 0; }

    .m-nav-toggle {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      padding: 1rem 0;
      background: none;
      border: none;
      font-size: 0.85rem;
      font-weight: 500;
      color: var(--ivory);
      font-family: var(--f-body);
      letter-spacing: 0.02em;
      cursor: pointer;
      text-align: left;
    }
    .m-nav-toggle svg {
      transition: transform .3s ease;
      opacity: 0.7;
    }
    .m-nav-item--has-sub.open .m-nav-toggle svg {
      transform: rotate(180deg);
      opacity: 1;
    }

    /* Submenu (collapsed) */
    .m-sub {
      max-height: 0;
      overflow: hidden;
      transition: max-height .35s cubic-bezier(.16,1,.3,1);
      padding-left: 0.5rem;
    }
    .m-nav-item--has-sub.open .m-sub {
      max-height: 600px;
      padding-bottom: 0.6rem;
    }

    .m-sub-link {
      display: flex;
      flex-direction: column;
      padding: 0.7rem 0.8rem;
      margin-bottom: 0.3rem;
      background: rgba(255,255,255,0.03);
      border-radius: 8px;
      text-decoration: none;
      transition: background .2s ease;
    }
    .m-sub-link:active,
    .m-sub-link:hover { background: rgba(255,255,255,0.07); }

    .m-sub-title {
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--ivory);
      line-height: 1.3;
    }
    .m-sub-desc {
      font-size: 0.65rem;
      color: rgba(245,242,238,0.55);
      margin-top: 0.2rem;
      line-height: 1.4;
    }

    .m-sub-link--all {
      background: transparent;
      padding: 0.7rem 0.8rem 0.4rem;
      font-size: 0.7rem;
      font-weight: 700;
      color: var(--accent-on-dark);
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-top: 0.3rem;
    }
    .m-sub-link--all:hover { background: transparent; color: var(--highlight-on-dark); }


    /* ============================================================
       === LINK "VER DETALLES" en card de paquete HTA ============
       ============================================================ */
    .pkg-detail-link {
      display: inline-block;
      margin-top: 0.85rem;
      text-align: center;
      width: 100%;
      font-size: 0.7rem;
      font-weight: 600;
      letter-spacing: 0.06em;
      color: var(--accent-on-dark);
      text-decoration: none;
      padding: 0.45rem 0;
      border-bottom: 1px solid transparent;
      transition: color .22s ease, border-color .22s ease;
    }
    .pkg-detail-link:hover {
      color: var(--highlight-on-dark);
      border-bottom-color: var(--accent-on-dark-soft);
    }


    /* ============================================================
       === CARRUSEL DE TESTIMONIOS EN HERO =======================
       Fondo blanco siempre. Aparece en home + las 4 landings.
       ============================================================ */
    /* Testimonios sobre la foto — solo desktop */
    .hero__photo-testimonials {
      display: none; /* oculto por defecto, activado en desktop */
    }
    @media(min-width: 1025px) {
      .hero__photo-testimonials {
        display: block;
        position: absolute;
        bottom: 2.5rem;
        right: 2rem;
        width: 340px;
        z-index: 10;
      }
      .hero__photo-testimonials .hero-testimonials {
        margin: 0;
        max-width: none;
      }
      .hero__photo-testimonials .hero-testimonials__viewport {
        background: rgba(10,18,35,0.82);
        border: 1px solid rgba(255,255,255,0.12);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        box-shadow: 0 8px 32px rgba(0,0,0,0.3);
      }
      .hero__photo-testimonials .hero-testimonial blockquote {
        color: rgba(245,242,238,0.88);
        font-size: 0.85rem;
      }
      .hero__photo-testimonials .hero-testimonial figcaption {
        border-top-color: rgba(255,255,255,0.1);
      }
      .hero__photo-testimonials .hero-testimonial figcaption strong {
        color: var(--ivory);
      }
      .hero__photo-testimonials .hero-testimonial figcaption span {
        color: var(--accent-on-dark);
      }
      .hero__photo-testimonials .hero-testimonials__dots {
        margin-top: 0.7rem;
      }
    }
    .hero-testimonials__viewport {
      overflow: hidden;
      border-radius: 10px;
      background: #FFFFFF;
      box-shadow: 0 4px 18px rgba(30,42,62,0.10);
      border: 1px solid rgba(30,42,62,0.06);
    }

    /* Dark style — inside .hero__content (all pages) */
    .hero__content .hero-testimonials__viewport {
      background: rgba(15,24,42,0.82);
      border: 1px solid rgba(255,255,255,0.10);
      box-shadow: 0 8px 32px rgba(0,0,0,0.25);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
    }
    .hero__content .hero-testimonials {
      max-width: 420px;
      margin-top: 1rem;
    }
    .hero__content .hero-testimonial blockquote {
      color: rgba(245,242,238,0.92);
      font-size: 0.82rem;
    }
    .hero__content .hero-testimonial figcaption {
      border-top-color: rgba(255,255,255,0.10);
    }
    .hero__content .hero-testimonial figcaption strong {
      color: #fff;
    }
    .hero__content .hero-testimonial figcaption span {
      color: var(--accent-on-dark);
    }
    .hero-testimonials__track {
      display: flex;
      transition: transform 0.5s ease;
      will-change: transform;
    }
    .hero-testimonial {
      flex: 0 0 100%;
      width: 100%;
      box-sizing: border-box;
      padding: 1.2rem 1.4rem 1.1rem;
      margin: 0;
      border-left: 3px solid var(--wine);
    }
    .hero-testimonial__stars {
      color: #E8B339;
      font-size: 0.9rem;
      letter-spacing: 1.5px;
      margin-bottom: 0.55rem;
    }
    .hero-testimonial blockquote {
      margin: 0 0 .8rem;
      font-family: var(--f-display);
      font-style: italic;
      font-size: 0.93rem;
      line-height: 1.55;
      color: var(--ink);
    }
    .hero-testimonial figcaption {
      display: flex; flex-direction: column;
      font-style: normal;
      border-top: 1px solid var(--line);
      padding-top: .55rem;
    }
    .hero-testimonial figcaption strong {
      font-size: 0.8rem;
      font-weight: 700;
      color: var(--navy-deep);
      letter-spacing: 0.01em;
    }
    .hero-testimonial figcaption span {
      font-size: 0.6rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: var(--ink-3);
      margin-top: 0.22rem;
    }

    /* Dots indicator */
    .hero-testimonials__dots {
      display: flex;
      justify-content: center;
      gap: 0.5rem;
      margin-top: 0.9rem;
    }
    .hero-testimonials__dot {
      width: 28px;
      height: 3px;
      border: none;
      padding: 0;
      cursor: pointer;
      background: rgba(255,255,255,0.22);
      border-radius: 2px;
      transition: background 0.3s ease, width 0.3s ease;
    }
    .hero-testimonials__dot:hover { background: rgba(255,255,255,0.4); }
    .hero-testimonials__dot.active {
      background: var(--accent-on-dark);
      width: 36px;
    }
    /* Cuando el hero está sobre fondo claro (home + deportiva en mobile) */
    .hero-testimonials--on-light .hero-testimonials__dot { background: rgba(30,42,62,0.18); }
    .hero-testimonials--on-light .hero-testimonials__dot:hover { background: rgba(30,42,62,0.35); }
    .hero-testimonials--on-light .hero-testimonials__dot.active { background: var(--wine); }

    @media(max-width: 600px) {
      .hero-testimonials { max-width: none; }
      .hero-testimonial { padding: 1.1rem 1.2rem 1rem; }
      .hero-testimonial blockquote { font-size: 0.88rem; }
    }

    /* Deportiva en mobile: hero__content tiene fondo blanco, los dots del carrusel deben ser oscuros */
    @media(max-width: 1024px) {
      .hero__content .hero-testimonials__dot {
        background: rgba(30,42,62,0.18) !important;
      }
      .hero__content .hero-testimonials__dot:hover {
        background: rgba(30,42,62,0.35) !important;
      }
      .hero__content .hero-testimonials__dot.active {
        background: var(--wine) !important;
      }
    }

    /* Aviso de privacidad en formularios wizard */
    .wiz-privacy {
      font-size: 0.62rem;
      color: var(--ink-3, #718096);
      line-height: 1.5;
      margin-top: 0.5rem;
      text-align: center;
    }
    .wiz-privacy a {
      color: var(--wine);
      text-decoration: underline;
    }

    /* Footer legal block */
    .footer__legal-block { display: flex; flex-direction: column; gap: 0.75rem; }
    .footer__legal-block p { font-size: 0.7rem; color: rgba(245,242,238,0.78); line-height: 1.65; margin: 0; }
    .footer__legal-block strong { color: rgba(245,242,238,0.7); }
    .footer__disclaimer { font-style: italic; border-left: 2px solid rgba(201,169,110,0.25); padding-left: 0.75rem; }
    .footer__brand .footer__name { font-family: var(--f-display); font-size: 1.4rem; font-weight: 300; color: var(--ivory); letter-spacing: 0.02em; }
    .footer__brand .footer__sub { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-on-dark); opacity: 0.75; margin-top: 0.3rem; }

/* ═══════════════════════════════════════════════════════════════
   HTA PAGE HERO — imagen cuadrada como fondo completo
   Reemplaza el .hero clásico solo en page-control-hipertension
   ═══════════════════════════════════════════════════════════════ */

@keyframes blink { 0%,100%{opacity:1}50%{opacity:0.3} }

.hta-page-hero {
  position: relative;
  min-height: 100vh;
  background: var(--navy);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* ── Imagen de fondo ── */
.hta-page-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.hta-page-hero__bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* Desktop: ancla al lado derecho, el azul marino de la foto
     se funde naturalmente con --navy */
  object-position: right 20%;
  display: block;
}

/* Degradado desktop: cubre la mitad izquierda para el texto */
.hta-page-hero__bg-fade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to right,
      var(--navy) 0%,
      var(--navy) 10%,
      rgba(44,74,124,0.94) 35%,
      rgba(44,74,124,0.65) 52%,
      rgba(44,74,124,0.25) 68%,
      transparent 80%
    ),
    linear-gradient(
      to top,
      var(--navy) 0%,
      rgba(44,74,124,0.6) 10%,
      transparent 22%
    );
}

/* ECG decorativo */
.hta-page-hero__ecg {
  position: absolute;
  top: 50%; left: 0; right: 0;
  transform: translateY(-50%);
  opacity: 0.04;
  pointer-events: none;
  z-index: 1;
}

/* Barra izquierda */
.hta-page-hero__bar {
  position: absolute;
  top: 0; left: 0;
  width: 3px; height: 100%;
  background: linear-gradient(to bottom, var(--wine) 0%, rgba(164,56,74,0.3) 60%, transparent 100%);
  z-index: 3;
}

/* Layout interior: texto ocupa ~52% izquierdo */
.hta-page-hero__inner {
  position: relative;
  z-index: 4;
  flex: 1;
  padding: 8rem 3rem 4rem 5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hta-page-hero__content {
  max-width: 560px;
}

.hta-page-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(164,56,74,0.18);
  border: 1px solid rgba(164,56,74,0.45);
  border-radius: 3px;
  padding: 0.32rem 0.95rem;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent-on-dark);
  margin-bottom: 1.4rem;
  width: fit-content;
}
.hta-page-hero__badge-dot {
  width: 5px; height: 5px;
  background: var(--wine-2);
  border-radius: 50%;
  animation: blink 2s infinite;
}

.hta-page-hero__title {
  font-family: var(--f-display);
  font-size: clamp(2.4rem, 4.2vw, 4.2rem);
  font-weight: 300;
  color: var(--ivory);
  line-height: 1.04;
  margin-bottom: 1.1rem;
  letter-spacing: -0.01em;
}
.hta-page-hero__title em {
  font-style: italic;
  color: var(--accent-on-dark);
  font-weight: 300;
}

.hta-page-hero__sub {
  font-size: clamp(0.85rem, 1.1vw, 0.96rem);
  font-weight: 300;
  color: var(--muted);
  line-height: 1.75;
  max-width: 460px;
  margin-bottom: 0.75rem;
}

.hta-page-hero__cedula {
  font-size: 0.52rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--dim);
  border-left: 2px solid rgba(201,169,110,0.35);
  padding-left: 0.75rem;
  margin-bottom: 1.6rem;
  display: block;
  line-height: 1.6;
}

/* Stats pill */
.hta-page-hero__stats {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  background: rgba(5,12,24,0.55);
  border: 1px solid rgba(201,169,110,0.3);
  border-radius: 10px;
  padding: 0.85rem 1.4rem;
  margin-bottom: 1.6rem;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  width: fit-content;
}
.hta-page-hero__stat { display: flex; flex-direction: column; gap: 0.1rem; }
.hta-page-hero__stat-num {
  font-family: var(--f-display);
  font-size: clamp(1.8rem, 2.6vw, 2.6rem);
  font-weight: 600;
  color: #fff;
  line-height: 1;
  letter-spacing: -0.02em;
}
.hta-page-hero__stat-label {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent-on-dark);
  line-height: 1.2;
}
.hta-page-hero__stat-sep {
  width: 1px; height: 2.4rem;
  background: rgba(201,169,110,0.3);
  flex-shrink: 0;
}

/* CTAs */
.hta-page-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.6rem;
}

/* Trust strip */
.hta-page-hero__trust {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  padding-top: 1.3rem;
  border-top: 1px solid rgba(255,255,255,0.07);
}

/* Mini nav — parte inferior */
.hta-page-hero__mini {
  position: relative;
  z-index: 4;
  border-top: 1px solid rgba(255,255,255,0.07);
  background: rgba(5,12,24,0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.hta-page-hero__mini-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 5rem;
  display: flex;
}
.hta-page-hero__mini a {
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(245,242,238,0.4);
  padding: 0.9rem 1.4rem;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}
.hta-page-hero__mini a:hover,
.hta-page-hero__mini a.active {
  color: var(--accent-on-dark);
  border-bottom-color: var(--wine);
}

/* ══ MOBILE (≤ 768px) ══ */
@media (max-width: 768px) {

  /* Quitar min-height del desktop para que no haya espacio vacío */
  .hta-page-hero {
    min-height: 0;
    height: auto;
    display: block;
  }

  .hta-page-hero__bg {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .hta-page-hero__bg img {
    position: relative;
    width: 100%;
    height: auto;
    object-fit: unset;
    display: block;
  }
  /* Degradado solo al fondo de la imagen, sin corte visible */
  .hta-page-hero__bg-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    background: linear-gradient(
      to top,
      var(--navy) 0%,
      transparent 100%
    );
  }

  .hta-page-hero__bar { display: none; }
  .hta-page-hero__ecg { display: none; }

  /* Sin background ni margin — continuación natural de la imagen */
  .hta-page-hero__inner {
    position: relative;
    z-index: 2;
    padding: 1.5rem 1.3rem 2rem;
    background: var(--navy);
    margin-top: 0;
  }

  .hta-page-hero__content { max-width: 100%; }
  .hta-page-hero__title { font-size: clamp(1.9rem, 8vw, 2.6rem); }
  .hta-page-hero__sub { font-size: 0.85rem; max-width: 100%; line-height: 1.65; }
  .hta-page-hero__stats { width: auto; }

  .hta-page-hero__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
    margin-bottom: 1.2rem;
  }
  .hta-page-hero__actions .hta-btn-primary,
  .hta-page-hero__actions .hta-btn-ghost {
    justify-content: center;
    padding: 0.78rem 0.6rem;
    font-size: 0.62rem;
    border-radius: 3px;
  }

  .hta-page-hero__trust { gap: 1.2rem; }

  .hta-page-hero__mini-inner {
    padding: 0 1.3rem;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .hta-page-hero__mini-inner::-webkit-scrollbar { display: none; }
  .hta-page-hero__mini a { white-space: nowrap; padding: 0.75rem 0.9rem; }
}

@media (max-width: 420px) {
  .hta-page-hero__actions { grid-template-columns: 1fr; }
  .hta-page-hero__stats { width: 100%; justify-content: center; }
}

/* ═══════════════════════════════════════════
   IMÁGENES EN PAQUETES Y PERFILES — home
   ═══════════════════════════════════════════ */

/* Paquetes */
.pkg-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 6px 6px 0 0;
}
.pkg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s ease;
}
.pkg:hover .pkg-img img {
  transform: scale(1.04);
}

/* Perfiles */
.perfil-img {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 6px;
  margin-bottom: 1rem;
}
.perfil-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  display: block;
  transition: transform 0.4s ease;
}
.perfil-card:hover .perfil-img img {
  transform: scale(1.03);
}

/* ═══════════════════════════════════════════
   IMÁGENES EN SINTOMAS (valoracion preop)
   ═══════════════════════════════════════════ */
.hta-sintoma__img {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 1rem;
}
.hta-sintoma__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  display: block;
  transition: transform 0.4s ease;
}
.hta-sintoma:hover .hta-sintoma__img img {
  transform: scale(1.04);
}

/* ═══════════════════════════════════════════
   POSICIÓN ESPECÍFICA POR IMAGEN — ejecutiva
   ═══════════════════════════════════════════ */
.exec-arritmias    { object-position: center 40%; }  /* mano en pecho + mesa */
.exec-hta-nocturna { object-position: center 60%; }  /* tensiómetro en mesa */
.exec-disfuncion   { object-position: center 55%; }  /* brazo + tensiómetro */
.exec-valvulopatias{ object-position: center 35%; }  /* mano en pecho, torso */
.exec-hipertrofia  { object-position: center 40%; }  /* mano en pecho, torso */
.exec-riesgo       { object-position: center center;} /* doctor con ECG, centrado */

/* ═══════════════════════════════════════════
   BANNER DE COOKIES
   ═══════════════════════════════════════════ */
.cookie-banner {
  position: fixed;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  width: calc(100% - 2rem);
  max-width: 680px;
  background: var(--navy-deep, #0A1223);
  border: 1px solid rgba(201,169,110,0.3);
  border-radius: 12px;
  box-shadow: 0 8px 40px rgba(0,0,0,0.45);
  padding: 1.1rem 1.4rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.cookie-banner[hidden] { display: none; }

.cookie-banner__inner {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
}

.cookie-banner__text {
  flex: 1;
  font-size: 0.78rem;
  color: rgba(245,242,238,0.82);
  line-height: 1.55;
  margin: 0;
}
.cookie-banner__text a {
  color: var(--accent-on-dark, #F0D7A8);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cookie-banner__actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

.cookie-btn {
  font-family: var(--f-body);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 50px;
  padding: 0.55rem 1.1rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border: 2px solid transparent;
  white-space: nowrap;
}
.cookie-btn--accept {
  background: var(--wine, #A4384A);
  color: #fff;
  border-color: var(--wine, #A4384A);
}
.cookie-btn--accept:hover {
  background: #8f2f3e;
  border-color: #8f2f3e;
}
.cookie-btn--reject {
  background: transparent;
  color: rgba(245,242,238,0.7);
  border-color: rgba(245,242,238,0.25);
}
.cookie-btn--reject:hover {
  border-color: rgba(245,242,238,0.55);
  color: #fff;
}

@media (max-width: 540px) {
  .cookie-banner {
    bottom: 0;
    left: 0;
    right: 0;
    transform: none;
    width: 100%;
    border-radius: 12px 12px 0 0;
    max-width: none;
  }
  .cookie-banner__inner { flex-direction: column; align-items: flex-start; gap: 0.8rem; }
  .cookie-banner__actions { width: 100%; }
  .cookie-btn { flex: 1; text-align: center; }
}
