:root{
      --bg:#ffffff; --fg:#0b1022; --muted:#5b6574; --line:#e9eef5; --accent:#0b5cff; --accent-2:#2143ff;
      --card:#f7f9fc; --ok:#16a34a; --warn:#f59e0b; --danger:#ef4444;
      --warm:#f97316; --warm-2:#ea580c; --warm-soft:#fff4ec; --warm-line:#fed7aa;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Arial, sans-serif;color:var(--fg);background:var(--bg);line-height:1.55}
    a{color:var(--accent);text-underline-offset:2px}
    .container{width:min(1120px,92vw);margin-inline:auto}
    img{max-width:100%}

    header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
    .nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
    .brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
    .brand-logo{height:38px;width:auto;display:block}
    .brand-sub{display:block;font-size:11px;color:var(--muted);font-weight:600;letter-spacing:.3px;padding-left:12px;border-left:1px solid var(--line);line-height:1.2;max-width:90px}
    @media (max-width:480px){.brand-sub{display:none}}
    nav.main a{color:#1f2937;text-decoration:none;padding:10px 12px;border-radius:10px;font-size:15px}
    nav.main a:hover{background:#f2f5fb}
    nav.main a.active{color:var(--accent);font-weight:600}
    .btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;border:1px solid var(--line);background:var(--accent);color:#fff;text-decoration:none;font-weight:600;cursor:pointer;transition:transform .08s ease, filter .15s ease}
    .btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
    .btn.secondary{background:#fff;color:var(--accent)}
    .btn.ghost{background:#fff;border-color:var(--line);color:#111827}
    .btn.warm{background:var(--warm);border-color:var(--warm);color:#fff}
    .btn.warm:hover{background:var(--warm-2)}
    .menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer}

    /* Breadcrumb */
    .crumb{padding:14px 0;font-size:.85rem;color:var(--muted)}
    .crumb a{color:var(--muted);text-decoration:none}
    .crumb a:hover{color:var(--accent)}

    /* Hero ficha */
    .chero{background:radial-gradient(800px 380px at 85% -20%, rgba(11,92,255,.12), transparent), linear-gradient(#fff,#fbfcff);padding:14px 0 40px;border-bottom:1px solid var(--line)}
    .chero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:start}
    @media (max-width:880px){.chero-grid{grid-template-columns:1fr}}
    .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
    .tag{font-size:.74rem;font-weight:700;border-radius:6px;padding:4px 9px}
    .tag.level{color:var(--accent-2);background:#eef3ff}
    .tag.lang{color:var(--muted);background:#f0f2f6}
    .tag.area{color:#0e7490;background:#e0f7fb}
    .chero h1{font-size:clamp(26px,3.6vw,38px);margin:6px 0 12px;letter-spacing:-.5px;line-height:1.15}
    .chero .lead{color:var(--muted);font-size:clamp(15px,1.6vw,17px);max-width:60ch}
    .quickfacts{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}
    .qf{display:flex;flex-direction:column}
    .qf b{font-size:1.1rem}.qf span{font-size:.8rem;color:var(--muted)}

    /* Tarjeta precio sticky */
    .pricecard{border:1px solid var(--line);border-radius:18px;background:#fff;padding:22px;box-shadow:0 12px 32px -18px rgba(11,16,34,.25);position:sticky;top:84px}
    .pricecard h3{margin:0 0 4px;font-size:1.05rem}
    .pricecard .opt{border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:12px}
    .pricecard .opt.star{border-color:var(--warm-line);background:var(--warm-soft)}
    .pricecard .opt .name{font-weight:700;font-size:.95rem;display:flex;justify-content:space-between;align-items:center}
    .pricecard .opt .badge{font-size:.66rem;background:var(--warm);color:#fff;border-radius:999px;padding:2px 8px;font-weight:700}
    .pricecard .opt .pr{font-size:1.5rem;font-weight:800;color:var(--warm-2);margin:6px 0 2px}
    .pricecard .opt .pr small{font-size:.72rem;color:var(--muted);font-weight:500}
    .pricecard .opt p{margin:6px 0 0;font-size:.83rem;color:var(--muted)}
    .pricecard .btn{width:100%;justify-content:center;margin-top:14px}
    .pricecard .micro{font-size:.74rem;color:var(--muted);text-align:center;margin-top:12px}

    section{padding:44px 0;border-bottom:1px solid var(--line)}
    h2{font-size:clamp(20px,2.6vw,26px);margin:0 0 16px;letter-spacing:-.3px}
    .twocol{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    @media (max-width:760px){.twocol{grid-template-columns:1fr}}
    .card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}
    .card h3{margin:0 0 8px;font-size:1.05rem}
    ul{margin:8px 0 0 18px}li{margin:7px 0}
    .check{list-style:none;padding:0;margin:0}
    .check li{padding-left:28px;position:relative;margin:10px 0}
    .check li::before{content:"✓";position:absolute;left:0;color:var(--ok);font-weight:700}

    /* Programa acordeón */
    .prog details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden}
    .prog summary{padding:15px 18px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
    .prog summary::-webkit-details-marker{display:none}
    .prog summary::after{content:"+";color:var(--accent);font-size:1.3rem;font-weight:400}
    .prog details[open] summary::after{content:"−"}
    .prog details[open] summary{border-bottom:1px solid var(--line);background:#fafbfe}
    .prog .body{padding:14px 18px}
    .prog .body ul{margin:0 0 0 18px}

    /* Examen / créditos */
    .exam{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    @media (max-width:760px){.exam{grid-template-columns:1fr}}
    .exam .item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center}
    .exam .item .big{font-size:1.6rem;font-weight:800;color:var(--accent)}
    .exam .item span{font-size:.85rem;color:var(--muted)}

    /* Formador */
    .trainer{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;background:linear-gradient(180deg,#0b1022,#141a33);color:#eef2ff;border-radius:20px;padding:30px;position:relative;overflow:hidden}
    @media (max-width:680px){.trainer{grid-template-columns:1fr;text-align:center}}
    .trainer::after{content:"";position:absolute;right:-50px;bottom:-60px;width:240px;height:240px;background:radial-gradient(circle,rgba(11,92,255,.4),transparent 70%);pointer-events:none}
    .trainer .ph{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#1f3a8a,#0b5cff);display:flex;align-items:center;justify-content:center;font-size:2.4rem;font-weight:800;color:#fff;border:3px solid rgba(255,255,255,.2);margin:0 auto} .trainer .ph img{width:100%;height:100%;object-fit:cover;border-radius:50%}
    .trainer h3{margin:0 0 4px;color:#fff;font-size:1.3rem}
    .trainer .role{color:#9fb4ff;font-weight:600;font-size:.92rem;margin-bottom:10px}
    .trainer p{color:#c7cfe6;font-size:.95rem;margin:0}
    .trainer .creds{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
    .trainer .creds span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:4px 11px;font-size:.78rem}

    /* FAQ */
    .faq details{border-bottom:1px solid var(--line);padding:4px 0}
    .faq summary{padding:14px 0;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
    .faq summary::-webkit-details-marker{display:none}
    .faq summary::after{content:"+";color:var(--accent);font-size:1.2rem}
    .faq details[open] summary::after{content:"−"}
    .faq .body{padding:0 0 14px;color:var(--muted);font-size:.93rem}

    /* CTA final ficha */
    .ficcta{background:var(--warm-soft);border:1px solid var(--warm-line);border-radius:20px;padding:32px;text-align:center}
    .ficcta h2{margin:0 0 8px}
    .ficcta p{color:var(--muted);max-width:54ch;margin:0 auto 20px}
    .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

    footer{padding:34px 0;color:var(--muted);font-size:.9rem}
    .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px;margin-bottom:22px}
    @media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
    footer a{color:var(--muted);text-decoration:none;display:block;margin:5px 0}
    footer a:hover{color:var(--accent)}
    .legal{font-size:12.5px;border-top:1px solid var(--line);padding-top:18px;line-height:1.6}

    @media (max-width:840px){
      nav.main{display:none;position:absolute;top:60px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:10px 6vw 16px}
      nav.main.open{display:flex}
      nav.main a{padding:12px 8px;border-radius:8px}
      .menu-toggle{display:inline-flex}
      .nav .btn.head-cta{display:none}
      .pricecard{position:static}
    }