*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { scroll-behavior: smooth; scroll-padding-top: var(--nav-height); }
    :root { --nav-height: 96px; }
    body {
      background: #fff;
      color: #1a1a2e;
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
      font-size: 17px; /* ← Base tipográfica aumentada como Afi */
      line-height: 1.65;
      overflow-x: hidden;
      padding-top: var(--nav-height);
    }

    /* ANIMATIONS */
    @keyframes fadeUp { from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);} }
    @keyframes fadeIn { from{opacity:0;}to{opacity:1;} }
    @keyframes ticker { from{transform:translateX(0);}to{transform:translateX(-50%);} }
    @keyframes pulse { 0%,100%{opacity:.6;transform:scale(1);}50%{opacity:1;transform:scale(1.08);} }
    @keyframes float { 0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);} }
    @keyframes glow { 0%,100%{box-shadow:0 0 16px rgba(0,174,239,.3);}50%{box-shadow:0 0 36px rgba(0,174,239,.6);} }
    @keyframes scanline { 0%{top:-4%;}100%{top:108%;} }
    @keyframes shimmer { 0%{background-position:-200% center;}100%{background-position:200% center;} }
    @keyframes drawLine { from{stroke-dashoffset:800;}to{stroke-dashoffset:0;} }
    @keyframes blink { 0%,100%{opacity:1;}50%{opacity:0;} }

    .fade-up { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
    .fade-up.visible { opacity:1; transform:translateY(0); }
    .d2{transition-delay:.15s;} .d3{transition-delay:.28s;} .d4{transition-delay:.42s;}

    /* ═══ TIPOGRAFÍA — escala mayor estilo Afi ═══ */
    h1 { font-size: clamp(36px, 5vw, 56px); font-weight: 800; line-height: 1.08; }
    h2 { font-size: clamp(28px, 3.5vw, 42px); font-weight: 700; color: #0d1a2e; margin-bottom: 16px; line-height: 1.15; }
    h3 { font-size: clamp(17px, 2vw, 20px); font-weight: 600; color: #0d1a2e; margin-bottom: 8px; line-height: 1.3; }
    h4 { font-size: 16px; font-weight: 600; color: #0d1a2e; }
    p { font-size: 17px; line-height: 1.7; color: #4b5563; }
    .lead { font-size: clamp(17px, 2vw, 20px); line-height: 1.65; color: #4b5563; }
    .small { font-size: 14px; }
    .xsmall { font-size: 12px; }

    /* UTILS */
    .blue { color: #00AEEF; }
    .btn-p { background:#00AEEF; color:#fff; border:none; padding:16px 36px; font-size:16px; font-weight:600; border-radius:6px; cursor:pointer; display:inline-block; text-decoration:none; transition:background .2s,transform .15s,box-shadow .2s; }
    .btn-p:hover { background:#0099d4; transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,174,239,.35); }
    .btn-o { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.5); padding:14px 30px; font-size:15px; font-weight:500; border-radius:6px; cursor:pointer; display:inline-block; text-decoration:none; transition:border-color .2s,background .2s; }
    .btn-o:hover { border-color:#fff; background:rgba(255,255,255,.08); }
    .btn-ob { background:transparent; color:#00AEEF; border:1.5px solid #00AEEF; padding:9px 22px; font-size:14px; font-weight:500; border-radius:6px; cursor:pointer; display:inline-block; text-decoration:none; transition:background .2s; }
    .btn-ob:hover { background:rgba(0,174,239,.07); }
    .eyebrow { font-size:12px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:#00AEEF; margin-bottom:14px; display:block; }
    .eyebrow-w { font-size:12px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:rgba(0,174,239,.8); margin-bottom:14px; display:block; }
    .s { padding:88px 48px; max-width:960px; margin:0 auto; }
    .si { max-width:960px; margin:0 auto; }

    /* NAV — premium compacto */
    .nav {
      background:rgba(255,255,255,.96);
      backdrop-filter:blur(16px);
      -webkit-backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(222,225,235,.9);
      padding:0 40px;
      display:flex;
      align-items:center;
      justify-content:center;
      height:var(--nav-height);
      position:fixed;
      top:0;
      left:0;
      right:0;
      width:100%;
      z-index:9999;
      transition:box-shadow .25s ease, background .25s ease, border-color .25s ease;
    }
    .nav.scrolled {
      background:rgba(255,255,255,.985);
      border-bottom-color:rgba(198,205,218,.95);
      box-shadow:0 10px 34px rgba(7,26,47,.12);
    }
    .nav-inner {
      width:100%;
      max-width:1088px;
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:34px;
      height:100%;
    }
    .logo {
      display:flex;
      align-items:center;
      text-decoration:none;
      flex:0 0 auto;
    }
    .logo img {
      display:block;
      height:98px;
      width:auto;
      object-fit:contain;
      object-position:left center;
    }
    .nav-menu {
      display:flex;
      align-items:center;
      gap:8px;
      font-size:14px;
      font-weight:650;
      color:#263548;
      height:100%;
    }
    .nav-menu > a,
    .nav-drop-label {
      color:#263548;
      text-decoration:none;
      padding:9px 12px;
      border-radius:999px;
      transition:color .2s ease, background .2s ease;
      cursor:pointer;
      line-height:1;
      display:flex;
      align-items:center;
      gap:6px;
    }
    .nav-menu > a:hover,
    .nav-drop:hover .nav-drop-label {
      color:#071a2f;
      background:#f5f7fb;
    }
    .nav-drop {
      position:relative;
      height:100%;
      display:flex;
      align-items:center;
    }
    .nav-drop-label::after {
      content:'⌄';
      font-size:13px;
      color:#00AEEF;
      transform:translateY(-1px);
    }
    .nav-drop-menu {
      position:absolute;
      top:calc(100% + 8px);
      left:0;
      min-width:310px;
      background:#fff;
      border:1px solid #e6eaf2;
      border-radius:18px;
      box-shadow:0 22px 58px rgba(7,26,47,.16);
      padding:10px;
      opacity:0;
      visibility:hidden;
      transform:translateY(8px);
      transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
      z-index:10000;
    }
    .nav-drop:hover .nav-drop-menu {
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }
    .nav-drop-menu a {
      display:block;
      padding:12px 14px;
      border-radius:12px;
      color:#0d1a2e;
      text-decoration:none;
      transition:background .2s ease, color .2s ease;
    }
    .nav-drop-menu a:hover,
    .nav-drop-menu a[aria-current="page"] {
      background:#f5f7fb;
      color:#00AEEF;
    }
    .nav-drop-menu span {
      display:block;
      color:#6b7280;
      font-size:12px;
      font-weight:400;
      margin-top:3px;
      line-height:1.35;
    }
    .navc {
      display:flex;
      align-items:center;
      gap:10px;
      flex:0 0 auto;
    }
    .navc .btn-ob {
      padding:7px 14px;
      font-size:13px;
      border-radius:999px;
      border-color:#d7eef8;
      background:#f4fbfe;
      color:#027ba7;
    }
    .navc .btn-ob:hover {
      background:#eaf8fd;
    }
    .navc .btn-p {
      padding:9px 18px !important;
      font-size:13px !important;
      border-radius:999px;
      box-shadow:0 8px 22px rgba(0,174,239,.22);
      white-space:nowrap;
    }
    .stat-logo { height:1.5em; width:auto; object-fit:contain; display:block; margin:0 auto; }
    .stat-logo.xtb { height:1.3em; }
    .stat-logo.ceu { height:1.6em; }
    .split-photo { width:100%; max-width:520px; min-height:360px; border-radius:22px; object-fit:cover; position:relative; z-index:1; box-shadow:0 22px 60px rgba(0,0,0,.22); }
    .wa-float { position:fixed; right:22px; bottom:22px; z-index:250; width:56px; height:56px; background:#25D366; color:#fff; border-radius:50%; padding:0; box-shadow:0 14px 34px rgba(0,0,0,.22); display:flex; align-items:center; justify-content:center; text-decoration:none; transition:transform .2s, box-shadow .2s; }
    .wa-float:hover { transform:translateY(-2px); box-shadow:0 18px 42px rgba(0,0,0,.28); }
    .wa-float svg { width:30px; height:30px; fill:currentColor; display:block; }

    /* TICKER */
    .ticker-wrap { background:#0d1a2e; padding:9px 0; overflow:hidden; position:relative; }
    .ticker-wrap::before,.ticker-wrap::after { content:''; position:absolute; top:0; bottom:0; width:60px; z-index:2; }
    .ticker-wrap::before { left:0; background:linear-gradient(to right,#0d1a2e,transparent); }
    .ticker-wrap::after { right:0; background:linear-gradient(to left,#0d1a2e,transparent); }
    .ticker { display:flex; white-space:nowrap; animation:ticker 30s linear infinite; width:max-content; }
    .tick { display:inline-flex; align-items:center; gap:6px; padding:0 28px; font-size:13px; font-weight:500; color:rgba(255,255,255,.6); border-right:1px solid rgba(255,255,255,.1); }
    .tick .sym { color:#fff; font-weight:700; }
    .tick .up { color:#00c896; }
    .tick .dn { color:#f87171; }

    /* HERO */
    .hero { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,620px) minmax(340px,420px); gap:48px; justify-content:center; align-items:center; min-height:640px; padding:0 48px; }
    .hero-bg { position:absolute; inset:0; background:linear-gradient(135deg,#010d1f 0%,#0a2744 55%,#041520 100%); }
    .hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(0,174,239,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,.07) 1px,transparent 1px); background-size:52px 52px; }
    .hero-glow { position:absolute; width:700px; height:700px; background:radial-gradient(circle,rgba(0,174,239,.16) 0%,transparent 70%); top:-150px; left:-100px; pointer-events:none; animation:pulse 7s ease-in-out infinite; }
    .hero-scan { position:absolute; left:0; right:0; height:2px; background:linear-gradient(to right,transparent,rgba(0,174,239,.4),transparent); animation:scanline 6s linear infinite; pointer-events:none; }

    /* Hero left */
    .hero-left { position:relative; z-index:2; padding:72px 0 64px; display:flex; flex-direction:column; justify-content:center; max-width:620px; }
    .hero-badge { display:inline-flex; align-items:center; gap:8px; background:rgba(0,174,239,.12); border:1px solid rgba(0,174,239,.3); color:#67d8f7; font-size:13px; font-weight:500; padding:7px 16px; border-radius:20px; margin-bottom:28px; width:fit-content; animation:fadeUp .8s ease both; }
    .hero-badge-dot { width:7px; height:7px; background:#00AEEF; border-radius:50%; animation:blink 2s ease infinite; flex-shrink:0; }
    .hero-h { color:#fff; margin-bottom:12px; animation:fadeUp .9s ease .1s both; }
    .hero-subtitle { font-size:clamp(18px,2.2vw,24px); font-weight:500; color:#00AEEF; margin-bottom:24px; font-style:italic; animation:fadeUp .9s ease .18s both; }
    .hero-lead { font-size:clamp(16px,1.8vw,18px); color:rgba(255,255,255,.72); max-width:520px; margin-bottom:36px; line-height:1.7; animation:fadeUp .9s ease .25s both; }
    .hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:52px; animation:fadeUp .9s ease .32s both; }
    .hero-stats { display:flex; gap:0; padding-top:36px; border-top:1px solid rgba(255,255,255,.1); flex-wrap:wrap; animation:fadeUp .9s ease .42s both; }
    .stat { flex:1; min-width:110px; padding-right:24px; margin-right:24px; border-right:1px solid rgba(255,255,255,.1); }
    .stat:last-child { border-right:none; padding-right:0; margin-right:0; }
    .sn { font-size:clamp(22px,2.5vw,30px); font-weight:800; color:#00AEEF; line-height:1; }
    .sl { font-size:13px; color:rgba(255,255,255,.45); margin-top:4px; }

    /* Hero right — form panel */
    .hero-right { position:relative; z-index:2; display:flex; align-items:center; justify-content:flex-start; padding:40px 0; }
    .hero-form-card { background:#fff; border:1px solid #e6eaf2; border-radius:16px; padding:32px 28px; width:100%; max-width:420px; box-shadow:0 24px 64px rgba(0,0,0,.28); animation:fadeUp .9s ease .3s both; }
    .hf-title { font-size:20px; font-weight:700; color:#0d1a2e; margin-bottom:4px; }
    .hf-sub { font-size:14px; color:#6b7280; margin-bottom:20px; }
    .hf-price { background:#f0f9ff; border:1px solid #bae6fd; border-radius:10px; padding:12px 16px; display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
    .hf-price .pr-n { font-size:28px; font-weight:800; color:#00AEEF; line-height:1; }
    .hf-price .pr-s { font-size:11px; color:#64748b; }
    .hf-price .pr-d { font-size:11px; color:#00c896; margin-top:2px; }
    .hf-fg { margin-bottom:12px; }
    .hf-fg label { display:block; font-size:12px; font-weight:600; color:#374151; margin-bottom:4px; letter-spacing:.3px; }
    .hf-input { width:100%; background:#fff; border:1px solid #d1d5db; color:#111827; border-radius:7px; padding:10px 14px; font-size:14px; outline:none; font-family:inherit; transition:border-color .2s, box-shadow .2s; }
    .hf-input:focus { border-color:#00AEEF; background:#fff; box-shadow:0 0 0 3px rgba(0,174,239,.12); }
    .hf-input::placeholder { color:#9ca3af; }
    .hf-note { font-size:11px; color:#9ca3af; text-align:center; margin-top:10px; }

    /* TRUST */
    .trust { background:#f0f9ff; border-top:1px solid #bae6fd; border-bottom:1px solid #bae6fd; padding:16px 48px; }
    .ti { max-width:960px; margin:0 auto; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
    .titem { display:flex; align-items:center; gap:8px; font-size:13px; font-weight:500; color:#0369a1; }
    .tdot { width:5px; height:5px; background:#00AEEF; border-radius:50%; flex-shrink:0; }

    /* PILLS */
    .pills { display:flex; gap:20px; flex-wrap:wrap; margin-top:48px; }
    .pill { background:#0d1a2e; color:#fff; border-radius:12px; padding:28px; flex:1; min-width:180px; }
    .pill .pn { font-size:clamp(24px,3vw,32px); font-weight:800; color:#00AEEF; line-height:1; margin-bottom:8px; }
    .pill .pt { font-size:17px; font-weight:600; color:#fff; margin-bottom:5px; }
    .pill .ps { font-size:14px; color:#94a3b8; }

    /* PARA TI */
    .parati-grid { display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:40px; border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; }
    .parati-item { display:flex; align-items:flex-start; gap:14px; padding:22px 28px; border-bottom:1px solid #e5e7eb; border-right:1px solid #e5e7eb; transition:background .2s; }
    .parati-item:hover { background:#f7f9fc; }
    .parati-item:nth-child(even) { border-right:none; }
    .parati-item:nth-last-child(-n+2) { border-bottom:none; }
    .pcheck { width:22px; height:22px; background:#00AEEF; border-radius:5px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }
    .pcheck svg { width:13px; height:13px; stroke:#fff; fill:none; stroke-width:2.5; }
    .parati-item p { font-size:16px; font-weight:500; color:#0d1a2e; margin:0; line-height:1.5; }

    /* SPLIT */
    .split { display:grid; grid-template-columns:1fr 1fr; min-height:500px; overflow:hidden; }
    .split-vis { background:#021629; display:flex; align-items:center; justify-content:center; padding:48px; position:relative; overflow:hidden; }
    .split-vis::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(0,174,239,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,.05) 1px,transparent 1px); background-size:36px 36px; }
    .split-text { padding:72px 56px; display:flex; flex-direction:column; justify-content:center; background:#f7f9fc; }
    .split-text h2 { font-size:clamp(24px,3vw,34px); margin-bottom:16px; }
    .feat-list { list-style:none; margin-top:24px; }
    .feat-list li { padding:12px 0; border-bottom:1px solid #f3f4f6; font-size:16px; color:#374151; display:flex; gap:12px; align-items:flex-start; line-height:1.5; }
    .feat-list li:last-child { border-bottom:none; }
    .chk { color:#00AEEF; font-weight:700; flex-shrink:0; font-size:17px; }

    /* PROGRAM */
    .prog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; margin-top:40px; }
    .mod { background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:24px; border-left:3px solid #00AEEF; transition:transform .2s,box-shadow .2s; }
    .mod:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,0,0,.08); }
    .mod-n { font-size:11px; font-weight:700; color:#00AEEF; letter-spacing:1.5px; margin-bottom:8px; }
    .mod h3 { font-size:16px; margin-bottom:6px; }
    .mod p { font-size:14px; color:#6b7280; line-height:1.55; }

    /* DARK */
    .dark-sec { background:#0d1a2e; padding:88px 48px; position:relative; overflow:hidden; }
    .dark-sec::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(0,174,239,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,239,.04) 1px,transparent 1px); background-size:52px 52px; }
    .dark-glow { position:absolute; width:600px; height:600px; background:radial-gradient(circle,rgba(0,174,239,.12) 0%,transparent 70%); top:50%; left:50%; transform:translate(-50%,-50%); pointer-events:none; }
    .dark-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; margin-top:44px; position:relative; z-index:1; }
    .dark-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:30px 24px; transition:background .2s,transform .2s,border-color .2s; }
    .dark-card:hover { background:rgba(0,174,239,.06); border-color:rgba(0,174,239,.2); transform:translateY(-4px); }
    .dark-card h3 { color:#fff; font-size:17px; margin-bottom:10px; }
    .dark-card p { color:#94a3b8; font-size:15px; }
    .dc-num { font-size:clamp(32px,4vw,42px); font-weight:800; color:#00AEEF; margin-bottom:10px; line-height:1; }
    .h2w { font-size:clamp(28px,3.5vw,42px); font-weight:700; color:#fff; margin-bottom:14px; line-height:1.15; position:relative; z-index:1; }

    /* TEACHERS */
    .tc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; margin-top:44px; }
    .tc { background:#fff; border:1px solid #e5e7eb; border-radius:14px; overflow:hidden; transition:transform .25s,box-shadow .25s; }
    .tc:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.1); }
    .tc-head { background:linear-gradient(135deg,#021629 0%,#0a2744 100%); padding:30px 28px; display:flex; align-items:center; gap:16px; position:relative; overflow:hidden; }
    .tc-head::after { content:''; position:absolute; right:-20px; top:-20px; width:90px; height:90px; background:rgba(0,174,239,.08); border-radius:50%; }
    .tc-av { width:56px; height:56px; border-radius:50%; background:rgba(0,174,239,.2); border:2px solid rgba(0,174,239,.5); display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:700; color:#00AEEF; flex-shrink:0; animation:glow 4s ease-in-out infinite; }
    .tc-name { color:#fff; font-size:17px; font-weight:600; }
    .tc-role { color:rgba(0,174,239,.8); font-size:12px; font-weight:500; letter-spacing:.5px; text-transform:uppercase; margin-top:3px; }
    .tc-body { padding:24px 28px; }
    .tc-body p { font-size:15px; color:#6b7280; line-height:1.65; }

    /* PARTNERS */
    .partners { background:#f7f9fc; padding:56px 48px; border-top:1px solid #e5e7eb; }
    .partners-inner { max-width:960px; margin:0 auto; text-align:center; }
    .partners-label { font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:#9ca3af; margin-bottom:32px; display:block; }
    .partners-logos { display:flex; align-items:stretch; justify-content:center; gap:24px; flex-wrap:wrap; }
    .partner-logo { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-width:220px; padding:18px 22px; background:#fff; border:1px solid #e5e7eb; border-radius:14px; box-shadow:0 8px 28px rgba(15,23,42,.06); transition:transform .2s ease, box-shadow .2s ease; }
    .partner-logo:hover { transform:translateY(-3px); box-shadow:0 14px 36px rgba(15,23,42,.1); }
    .partner-logo img { display:block; max-width:210px; max-height:64px; width:auto; height:auto; object-fit:contain; }
    .partner-badge { padding:12px 24px; border-radius:8px; font-size:16px; font-weight:800; letter-spacing:1px; }
    .badge-ceu { background:#004B8D; color:#fff; }
    .badge-xtb { background:#E30613; color:#fff; }
    .badge-acercanza { background:#0d1a2e; color:#00AEEF; border:1px solid rgba(0,174,239,.3); }
    .partner-sub { font-size:12px; color:#9ca3af; }

    /* CONTACT STRIP */
    .contact-strip { background:#0d1a2e; padding:22px 48px; }
    .cs-inner { max-width:960px; margin:0 auto; display:flex; gap:36px; flex-wrap:wrap; align-items:center; justify-content:center; }
    .cs-item { display:flex; align-items:center; gap:9px; font-size:14px; color:rgba(255,255,255,.7); }
    .cs-item svg { width:16px; height:16px; stroke:#00AEEF; fill:none; stroke-width:1.8; flex-shrink:0; }
    .cs-item a { color:#00AEEF; text-decoration:none; transition:opacity .2s; }
    .cs-item a:hover { opacity:.8; }

    /* FORM SECTION */
    .form-sec { background:#f7f9fc; padding:88px 48px; }
    .form-grid { max-width:960px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
    .form-left h2 { margin-bottom:14px; }
    .form-left .lead { margin-bottom:32px; }
    .form-point { display:flex; align-items:flex-start; gap:14px; margin-bottom:20px; }
    .fp-icon { width:40px; height:40px; background:#eff9fe; border-radius:8px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
    .fp-icon svg { width:19px; height:19px; stroke:#00AEEF; fill:none; stroke-width:1.8; }
    .fp-text h4 { font-size:15px; }
    .fp-text p { font-size:14px; color:#6b7280; margin:0; line-height:1.5; }
    .form-card { background:#fff; border-radius:16px; padding:44px; border:1px solid #e5e7eb; box-shadow:0 8px 40px rgba(0,0,0,.07); }
    .form-card-title { font-size:22px; font-weight:700; color:#0d1a2e; margin-bottom:4px; }
    .form-card-sub { font-size:14px; color:#6b7280; margin-bottom:28px; }
    .fg { margin-bottom:16px; }
    .fg label { display:block; font-size:13px; font-weight:500; color:#374151; margin-bottom:5px; }
    .fg input,.fg select { width:100%; border:1px solid #d1d5db; color:#111; border-radius:8px; padding:12px 14px; font-size:15px; outline:none; background:#fff; font-family:inherit; transition:border-color .2s,box-shadow .2s; }
    .fg input:focus,.fg select:focus { border-color:#00AEEF; box-shadow:0 0 0 3px rgba(0,174,239,.12); }
    .form-note { font-size:12px; color:#9ca3af; text-align:center; margin-top:12px; }

    /* FOOTER — estructura tipo escuela financiera premium */
    .foot {
      background:#06111f;
      color:#d7dde8;
      padding:58px 40px 26px;
      border-top:1px solid rgba(255,255,255,.08);
    }
    .foot-inner {
      max-width:1088px;
      margin:0 auto;
      display:grid;
      grid-template-columns:1.25fr .82fr .82fr .82fr 1.02fr;
      gap:34px;
      align-items:start;
    }
    .foot-brand {
      display:flex;
      flex-direction:column;
      align-items:flex-start;
      gap:16px;
    }
    .foot-brand img {
      display:block;
      height:98px;
      width:auto;
      max-width:420px;
      object-fit:contain;
      object-position:left center;
    }
    .foot-brand p {
      color:#9aa7b8;
      font-size:14px;
      line-height:1.65;
      max-width:320px;
      margin:0;
    }
    .foot-social {
      display:flex;
      gap:10px;
      margin-top:4px;
    }
    .foot-social a {
      width:34px;
      height:34px;
      border-radius:50%;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.09);
      color:#d7dde8;
      text-decoration:none;
      font-size:13px;
      font-weight:700;
      transition:background .2s ease, transform .2s ease, color .2s ease;
    }
    .foot-social a:hover { background:#00AEEF; color:#fff; transform:translateY(-2px); }
    .foot-col h4 {
      color:#fff;
      font-size:12px;
      letter-spacing:1.4px;
      text-transform:uppercase;
      margin:0 0 16px;
      font-weight:800;
    }
    .foot-col a,
    .foot-col span {
      display:block;
      color:#9aa7b8;
      font-size:14px;
      line-height:1.55;
      text-decoration:none;
      margin:0 0 10px;
      transition:color .2s ease, transform .2s ease;
    }
    .foot-col a:hover { color:#fff; transform:translateX(2px); }
    .foot-contact-card {
      background:rgba(255,255,255,.045);
      border:1px solid rgba(255,255,255,.08);
      border-radius:18px;
      padding:20px;
      box-shadow:0 18px 40px rgba(0,0,0,.18);
    }
    .foot-contact-card a { color:#d7dde8; }
    .foot-contact-card .btn-p {
      display:inline-block;
      margin-top:10px;
      padding:10px 16px;
      font-size:13px;
      border-radius:8px;
      color:#fff;
    }
    .foot-note {
      max-width:1088px;
      margin:34px auto 0;
      padding:18px 20px;
      border-radius:16px;
      background:rgba(0,174,239,.08);
      border:1px solid rgba(0,174,239,.14);
      color:#b9c4d4;
      font-size:13px;
      line-height:1.55;
    }
    .foot-bottom {
      max-width:1088px;
      margin:24px auto 0;
      padding-top:20px;
      border-top:1px solid rgba(255,255,255,.08);
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:18px;
      flex-wrap:wrap;
      color:#728095;
      font-size:13px;
    }
    .foot-legal { display:flex; gap:18px; flex-wrap:wrap; }
    .foot-legal a { color:#728095; text-decoration:none; }
    .foot-legal a:hover { color:#d7dde8; }
    @media (max-width:1000px){
      .foot-inner { grid-template-columns:1fr 1fr 1fr; }
      .foot-brand, .foot-contact-card { grid-column:span 3; }
    }
    @media (max-width:640px){
      .foot { padding:42px 20px 24px; }
      .foot-inner { grid-template-columns:1fr; gap:28px; }
      .foot-brand, .foot-contact-card { grid-column:auto; }
      .foot-brand img { height:64px; max-width:285px; }
      .foot-bottom { align-items:flex-start; flex-direction:column; }
    }

    /* SHIMMER */
    .shimmer { background:linear-gradient(90deg,#fff 0%,#fff 40%,#00AEEF 50%,#fff 60%,#fff 100%); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 4s linear infinite; }



    /* SECTION DIVIDER: ¿ES PARA TI? */
    .parati-sec {
      background:#f7f9fc;
      position: relative;
      overflow: hidden;
      border-top: 1px solid #e6eaf2;
    }
    .parati-sec::before {
      content:'';
      position:absolute;
      left:50%;
      top:-90px;
      width:760px;
      height:220px;
      transform:translateX(-50%);
      background: radial-gradient(circle, rgba(0,174,239,.14) 0%, rgba(0,174,239,.04) 42%, transparent 70%);
      pointer-events:none;
    }
    .parati-sec::after {
      content:'';
      position:absolute;
      inset:0;
      background-image: linear-gradient(rgba(7,26,47,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(7,26,47,.035) 1px, transparent 1px);
      background-size: 46px 46px;
      opacity:.55;
      pointer-events:none;
    }
    .parati-sec .s { position:relative; z-index:1; }
    .parati-sec::before, .parati-sec::after { display:none; }
    .section-kicker-line { width:72px; height:4px; border-radius:999px; background:#00AEEF; margin-bottom:24px; }

    /* SPLIT IMAGE REFINEMENT */
    .split.split-image-right { grid-template-columns: 1fr 1fr; }
    .split.split-image-right .split-text { order:1; background:#fff; align-items:flex-end; padding-right:72px; }
    .split.split-image-right .split-vis { order:2; background:#f5f7fb; padding:56px 72px 56px 36px; }
    .split.split-image-right .split-vis::before { display:none; }
    .split.split-image-right .split-text > .eyebrow,
    .split.split-image-right .split-text > h2,
    .split.split-image-right .split-text > .feat-list { width:100%; max-width:520px; }
    .split-photo { border-radius:24px; aspect-ratio: 4/3; min-height:0; }
    .split-caption {
      position:absolute;
      z-index:2;
      left:84px;
      bottom:74px;
      background:rgba(7,26,47,.88);
      color:#fff;
      border:1px solid rgba(255,255,255,.12);
      border-radius:14px;
      padding:14px 16px;
      max-width:260px;
      box-shadow:0 18px 40px rgba(0,0,0,.22);
      backdrop-filter:blur(10px);
    }
    .split-caption strong { display:block; color:#00AEEF; font-size:13px; letter-spacing:.4px; text-transform:uppercase; margin-bottom:2px; }
    .split-caption span { display:block; color:rgba(255,255,255,.78); font-size:13px; line-height:1.35; }

    /* TEACHER CARDS WITH PHOTOS */
    .tc-photo-card .tc-head {
      padding:0;
      min-height:220px;
      display:block;
      background:#071a2f;
    }
    .tc-photo-card .tc-head::after { display:none; }
    .teacher-photo {
      width:100%;
      height:220px;
      object-fit:cover;
      display:block;
      filter:saturate(.96) contrast(1.03);
    }
	
    .tc-meta {
      padding:18px 22px;
      background:linear-gradient(135deg,#071a2f 0%,#0f2f4f 100%);
    }
    .tc-photo-card .tc-body { padding:22px; }
    .tc-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:16px; }
    .tc-tag { font-size:11px; font-weight:600; color:#0369a1; background:#eef8fd; border:1px solid #c7ecfb; padding:5px 8px; border-radius:999px; }

    /* ═══ RESPONSIVE ═══ */

    /* Tablet (≤ 1024px) */
    @media (max-width:1024px) {
      .hero { grid-template-columns:1fr; min-height:auto; gap:0; padding:0 40px; }
      .hero-left { max-width:720px; margin:0 auto; text-align:left; }
      .hero-right { padding:0 0 56px; justify-content:center; }
      .hero-form-card { max-width:480px; margin:0 auto; }
      .split { grid-template-columns:1fr; }
      .split-vis { min-height:300px; }
      .split-text { padding:56px 40px; }
      .form-grid { gap:40px; }
    }

    /* Mobile (≤ 768px) */
    @media (max-width:768px) {
      :root { --nav-height: 76px; }
      body { font-size:16px; }
      .nav { padding:0 18px; height:var(--nav-height); }
      .nav-inner { max-width:100%; gap:14px; }
      .logo img { height:62px; max-width:270px; }
      .nav-menu { display:none; }
      .navc .btn-ob { display:none; }
      .navc .btn-p { padding:8px 14px !important; font-size:12px !important; }
      .s { padding:56px 20px; }
      .dark-sec,.form-sec,.partners { padding-left:20px; padding-right:20px; }
      .trust,.contact-strip { padding-left:20px; padding-right:20px; }
      .hero { padding:0 20px; }
      .hero-left { padding:56px 0 40px; }
      .hero-right { padding:0 0 56px; }
      h2 { font-size:26px; }
      .h2w { font-size:26px; }
      .hero-stats { gap:16px; }
      .stat { border-right:none; padding-right:0; margin-right:0; min-width:45%; margin-bottom:8px; }
      .pills { flex-direction:column; }
      .pill { min-width:auto; }
      .parati-grid { grid-template-columns:1fr; }
      .parati-item { border-right:none; }
      .parati-item:nth-last-child(-n+2) { border-bottom:1px solid #e5e7eb; }
      .parati-item:last-child { border-bottom:none; }
      .split { grid-template-columns:1fr; }
      .split.split-image-right { grid-template-columns:1fr; }
      .split.split-image-right .split-text { order:2; align-items:flex-start; padding-right:24px; }
      .split.split-image-right .split-vis { order:1; padding:28px 20px; }
      .split-caption { left:36px; bottom:44px; max-width:230px; }
      .split-vis { min-height:240px; }
      .split-text { padding:40px 24px; }
      .form-grid { grid-template-columns:1fr; gap:40px; }
      .form-card { padding:28px 20px; }
      .tc-grid { grid-template-columns:1fr; }
      .flinks { margin-top:8px; }
      .flinks a:first-child { margin-left:0; }
      .partners-logos { gap:20px; }
      .partner-logo { width:100%; min-width:0; }
      .cs-inner { gap:20px; flex-direction:column; align-items:flex-start; }
    }

    /* Small mobile (≤ 480px) */
    @media (max-width:480px) {
      :root { --nav-height: 72px; }
      .logo img { height:56px; max-width:230px; }
      .foot-brand img { height:58px; max-width:240px; }
      h1 { font-size:30px; }
      .hero-subtitle { font-size:17px; }
      .btn-p { padding:14px 24px; font-size:15px; }
      .prog-grid { grid-template-columns:1fr; }
      .dark-grid { grid-template-columns:1fr 1fr; }
    }

    /* SYLLABUS DEFINITIVO */
    .program-intro { max-width:760px; margin-top:10px; }
    .program-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin:32px 0 38px; }
    .program-chip { background:#fff; border:1px solid #e6eaf2; border-radius:14px; padding:18px 20px; box-shadow:0 8px 28px rgba(7,26,47,.05); }
    .program-chip strong { display:block; font-size:22px; color:#071a2f; line-height:1; margin-bottom:6px; }
    .program-chip span { display:block; font-size:13px; color:#667085; line-height:1.4; }
    .mod { display:flex; flex-direction:column; min-height:178px; }
    .mod-meta { display:flex; gap:8px; flex-wrap:wrap; margin:10px 0 0; }
    .mod-meta span { font-size:11px; font-weight:700; color:#0b4a75; background:#eaf7fd; border:1px solid #cbeefa; border-radius:999px; padding:4px 8px; }
    .program-note { margin-top:26px; background:#071a2f; color:#fff; border-radius:16px; padding:24px 26px; display:grid; grid-template-columns:1.2fr .8fr; gap:24px; align-items:center; }
    .program-note p { color:rgba(255,255,255,.72); font-size:15px; margin:0; }
    .program-note strong { color:#fff; }
    .program-note .btn-p { width:fit-content; justify-self:end; }
    .teacher-note { background:#f7f9fc; border:1px solid #e6eaf2; border-radius:14px; padding:18px 20px; margin-top:22px; color:#4b5563; font-size:14px; }
    .tc-photo-card .tc-head { min-height:220px; align-items:flex-end; }
    .teacher-photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.62; filter:saturate(.85) contrast(1.05); }
    .tc-head::before { content:''; position:absolute; inset:0; background:linear-gradient(to top,rgba(7,26,47,.92),rgba(7,26,47,.25)); z-index:1; }
    .tc-meta { position:relative; z-index:2; }
    .tc-body p { min-height:92px; }
    .tc-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
    .tc-tag { font-size:11px; font-weight:700; color:#0b4a75; background:#eaf7fd; border-radius:999px; padding:5px 9px; }
    .career-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:16px; margin-top:38px; }
    .career-card { background:#fff; border:1px solid #e6eaf2; border-radius:14px; padding:22px; box-shadow:0 8px 28px rgba(7,26,47,.05); }
    .career-card h3 { font-size:16px; margin-bottom:6px; }
    .career-card p { font-size:14px; line-height:1.55; }
    @media (max-width:768px){ .program-note { grid-template-columns:1fr; } .program-note .btn-p { justify-self:start; } }

/* === ICM COMMON HEADER/FOOTER UPDATE === */
:root{--icm-blue:#00AEEF;--icm-navy:#071a2f;--icm-border:#e6eaf2;--icm-soft:#f7f9fc;}
.nav{height:86px!important;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--icm-border)!important;position:sticky!important;top:0!important;z-index:1000!important;box-shadow:0 8px 28px rgba(7,26,47,.06)!important;padding:0!important;}
.nav.scrolled{box-shadow:0 12px 34px rgba(7,26,47,.12)!important;}
.nav-inner{height:86px!important;max-width:1200px!important;margin:0 auto!important;padding:0 34px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:30px!important;}
.logo{display:flex!important;align-items:center!important;flex-shrink:0!important;}
.logo img{height:68px!important;width:auto!important;object-fit:contain!important;display:block!important;}
.nav-menu{display:flex!important;align-items:center!important;gap:32px!important;font-size:17px!important;font-weight:800!important;color:#263548!important;line-height:1!important;}
.nav-menu a,.nav-drop-label{font-size:17px!important;font-weight:800!important;color:#263548!important;}
.nav-menu a:hover,.nav-drop-label:hover{color:var(--icm-blue)!important;}
.nav-drop{position:relative!important;padding:34px 0!important;}
.nav-drop-label{display:flex!important;gap:7px!important;align-items:center!important;cursor:pointer!important;}
.nav-drop-label:after{content:'▾';font-size:12px;color:#7b8794;}
.nav-drop-menu{position:absolute!important;left:0!important;top:72px!important;min-width:315px!important;background:#fff!important;border:1px solid var(--icm-border)!important;border-radius:16px!important;box-shadow:0 18px 48px rgba(0,0,0,.13)!important;padding:10px!important;opacity:0!important;visibility:hidden!important;transform:translateY(8px)!important;transition:.2s ease!important;z-index:1001!important;}
.nav-drop:hover .nav-drop-menu{opacity:1!important;visibility:visible!important;transform:translateY(0)!important;}
.nav-drop-menu a{display:block!important;padding:14px 15px!important;border-radius:12px!important;font-size:15px!important;line-height:1.25!important;color:#071a2f!important;}
.nav-drop-menu a:hover{background:var(--icm-soft)!important;color:var(--icm-blue)!important;}
.nav-drop-menu span{display:block!important;font-size:12px!important;color:#6b7280!important;font-weight:500!important;margin-top:3px!important;}
.navc{display:flex!important;align-items:center!important;gap:14px!important;flex-shrink:0!important;}
.navc .btn-p,.navc .btn-ob,.navc .btn-o,.navc .btn{font-size:16px!important;font-weight:850!important;border-radius:9px!important;white-space:nowrap!important;}
.navc .btn-p,.navc .btn{background:var(--icm-blue)!important;color:#fff!important;border:0!important;padding:13px 24px!important;box-shadow:0 10px 26px rgba(0,174,239,.24)!important;}
.navc .btn-p:hover,.navc .btn:hover{background:#0094cc!important;transform:translateY(-2px)!important;}
.navc .btn-ob,.navc .btn-o{background:#fff!important;color:#071a2f!important;border:1.5px solid #d6deea!important;padding:11px 20px!important;box-shadow:none!important;}
.navc .btn-ob:hover,.navc .btn-o:hover{border-color:var(--icm-blue)!important;color:var(--icm-blue)!important;background:#f8fbff!important;}
.foot{background:#071a2f!important;color:#fff!important;padding:64px 34px 28px!important;}
.foot-inner{max-width:1200px!important;margin:0 auto!important;display:grid!important;grid-template-columns:1.4fr .9fr .9fr .9fr 1.15fr!important;gap:34px!important;align-items:start!important;}
.foot-brand img{height:68px!important;width:auto!important;object-fit:contain!important;margin-bottom:18px!important;display:block!important;}
.foot-brand p{color:rgba(255,255,255,.72)!important;font-size:15px!important;line-height:1.65!important;max-width:310px!important;}
.foot-col{display:flex!important;flex-direction:column!important;gap:9px!important;}
.foot-col h4{color:#fff!important;font-size:15px!important;font-weight:850!important;margin:0 0 8px!important;letter-spacing:.3px!important;}
.foot-col a,.foot-col span{color:rgba(255,255,255,.68)!important;text-decoration:none!important;font-size:14px!important;line-height:1.45!important;}
.foot-col a:hover{color:#fff!important;}
.foot-contact-card{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:16px!important;padding:22px!important;}
.foot-contact-card .btn-p{margin-top:8px!important;text-align:center!important;color:#fff!important;background:var(--icm-blue)!important;border-radius:8px!important;padding:12px 16px!important;font-weight:800!important;}
.foot-note{max-width:1200px!important;margin:42px auto 0!important;padding-top:22px!important;border-top:1px solid rgba(255,255,255,.12)!important;color:rgba(255,255,255,.62)!important;font-size:13px!important;line-height:1.6!important;}
.foot-bottom{max-width:1200px!important;margin:22px auto 0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;color:rgba(255,255,255,.46)!important;font-size:13px!important;}
.foot-legal{display:flex!important;gap:18px!important;flex-wrap:wrap!important;}
.foot-legal a{color:rgba(255,255,255,.56)!important;text-decoration:none!important;}
.foot-social{display:flex!important;gap:10px!important;margin-top:18px!important;}
.foot-social a{width:38px!important;height:38px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.12)!important;color:#fff!important;text-decoration:none!important;transition:.2s!important;}
.foot-social a:hover{background:var(--icm-blue)!important;transform:translateY(-2px)!important;}
.foot-social svg{width:18px!important;height:18px!important;fill:currentColor!important;display:block!important;}
@media(max-width:980px){.nav-inner{padding:0 20px!important}.nav-menu{gap:18px!important;font-size:15px!important}.nav-menu a,.nav-drop-label{font-size:15px!important}.logo img{height:58px!important}.navc .btn-ob{display:none!important}.foot-inner{grid-template-columns:1fr 1fr!important}.foot-bottom{align-items:flex-start!important;flex-direction:column!important}}
@media(max-width:640px){.nav{height:auto!important}.nav-inner{height:auto!important;min-height:78px!important;flex-wrap:wrap!important;padding:10px 18px!important}.nav-menu{order:3;width:100%;justify-content:center}.nav-drop{padding:10px 0!important}.nav-drop-menu{top:34px!important;left:50%!important;transform:translate(-50%,8px)!important}.nav-drop:hover .nav-drop-menu{transform:translate(-50%,0)!important}.navc{margin-left:auto}.foot-inner{grid-template-columns:1fr!important}.foot{padding:48px 22px 24px!important}}

:root{--nav-height:86px!important;--icm-blue:#00AEEF;--icm-navy:#071a2f;--icm-border:#e6eaf2;--icm-soft:#f7f9fc;}
html{scroll-padding-top:86px!important;}
body{padding-top:86px!important;}
.nav{height:86px!important;min-height:86px!important;background:rgba(255,255,255,.985)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;border-bottom:1px solid var(--icm-border)!important;position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:9999!important;box-shadow:0 8px 28px rgba(7,26,47,.07)!important;padding:0!important;margin:0!important;}
.nav-inner{height:86px!important;max-width:1200px!important;margin:0 auto!important;padding:0 34px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:30px!important;}
.logo img{height:68px!important;width:auto!important;max-height:68px!important;object-fit:contain!important;display:block!important;}
.nav-menu{display:flex!important;align-items:center!important;gap:32px!important;font-size:18px!important;font-weight:850!important;color:#263548!important;line-height:1!important;height:100%!important;}
.nav-menu a,.nav-drop-label{font-size:18px!important;font-weight:850!important;color:#263548!important;text-decoration:none!important;}
.nav-drop{position:relative!important;padding:34px 0!important;}
.nav-drop-menu{top:72px!important;}
.navc{display:flex!important;align-items:center!important;gap:14px!important;flex-shrink:0!important;}
.navc .btn-p,.navc .btn-ob,.navc .btn-o,.navc .btn,.btn-p,.btn-ob,.btn-o,.btn{font-size:17px!important;font-weight:850!important;}
.navc .btn-p,.navc .btn{padding:14px 26px!important;border-radius:10px!important;}
.navc .btn-ob,.navc .btn-o{padding:12px 22px!important;border-radius:10px!important;}
.wa-float{position:fixed!important;right:22px!important;bottom:22px!important;z-index:9998!important;width:auto!important;height:56px!important;min-width:0!important;border-radius:999px!important;padding:0 20px 0 14px!important;background:#25D366!important;color:#fff!important;box-shadow:0 14px 34px rgba(0,0,0,.22)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;text-decoration:none!important;font-size:15px!important;font-weight:900!important;line-height:1!important;white-space:nowrap!important;transition:transform .2s,box-shadow .2s!important;}
.wa-float:hover{transform:translateY(-2px)!important;box-shadow:0 18px 42px rgba(0,0,0,.28)!important;}
.wa-float svg{width:30px!important;height:30px!important;fill:currentColor!important;display:block!important;flex:0 0 auto!important;}
@media(max-width:980px){body{padding-top:78px!important}.nav{height:78px!important;min-height:78px!important}.nav-inner{height:78px!important;padding:0 20px!important}.logo img{height:58px!important}.nav-menu{gap:18px!important}.nav-menu a,.nav-drop-label{font-size:15px!important}.navc .btn-ob{display:none!important}.navc .btn-p,.navc .btn{font-size:14px!important;padding:10px 16px!important}}
@media(max-width:640px){body{padding-top:92px!important}.nav{height:auto!important;min-height:92px!important}.nav-inner{height:auto!important;min-height:92px!important;flex-wrap:wrap!important;padding:10px 18px!important}.nav-menu{order:3;width:100%;justify-content:center;height:auto!important}.nav-drop{padding:10px 0!important}.nav-drop-menu{top:34px!important;left:50%!important;transform:translate(-50%,8px)!important}.nav-drop:hover .nav-drop-menu{transform:translate(-50%,0)!important}.navc{margin-left:auto}.wa-float{height:52px!important;padding:0 16px 0 12px!important;font-size:14px!important;right:16px!important;bottom:16px!important}.wa-float svg{width:28px!important;height:28px!important}}

/* === LOGO SIZE UNIFICATION — reference: master_ia.html === */
.logo img,
.nav .logo img {
  height: 68px !important;
  width: auto !important;
  max-height: 68px !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}

.foot-brand img,
.footer img {
  height: 68px !important;
  width: auto !important;
  max-height: 68px !important;
  object-fit: contain !important;
  object-position: left center !important;
  display: block !important;
}

@media (max-width: 980px) {
  .logo img,
  .nav .logo img,
  .foot-brand img,
  .footer img {
    height: 58px !important;
    max-height: 58px !important;
  }
}

@media (max-width: 640px) {
  .logo img,
  .nav .logo img,
  .foot-brand img,
  .footer img {
    height: 56px !important;
    max-height: 56px !important;
  }
}
/* ===== SALIDAS PROFESIONALES (NUEVO) ===== */

.career-section {
  background: #f5f7fb;
  border-top: 1px solid #e6eaf2;
  border-bottom: 1px solid #e6eaf2;
  margin-top: 80px;
  margin-bottom: 80px;
  border-radius: 22px;
  padding: 80px 60px;
  position: relative;
  overflow: hidden;
}

/* línea visual */
.career-section::before {
  content: '';
  display: block;
  width: 72px;
  height: 4px;
  background: #00AEEF;
  border-radius: 999px;
  margin-bottom: 26px;
}

/* tarjetas */
.career-card {
  background: #ffffff;
  border: 1px solid #e6eaf2;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 10px 30px rgba(7,26,47,.06);
  transition: transform .2s, box-shadow .2s;
}

.career-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 45px rgba(7,26,47,.12);
}

/* ===== DOCENTES PREMIUM — estilo IE / ESADE ===== */
.tc-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 28px !important;
  margin-top: 46px !important;
}

.tc {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 45px rgba(7, 26, 47, .08) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.tc:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 28px 70px rgba(7, 26, 47, .14) !important;
  border-color: rgba(0,174,239,.28) !important;
}

.tc-photo-card .tc-head,
.tc-head {
  position: relative !important;
  min-height: 300px !important;
  height: 300px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  background: #071a2f !important;
  overflow: hidden !important;
}

.teacher-photo {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 24% !important;
  opacity: 1 !important;
  filter: saturate(1.02) contrast(1.02) brightness(1.03) !important;
  transform: scale(1.01) !important;
}

.tc-head::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(
      to top,
      rgba(3, 14, 28, .82) 0%,
      rgba(3, 14, 28, .48) 26%,
      rgba(3, 14, 28, .12) 58%,
      rgba(3, 14, 28, 0) 100%
    ) !important;
}

.tc-head::after {
  display: none !important;
}

.tc-meta {
  position: relative !important;
  z-index: 2 !important;
  width: calc(100% - 32px) !important;
  margin: 0 16px 16px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: rgba(7, 26, 47, .78) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.22) !important;
}

.tc-name {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: -.2px !important;
}

.tc-role {
  color: #67d8f7 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 1.1px !important;
  text-transform: uppercase !important;
  margin-top: 6px !important;
}

.tc-body {
  padding: 24px 24px 26px !important;
}

.tc-body p {
  min-height: auto !important;
  color: #4b5563 !important;
  font-size: 15px !important;
  line-height: 1.68 !important;
  margin: 0 !important;
}

.tc-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 18px !important;
}

.tc-tag {
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #075985 !important;
  background: #eef8fd !important;
  border: 1px solid #c7ecfb !important;
  border-radius: 999px !important;
  padding: 6px 10px !important;
}

.tc::before {
  content: '' !important;
  display: block !important;
  height: 4px !important;
  background: linear-gradient(90deg, #00AEEF, #0d1a2f) !important;
}

@media (max-width: 768px) {
  .tc-grid {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .tc-photo-card .tc-head,
  .tc-head {
    min-height: 280px !important;
    height: 280px !important;
  }

  .teacher-photo {
    object-position: center 22% !important;
  }
}



/* =========================================================
   PRODUCCIÓN — Reparación de CSS externo completo
   ========================================================= */

/* Garantiza que el contenido no quede oculto por el menú fijo */
:root { --nav-height: 86px !important; }
html { scroll-padding-top: 86px !important; }
body { padding-top: 86px !important; }

/* Menú fijo consistente */
.nav {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
}

/* Docentes premium — fotos visibles y texto legible */
.tc-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 28px !important;
  margin-top: 46px !important;
}

.tc {
  background: #fff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 45px rgba(7, 26, 47, .08) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.tc:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 28px 70px rgba(7, 26, 47, .14) !important;
  border-color: rgba(0,174,239,.28) !important;
}

.tc-photo-card .tc-head,
.tc-head {
  position: relative !important;
  min-height: 300px !important;
  height: 300px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: flex-end !important;
  background: #071a2f !important;
  overflow: hidden !important;
}

.teacher-photo {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 24% !important;
  opacity: 1 !important;
  filter: saturate(1.02) contrast(1.02) brightness(1.03) !important;
  transform: scale(1.01) !important;
}

.tc-head::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    to top,
    rgba(3, 14, 28, .82) 0%,
    rgba(3, 14, 28, .48) 26%,
    rgba(3, 14, 28, .12) 58%,
    rgba(3, 14, 28, 0) 100%
  ) !important;
}

.tc-head::after {
  display: none !important;
}

.tc-meta {
  position: relative !important;
  z-index: 2 !important;
  width: calc(100% - 32px) !important;
  margin: 0 16px 16px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
  background: rgba(7, 26, 47, .78) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  box-shadow: 0 16px 36px rgba(0,0,0,.22) !important;
}

/* Salidas profesionales diferenciadas */
.career-section {
  background: #f5f7fb !important;
  border: 1px solid #e6eaf2 !important;
  border-radius: 22px !important;
  padding: 80px 60px !important;
  margin-top: 80px !important;
  margin-bottom: 80px !important;
  position: relative !important;
  overflow: hidden !important;
}

.career-section::before {
  content: '' !important;
  display: block !important;
  width: 72px !important;
  height: 4px !important;
  background: #00AEEF !important;
  border-radius: 999px !important;
  margin-bottom: 26px !important;
}

@media (max-width: 768px) {
  body { padding-top: 76px !important; }
  .tc-grid { grid-template-columns: 1fr !important; }
  .tc-photo-card .tc-head, .tc-head { height: 280px !important; min-height: 280px !important; }
  .career-section { padding: 56px 22px !important; margin-top: 56px !important; margin-bottom: 56px !important; }
}

.tc-photo-card .tc-head,
.teacher-photo,
.tc-head::before,
.tc-head::after {
  display: none !important;
}

.tc {
  height: auto !important;
  min-height: auto !important;
  display: block !important;
}

.tc-meta.teacher-meta-only {
  width: 100% !important;
  margin: 0 !important;
  padding: 22px 24px !important;
  background: linear-gradient(135deg,#071a2f 0%,#0f2f4f 100%) !important;
  border-radius: 18px 18px 0 0 !important;
  box-sizing: border-box !important;
}

.tc-body {
  height: auto !important;
  min-height: auto !important;
  padding: 24px !important;
}

.tc-body p {
  min-height: auto !important;
  height: auto !important;
}
.tc::before {
  display: none !important;
  content: none !important;
}