
    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    TOKENS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    :root{
    --black:  #0e0d0b;
    --ink:    #1c1a16;
    --slate:  #064c23;
    --muted:  #6a6560;
    --light:  #b0a99e;
    --border: #e0dbd3;
    --paper:  #f8f5f0;
    --cream:  #fdfbf8;
    --gold:   #c09a52;
    --gold-d: #9a7838;
    --gold-l: #ddb96a;

    /* Per-program accent — 5 diplomados */
    --fin-h:  216; --fin:  hsl(216deg 55% 40%);  --fin-l:  hsl(216 55% 94%);
    --ing-h:  230; --ing:  hsl(230deg 55% 30%);  --ing-l:  hsl(230 55% 94%);
    --bas-h:  152; --bas:  hsl(152deg 42% 34%);  --bas-l:  hsl(152 42% 94%);
    --dat-h:  258; --dat:  hsl(258deg 45% 42%);  --dat-l:  hsl(258 45% 94%);
    --bi-h:    24; --bi:   hsl(24deg  70% 42%);  --bi-l:   hsl(24  70% 94%);
    --com-h:  190; --com:  hsl(190deg 60% 34%);  --com-l:  hsl(190 60% 94%);

    --serif: 'Playfair Display', Georgia, serif;
    --sans:  'Lato', system-ui, sans-serif;
    --radius: 10px;
    --shadow: 0 2px 12px rgba(14,13,11,.08), 0 8px 32px rgba(14,13,11,.05);
    --shadow-lg: 0 8px 40px rgba(14,13,11,.14), 0 2px 8px rgba(14,13,11,.06);
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    BASE
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    *,*::before,*::after{box-sizing:border-box;padding:0}
    html{scroll-behavior:smooth;font-size:16px}
    body{font-family:var(--sans);background:var(--cream);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}

    /* subtle paper noise */
    body::after{
    content:'';position:fixed;inset:0;pointer-events:none;z-index:0;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
    background-size:300px;opacity:1;
    }

    .wrap{
        max-width:100%;
        margin:0 clamp(.5rem, 2vw, 2rem);
        padding:0 clamp(.5rem, 2vw, 2rem);
        position:relative;
        z-index:1
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    HERO (gradiente + overlay)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .hero {
      padding: 4rem 0 0 0;
      position: relative;
      background-image: url('../imagenes/finanzas/finanzas.jpeg');
      background-size: cover;
      background-position: center top;
      background-repeat: no-repeat;
    }

    .hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background:
        radial-gradient(ellipse at 72% 38%, rgba(192,154,82,.13) 0%, transparent 60%),
        radial-gradient(ellipse at 8% 85%, rgba(26,42,61,.85) 0%, transparent 50%);
      z-index: 0;
    }

    .hero::after {
      content: '';
      position: absolute;
      inset: 0;
      pointer-events: none;
      background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 79px,
        rgba(192, 154, 82, .04) 80px
      );
      z-index: 0;
    }

    .hero .hero-inner {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      max-width: 740px;
      margin: 0 clamp(0.5rem, 6vh, 8rem);
      padding: 72px 40px 64px;
      gap: 0;
    }

    .hero .hero-inner .au:first-child {
      display: flex;
      flex-direction: column;
      gap: 0;
    }

    .hero .hero-eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(255, 255, 255, 0.09);
      border: 0.5px solid rgba(255, 255, 255, 0.22);
      border-radius: 20px;
      padding: 5px 14px;
      font-family: 'DM Sans', sans-serif;
      font-size: 11px;
      font-weight: 400;
      color: rgba(255, 255, 255, 0.70);
      letter-spacing: 0.06em;
      text-transform: uppercase;
      width: fit-content;
      margin-bottom: 20px;
    }

    .hero .hero-eyebrow::before {
      content: '';
      display: inline-block;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #d4a843;
      flex-shrink: 0;
    }

    .hero .hero-inner h1 {
      font-family: 'Playfair Display', Georgia, serif;
      font-weight: 600;
      font-size: clamp(38px, 5vw, 56px);
      line-height: 1.1;
      color: #ffffff;
      letter-spacing: -0.5px;
      margin: 0 0 12px;
    }

    .hero .hero-hub-name {
      display: inline-block;
      font-family: var(--sans);
      font-size: clamp(.85rem, 2vw, 1.1rem);
      font-weight: 700;
      letter-spacing: 0.03em;
      color: rgba(255, 255, 255, 0.85);
      margin-bottom: 14px;
    }

    .hero .hero-inner h1 em {
      font-style: italic;
      font-weight: 400;
      color: #d4a843;
    }

    .hero .hero-sub {
      font-family: 'DM Sans', sans-serif;
      font-size: clamp(.85rem, 2vw, 1.1rem);
      line-height: 1.40;
      color: rgba(255, 255, 255, 0.70);
      font-weight: 300;
      max-width: 560px;
      margin: 0 0 28px;
    }

    .hero .hero-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 0.6rem;
      margin-bottom: 28px;
    }

    .hero .pill {
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      padding: 0.32rem 0.9rem;
      border-radius: 100px;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.12);
      color: rgba(255, 255, 255, 0.7);
    }

    .hero .hero-stats {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
      width: 100%;
    }

    .hero .stat {
      background: rgba(212, 168, 67, 0.12);
      border: 0.5px solid rgba(212, 168, 67, 0.30);
      border-radius: 10px;
      padding: 8px 8px;
      display: flex;
      flex-direction: column;
      gap: 6px;
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
    }

    .hero .stat-n {
      font-family: 'Playfair Display', Georgia, serif;
      font-size: 32px;
      font-weight: 600;
      color: #d4a843;
      line-height: 1;
      letter-spacing: -0.5px;
    }

    .hero .stat-l {
      font-family: 'DM Sans', sans-serif;
      font-size: clamp(.85rem, 2vw, 1.1rem);
      color: rgba(255, 255, 255, 0.60);
      font-weight: 400;
      line-height: 1.4;
    }

    @media (max-width: 768px) {
      .hero .hero-inner {
        padding: 48px 24px 48px;
        margin: 0 4rem 0 .5rem
      }
      .hero .hero-stats {
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width: 480px) {
      .hero .hero-stats {
        grid-template-columns: 1fr 1fr;
      }
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    STICKY NAV
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .prog-nav{
    position: sticky;
    top: 0;
    z-index: 1100;
    background:rgba(253,251,248,.96);
    backdrop-filter:blur(14px) saturate(1.2);
    border-bottom:1px solid var(--border);
    }
    .prog-nav-inner{
    max-width:100%;
    margin:0 2rem;
    padding:0 2rem;
    display:flex;
    overflow-x:auto;
    scrollbar-width:none;
    }
    .prog-nav-inner::-webkit-scrollbar{display:none}
    .prog-nav a{
    display:flex;align-items:center;gap:.55rem;
    padding:.9rem 1.3rem;
    font-size: clamp(.8rem, 2vw, .95rem);
    font-weight:700;letter-spacing:.04em;
    color:var(--muted);text-decoration:none;white-space:nowrap;
    border-bottom:2px solid transparent;
    transition:color .2s,border-color .2s;
    }
    .prog-nav a:hover,.prog-nav a.is-active{color:var(--gold-d)}
    .prog-nav a.is-active{border-bottom-color:var(--gold)}
    .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    HUB OVERVIEW CARDS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .hub{padding:4rem 0}
    .sec-label{
    font-size:.68rem;font-weight:700;letter-spacing:.2em;
    text-transform:uppercase;color:var(--gold-d);
    display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem;
    }
    .sec-label::before{content:'';width:1.8rem;height:1px;background:var(--gold)}
    .sec-title{
    font-family:var(--serif);
    font-size:clamp(1.8rem,3.5vw,2.75rem);
    font-weight:400;line-height:1.2;color:var(--slate);
    margin-bottom:.6rem;
    }
    .sec-sub{
        font-size: clamp(.85rem, 2vw, 1.1rem);
        color:var(--muted);
        max-width:70%;
    }
    .sec-sub2{
        font-size:clamp(.85rem, 2vw,1.1rem);
        color:var(--muted);
        max-width:90%;
    }

    .card-grid{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:1.25rem
    }
    @media(max-width:1000px){.card-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:580px){.card-grid{grid-template-columns:1fr}}

    .pcard{
    background:#fff;border:1px solid var(--border);border-radius:var(--radius);
    overflow:hidden;text-decoration:none;color:inherit;
    display:flex;flex-direction:column;
    transition:transform .25s,box-shadow .25s;
    }
    .pcard:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
    .pcard-stripe{height:3px}
    .pcard-body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
    .pcard-level{font-size:.64rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.4rem}
    .pcard h3{font-family:var(--serif);font-size:1.15rem;font-weight:500;line-height:1.25;color:var(--slate);margin-bottom:.7rem}
    .pcard-desc{
        font-size: clamp(.95rem, 2.2vw, 1rem);
        color:var(--muted);
        line-height:1.65;
        flex:1
    }
    .pcard-meta{
    margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);
    display:flex;flex-wrap:wrap;gap:.4rem;
    }
    .tag{
    font-size:.66rem;font-weight:700;letter-spacing:.06em;
    padding:.18rem .6rem;border-radius:100px;
    background:var(--paper);border:1px solid var(--border);color:var(--muted);
    }
    .tag-price{
        background:#fff8ec;
        color:var(--gold-d);
        border-color:rgba(192,154,82,.35);
    }
    .pcard-link{
    margin-top:1rem;font-size:.76rem;font-weight:700;letter-spacing:.06em;
    display:flex;align-items:center;gap:.4rem;transition:gap .2s;
    }
    .pcard-link::after{content:'→'}
    .pcard-link:hover{gap:.7rem}

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    OBJETIVOS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .obj-sec{
        padding:5rem 0;
        border-top:1px solid var(--border);
        background:var(--paper);
    }
    .obj-grid{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:1.1rem;
        margin-top:2.5rem
    }
    @media(max-width:1000px){.obj-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:580px){.obj-grid{grid-template-columns:1fr}}
    .obj-card{
        background:#fff;
        border-radius:var(--radius);
        box-shadow:var(--shadow);
        padding:1.8rem 1.5rem;
        display:flex;flex-direction:column;gap:.85rem;
        text-decoration:none;color:inherit;
        border-top:3px solid transparent;
        transition:transform .25s,box-shadow .25s;
        cursor:pointer;
    }
    .obj-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
    .obj-icon{font-size:1.8rem;line-height:1}
    .obj-goal{font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--slate);line-height:1.35}
    .obj-desc{
        font-size:clamp(.85rem, 2vw, .95rem);
        color:var(--muted);
        line-height:1.65;
        flex:1
    }
    .obj-cta{
        font-size:.72rem;font-weight:700;letter-spacing:.07em;
        text-transform:uppercase;
        display:flex;align-items:center;gap:.35rem;margin-top:.3rem
    }
    .obj-nudge{
        margin-top:2.8rem;
        background:var(--slate);
        border-radius:var(--radius);
        padding:2rem 2.5rem;
        display:flex;align-items:center;justify-content:space-between;
        gap:2rem;flex-wrap:wrap
    }
    .obj-nudge h3{font-family:var(--serif);font-size:1.2rem;color:#fff;margin-bottom:.35rem}
    .obj-nudge p{
        font-size:clamp(.85rem, 2vw, .95rem);
        color:rgba(255,255,255,.62);
        line-height:1.6;max-width:500px
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    PROGRAM SECTIONS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .prog-sec{
    padding:4rem 0;
    border-top:1px solid var(--border);
    position:relative;
    }
    .prog-sec:nth-child(even){background:#fff}

    .prog-head{
    display:grid;grid-template-columns:1.6fr 1fr;gap:3.5rem;
    align-items:start;margin-bottom:3.5rem;
    }
    @media(max-width:860px){.prog-head{grid-template-columns:1fr}}

    .badge-pill{
    display:inline-flex;align-items:center;gap:.5rem;
    font-size:.67rem;font-weight:700;letter-spacing:.16em;
    text-transform:uppercase;padding:.3rem .9rem;border-radius:100px;
    margin-bottom:.9rem;
    }
    .prog-head h2{
    font-family:var(--serif);
    font-size:clamp(1.8rem,4vw,3rem);
    font-weight:400;line-height:1.1;color:var(--slate);
    margin-bottom:1rem;
    }
    .prog-head h2 em{font-style:italic}
    .prog-lead{
        font-size: clamp(.9rem, 2vw, 1.05rem);
        color:var(--muted);
        line-height:1.85;
        max-width:100%;
    }

    /* info box */
    .info-box{
    background:var(--paper);border:1px solid var(--border);
    border-radius:var(--radius);overflow:hidden;
    }
    .info-box-head{
    padding:.85rem 1.25rem;
    font-size:.7rem;font-weight:700;letter-spacing:.14em;
    text-transform:uppercase;color:#fff;
    }
    .info-row{
    display:flex;justify-content:space-between;align-items:baseline;
    padding:.7rem 1.25rem;border-bottom:1px solid var(--border);
    font-size:.84rem;
    }
    .info-row:last-child{border-bottom:none}
    .info-row .lbl{color:var(--light);font-size:.74rem;letter-spacing:.04em}
    .info-row .val{font-weight:700;color:var(--slate);text-align:right;max-width:62%}
    .info-box-note{
        font-size:.67rem;color:var(--light);
        line-height:1.5;padding:.7rem 1.25rem 0
    }

    /* content cols */
    .cols-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
    .cols-2{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
    @media(max-width:820px){.cols-3,.cols-2{grid-template-columns:1fr}}

    .content-box{
    background:#fff;border:1px solid var(--border);
    border-radius:var(--radius);padding:1.5rem;
    }
    .prog-sec:nth-child(even) .content-box{background:var(--paper)}
    .content-box h4{
    font-family:var(--serif);
    font-size:1.05rem;
    font-weight:500;
    color:var(--slate);
    margin-bottom:.85rem;
    padding-bottom:.6rem;
    border-bottom:1px solid var(--border);
    }
    .content-box ul{list-style:none}
    .content-box ul li{
    font-size: clamp(.85rem, 2vw, .95rem);
    color:var(--muted);
    padding:.32rem 0;border-bottom:1px solid var(--border);
    display:flex;align-items:flex-start;gap:.55rem;
    }
    .content-box ul li:last-child{border-bottom:none}
    .content-box ul li::before{
    content:'—';color:var(--gold);font-size:.78rem;
    flex-shrink:0;margin-top:.12rem;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    FAQ POR PROGRAMA
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .faq-wrap{margin-top:3rem}
    .faq-title{
    font-family:var(--serif);font-size:1.5rem;font-weight:400;
    color:var(--slate);margin-bottom:1.25rem;
    }
    details{
    border:1px solid var(--border);border-radius:var(--radius);
    margin-bottom:.6rem;background:#fff;transition:box-shadow .2s;
    }
    .prog-sec:nth-child(even) details{background:var(--paper)}
    details[open]{box-shadow:var(--shadow)}
    summary{
    padding:1rem 1.3rem;
    font-size:.92rem;font-weight:700;color:var(--slate);
    cursor:pointer;list-style:none;
    display:flex;justify-content:space-between;align-items:center;
    transition:color .2s;user-select:none;
    }
    summary::-webkit-details-marker{display:none}
    summary::after{
    content:'+';font-size:1.3rem;font-weight:300;
    color:var(--gold);flex-shrink:0;margin-left:1rem;
    transition:transform .3s;
    }
    details[open] summary::after{transform:rotate(45deg)}
    details[open] summary{color:var(--gold-d)}
    .faq-ans{
    padding:.1rem 1.3rem 1.1rem;
    font-size:.88rem;color:var(--muted);line-height:1.8;
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    GEO CONTENT
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .geo-sec{
        padding:4rem 0;
        border-top:1px solid var(--border)
    }
    .geo-inner{ /* ocupa el ancho completo del .wrap */ }
    .geo-inner h2{
        font-family:var(--serif);
        font-size:clamp(1.4rem,3vw,1.8rem);
        color:var(--slate);
        margin-bottom:.9rem
    }
    .geo-inner h3{
        font-family:var(--serif);
        font-size:clamp(1.05rem,2.4vw,1.2rem);
        color:var(--slate);
        margin:1.4rem 0 .5rem;
        padding-top:1rem;
        border-top:1px solid var(--border)
    }
    .geo-inner p{
        font-size:clamp(.85rem, 2vw, .95rem);
        color:var(--muted);
        line-height:1.82;margin-bottom:.85rem
    }
    .geo-inner strong{color:var(--ink);font-weight:700}

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    TRUST (E-E-A-T)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .trust-sec{
        padding:4rem 0;
        background:var(--slate);
        border-top:1px solid var(--border)
    }
    .trust-sec .sec-title{color:#fff}
    .trust-sec .sec-label{color:var(--gold);justify-content:center}
    .trust-sec .sec-label::before{background:var(--gold)}
    .trust-grid{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:1.3rem;
        margin-top:2rem
    }
    @media(max-width:960px){.trust-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:580px){.trust-grid{grid-template-columns:1fr}}
    .trust-card{
        background:rgba(255,255,255,.05);
        border:1px solid rgba(192,154,82,.18);
        border-radius:var(--radius);
        padding:1.5rem
    }
    .trust-card .icon{font-size:1.6rem;margin-bottom:.6rem}
    .trust-card h3{
        font-family:var(--serif);
        font-size:clamp(.95rem, 2vw, 1.05rem);
        color:var(--gold-l);
        margin-bottom:.45rem
    }
    .trust-card p{
        font-size:clamp(.85rem, 2vw, .95rem);
        color:rgba(255,255,255,.58);
        line-height:1.65
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    GLOBAL FAQ
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .faq-sec{
        padding:4rem 0;
        background:var(--paper);
        border-top:1px solid var(--border)
    }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    CTA BANNER
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .cta-banner{
        background:var(--slate);
        padding:4.5rem 0;
        text-align:center
    }
    .cta-banner h2{
        font-family:var(--serif);
        font-size:clamp(1.6rem,3.4vw,2.1rem);
        color:#fff;margin-bottom:.7rem
    }
    .cta-banner p{
        color:rgba(255,255,255,.65);
        margin-bottom:2rem;
        font-size:clamp(.9rem, 2vw, 1rem)
    }
    .cta-banner-btns{
        display:flex;justify-content:center;align-items:center;
        gap:1rem;flex-wrap:wrap
    }
    .btn-gold{
        display:inline-flex;align-items:center;gap:.5rem;
        padding:.85rem 1.8rem;
        background:var(--gold);
        border-radius:var(--radius);
        font-size:.83rem;font-weight:700;
        letter-spacing:.09em;text-transform:uppercase;
        color:#fff;text-decoration:none;
        transition:filter .2s,transform .15s;
        border:none;cursor:pointer
    }
    .btn-gold:hover{filter:brightness(1.1);transform:translateY(-1px)}
    .btn-ghost{
        display:inline-flex;align-items:center;gap:.5rem;
        padding:.8rem 1.6rem;
        border:2px solid rgba(192,154,82,.5);
        border-radius:var(--radius);
        font-size:.8rem;font-weight:700;
        letter-spacing:.09em;text-transform:uppercase;
        color:rgba(255,255,255,.8);
        text-decoration:none;
        transition:border-color .2s,color .2s;
        background-color:#008c44
    }
    .btn-ghost:hover{border-color:var(--gold-l);color:#fff}

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    ★ FLOATING REGISTRATION FORMS (CRM style)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

    .float-trigger{
    position:fixed;
    right:0;
    z-index:300;
    display:none; /* shown by JS */
    transform:translateX(100%);
    transition:transform .4s cubic-bezier(.16,1,.3,1);
    }
    .float-trigger.is-visible{
    transform:translateX(0);
    }

    .float-tab{
    position:absolute;
    right:10%;
    top:50%;
    transform:translateY(-50%);
    display:flex;align-items:center;gap:.55rem;
    padding:.7rem .9rem;
    border:none;
    border-radius:6px 6px;
    cursor:pointer;
    font-family:var(--sans);
    font-size:.82rem;font-weight:700;letter-spacing:.08em;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    color:#fff;white-space:nowrap;
    box-shadow:-3px 0 12px rgba(14,13,11,.18);
    transition:padding .2s;
    }
    .float-tab:hover{padding-left:1.2rem}
    .float-tab svg{width:14px;height:14px;flex-shrink:0}

    .float-panel{
    width:450px;
    background:#fff;
    box-shadow:var(--shadow-lg);
    border-radius:4px 0 0 4px;
    overflow:hidden;
    }
    .float-panel-head{
    padding:1.1rem 1.25rem;
    display:flex;align-items:center;justify-content:space-between;
    }
    .float-panel-head .title{
    font-family:var(--serif);font-size:1.05rem;font-weight:500;color:#fff;
    line-height:1.2;
    }
    .float-panel-head .subtitle{
    font-size:.68rem;color:rgba(255,255,255,.7);margin-top:.2rem;font-weight:400;
    }
    .float-close{
    background:none;border:none;cursor:pointer;
    color:rgba(255,255,255,.7);font-size:1.3rem;line-height:1;
    padding:0 0 0 .5rem;transition:color .2s;flex-shrink:0;
    }
    .float-close:hover{color:#fff}

    .float-body{padding:1.25rem}
    .float-field{margin-bottom:.85rem}
    .float-field label{
    display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;
    text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;
    }
    .float-field input,
    .float-field select{
    width:100%;padding:.65rem .85rem;
    border:1px solid var(--border);border-radius:var(--radius);
    background:var(--paper);
    font-family:var(--sans);font-size:.88rem;color:var(--ink);
    outline:none;transition:border-color .2s,box-shadow .2s;
    appearance:none;
    }
    .float-field input::placeholder{color:var(--light)}
    .float-field input:focus,
    .float-field select:focus{
    border-color:var(--gold);
    box-shadow:0 0 0 3px rgba(192,154,82,.12);
    }
    .float-field select{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236a6560'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right .85rem center;
    padding-right:2rem;
    }
    .float-field select option{color:var(--ink)}

    .float-btn{
    width:100%;padding:.75rem;
    border:none;border-radius:var(--radius);
    font-family:var(--sans);font-size:.82rem;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;color:#fff;
    cursor:pointer;transition:filter .2s,transform .15s;
    }
    .float-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
    .float-btn:active{transform:translateY(0)}

    .float-note{
    font-size:.67rem;color:var(--light);text-align:center;
    margin-top:.75rem;line-height:1.5;
    }

    .float-success{
    display:none;text-align:center;padding:2rem 1.25rem 1.75rem;
    }
    .float-success .check{
    width:44px;height:44px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    margin:0 auto .85rem;font-size:1.2rem;color:#fff;
    }
    .float-success h4{
    font-family:var(--serif);font-size:1.1rem;
    color:var(--slate);margin-bottom:.4rem;
    }
    .float-success p{font-size:.84rem;color:var(--muted)}

    /* vertical positioning per form */
    #flt-fin1{top:calc(35vh - 160px)}
    #flt-ing{top:calc(35vh - 160px)}
    #flt-bas{top:calc(35vh - 160px)}
    #flt-dat{top:calc(35vh - 160px)}
    #flt-bi{top:calc(35vh - 160px)}
    #flt-com{top:calc(35vh - 160px)}

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    COLOR UTILS (5 diplomados)
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .c-fin{color:var(--fin)}  .bg-fin{background:var(--fin)}  .bg-fin-l{background:var(--fin-l)}
    .c-ing{color:var(--ing)}  .bg-ing{background:var(--ing)}  .bg-ing-l{background:var(--ing-l)}
    .c-bas{color:var(--bas)}  .bg-bas{background:var(--bas)}  .bg-bas-l{background:var(--bas-l)}
    .c-dat{color:var(--dat)}  .bg-dat{background:var(--dat)}  .bg-dat-l{background:var(--dat-l)}
    .c-bi{color:var(--bi)}    .bg-bi{background:var(--bi)}    .bg-bi-l{background:var(--bi-l)}
    .c-com{color:var(--com)}  .bg-com{background:var(--com)}  .bg-com-l{background:var(--com-l)}

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    FOOTER
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    footer{
    background:#0c0b09;color:rgba(255,255,255,.35);
    padding:2rem 0;text-align:center;font-size:.76rem;
    }
    footer a{color:var(--gold-l);text-decoration:none}
    footer p{margin:.25rem 0}

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    RESPONSIVE
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:900px){
     .float-panel{width:400px}
     }
     @media(max-width:560px){
     .float-panel{width:calc(100vw - 32px);max-height:90vh;overflow-y:auto}
     .float-tab{font-size:.75rem;padding:.6rem .7rem}
     .float-body{padding:1rem}
     .float-field input,.float-field select{font-size:.85rem;padding:.55rem .7rem}
     }

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    ENTER ANIMATIONS
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    @keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
    .au{animation:fadeUp .65s ease both}
    .d1{animation-delay:.1s}.d2{animation-delay:.2s}.d3{animation-delay:.3s}.d4{animation-delay:.4s}

    .prog-sec[hidden] {
    display: none;
    }

    .prog-nav a.active {
    font-weight: 700;
    border-bottom: 2px solid currentColor;
    }

    .lista-fa{
        list-style:none;
        padding-left:0;
    }
    .lista-fa li{
        position:relative;
        padding-left:15px;
        font-size: 17px;
        font-family: 'Avenir', serif;
        line-height: 1.8;
    }

    .lista-fa li::before{
        content: "\f111"; /* icono círculo */
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        position:absolute;
        left:0;
        top:6px;
        font-size:8px;
        color:#008c44;
    }

    .dnone{
      display: none;
    }

    .grecaptcha-badge {
        visibility: hidden;
        opacity: 0;
        transition: opacity .3s ease;
    }
    .grecaptcha-badge.is-visible {
        visibility: visible;
        opacity: 1;
    }

    .header-icon {
        color: #f4c06a;
        transition: all 0.3s ease;
    }

    .header-icon:hover {
        color: #ffffff;
        transform: scale(1.1);
    }

    /* Mobile menu utilities (header psicologia) */
    #mobile-menu {
        transition: transform 0.3s ease-in-out;
    }
    #mobile-menu.hidden-panel {
        transform: translateX(100%);
    }

    /* uic-logo-filter-white utility */
    .uic-logo-filter-white{
        filter: brightness(0) invert(1);
    }
