@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');

      /* ============================================================
   COLORES INSTITUCIONALES CVO · EDITAR SOLO ESTE BLOQUE
   ============================================================ */
      :root {
        --c1: #15B6E6;
        /* cyan   */
        --c2: #FFD20A;
        /* amarillo */
        --c3: #11B89B;
        /* verde  */
        --c4: #E6187F;
        /* magenta */
        --c5: #E51B2A;
        /* rojo   */
        --c6: #6C2D91;
        /* violeta */
        --ink: #0E0E10;
        --paper: #ffffff;
        --soft: #f6f6f8;
        --line: #e6e6ea;
        --muted: #6a6a72;
        --font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
        --maxw: 1140px;
        --strip: repeating-linear-gradient(90deg,
            var(--c1) 0 56px, var(--c2) 56px 112px, var(--c3) 112px 168px,
            var(--c4) 168px 224px, var(--c5) 224px 280px, var(--c6) 280px 336px);
      }

      * {
        box-sizing: border-box;
        margin: 0;
        padding: 0
      }

      html {
        scroll-behavior: smooth
      }

      body {
        font-family: var(--font);
        color: var(--ink);
        background: var(--paper);
        line-height: 1.55;
        -webkit-font-smoothing: antialiased
      }

      a {
        color: inherit;
        text-decoration: none
      }

      .wrap {
        max-width: var(--maxw);
        margin: 0 auto;
        padding: 0 26px
      }

      .strip {
        height: 9px;
        background: var(--strip)
      }

      .up {
        text-transform: uppercase;
        letter-spacing: .22em
      }

      /* ---------- NAV ---------- */
      header.nav {
        position: sticky;
        top: 0;
        z-index: 60;
        background: rgba(255, 255, 255, .94);
        backdrop-filter: blur(8px);
        border-bottom: 1px solid var(--line)
      }

      .nav .wrap {
        display: flex;
        align-items: center;
        gap: 20px;
        height: 68px
      }

      .brand {
        display: flex;
        align-items: center;
        gap: 12px;
        font-weight: 800
      }

      .brand .bars {
        display: flex;
        gap: 3px
      }

      .brand .bars i {
        width: 5px;
        height: 24px;
        border-radius: 1px;
        display: block
      }

      .brand b {
        font-size: 17px;
        letter-spacing: .18em
      }

      .brand small {
        display: block;
        font-size: 9.5px;
        letter-spacing: .28em;
        color: var(--muted);
        font-weight: 600
      }

      .nav nav {
        margin-left: auto;
        display: flex;
        gap: 2px
      }

      .nav nav a {
        font-size: 12px;
        font-weight: 600;
        letter-spacing: .12em;
        text-transform: uppercase;
        color: #33333a;
        padding: 9px 13px;
        border-radius: 8px;
        transition: .15s
      }

      .nav nav a:hover {
        color: var(--ink);
        background: var(--soft)
      }

      .btn {
        text-align: center;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        background: var(--ink);
        color: #fff;
        font-weight: 700;
        font-size: 12.5px;
        letter-spacing: .1em;
        text-transform: uppercase;
        padding: 12px 20px;
        border-radius: 999px;
        transition: .18s;
        border: none;
        cursor: pointer
      }

      .btn:hover {
        background: #000;
        transform: translateY(-1px)
      }

      .btn.alt {
        background: var(--c5)
      }

      .btn.alt:hover {
        background: #c4101f
      }

      .btn.ln {
        background: transparent;
        color: var(--ink);
        border: 1.5px solid var(--ink)
      }

      .btn.ln:hover {
        background: var(--ink);
        color: #fff
      }

      /* ---------- HERO ---------- */
      .hero {
        padding: 70px 0 40px;
        text-align: center;
        position: relative;
        overflow: hidden
      }

      .hero .filmwrap {
        display: flex;
        justify-content: center;
        margin-bottom: 34px
      }

      .hero svg.film {
        width: min(360px, 72vw);
        height: auto;
        filter: drop-shadow(0 18px 40px rgba(0, 0, 0, .18))
      }

      .hero .kick {
        font-size: 13px;
        font-weight: 700;
        color: var(--muted);
        letter-spacing: .3em;
        text-transform: uppercase;
        margin-bottom: 14px
      }

      .hero h1 {
        font-size: clamp(40px, 8vw, 84px);
        font-weight: 800;
        letter-spacing: .12em;
        line-height: .98;
        text-transform: uppercase
      }

      .hero .yr {
        font-size: clamp(15px, 2.4vw, 20px);
        font-weight: 600;
        letter-spacing: .45em;
        color: var(--muted);
        text-transform: uppercase;
        margin-top: 16px
      }

      .hero p.lead {
        max-width: 54ch;
        margin: 24px auto 0;
        color: #34343c;
        font-size: clamp(15px, 1.7vw, 18px)
      }

      /* ===== Antes de inscribirte ===== */
.phase{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:5px 13px;border-radius:999px;margin-bottom:12px}
.phase.p-in{background:#e3f6fd;color:#0a6a86}
.shead p.sub{max-width:64ch;margin:14px auto 0;color:#34343c;font-size:15px}
.reality{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.rc{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.rc .cap{height:8px;background:var(--ac,var(--c1))}
.rc .in{padding:26px 24px}
.rc .ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:24px;color:#fff;background:var(--ac,var(--c1));margin-bottom:14px}
.rc h3{font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.rc p{font-size:13.8px;color:#3a3a42}
.rc.a1{--ac:var(--c1)} .rc.a4{--ac:var(--c4)} .rc.a6{--ac:var(--c6)}
.pointer{margin-top:24px;border:1px solid var(--line);border-radius:14px;padding:16px 22px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;background:var(--soft);font-size:13.8px;color:#3a3a42}
.pointer a{font-weight:800;color:var(--ink);border-bottom:2px solid var(--c1);white-space:nowrap}
.callout{margin-top:24px;border-radius:18px;background:#111114;color:#fff;overflow:hidden}
.callout .cbar{height:8px;background:var(--strip)}
.callout .in{padding:28px 32px;display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.callout .q{font-size:34px;line-height:1;color:var(--c2);font-weight:800}
.callout .tx{flex:1;min-width:260px}
.callout h4{font-size:17px;font-weight:800;letter-spacing:.04em;margin-bottom:8px}
.callout p{font-size:14px;color:#d7d7de}
@media(max-width:880px){.reality{grid-template-columns:1fr}}

        .hero .ctas {
        margin-top: 30px;
        display: flex;
        gap: 14px;
        justify-content: center;
        flex-wrap: wrap
      }

      /* ---------- SECTION SCAFFOLD ---------- */
      section {
        padding: 62px 0
      }

      section.alt {
        background: var(--soft)
      }

      .shead {
        text-align: center;
        margin-bottom: 14px
      }

      .shead .ey {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: .3em;
        text-transform: uppercase;
        color: var(--muted)
      }

      .shead h2 {
        font-size: clamp(26px, 3.6vw, 40px);
        font-weight: 800;
        letter-spacing: .1em;
        text-transform: uppercase;
        margin-top: 8px
      }

      .barline {
        width: 64px;
        height: 6px;
        border-radius: 3px;
        margin: 14px auto 0;
        background: var(--strip)
      }

      /* ---------- PROCESO (3 pasos) ---------- */
      .steps {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
        margin-top: 46px
      }

      .step {
        border: 1px solid var(--line);
        border-radius: 18px;
        overflow: hidden;
        background: #fff;
        transition: .2s
      }

      .step:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 36px rgba(0, 0, 0, .08)
      }

      .step .cap {
        height: 8px
      }

      .step .in {
        padding: 30px 26px 30px
      }

      .step .num {
        font-size: 58px;
        font-weight: 900;
        line-height: 1;
        letter-spacing: -.02em
      }

      .step h3 {
        font-size: 15px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
        margin: 10px 0 12px
      }

      .step ul {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 8px
      }

      .step li {
        font-size: 13.8px;
        color: #3a3a42;
        padding-left: 20px;
        position: relative
      }

      .step li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 8px;
        width: 8px;
        height: 8px;
        border-radius: 2px
      }

      .s1 .num,
      .s1 li::before {
        color: var(--c1)
      }

      .s1 li::before {
        background: var(--c1)
      }

      .s1 .cap {
        background: var(--c1)
      }

      .s2 .num {
        color: var(--c4)
      }

      .s2 li::before {
        background: var(--c4)
      }

      .s2 .cap {
        background: var(--c4)
      }

      .s3 .num {
        color: var(--c6)
      }

      .s3 li::before {
        background: var(--c6)
      }

      .s3 .cap {
        background: var(--c6)
      }

      /* ---------- SEDES ---------- */
      .cards {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 22px;
        margin-top: 46px
      }

      .card {
        border-radius: 18px;
        overflow: hidden;
        background: #fff;
        color: var(--ink);
        display: flex;
        flex-direction: column;
        min-height: 240px;
        border: 2px solid var(--ac, var(--line))
      }

      .card .ch {
        padding: 26px 24px 14px
      }

      .card .ch .lbl {
        font-size: 11px;
        letter-spacing: .26em;
        text-transform: uppercase;
        font-weight: 600;
        color: var(--ac, var(--muted))
      }

      .card .ch h3 {
        font-size: 24px;
        font-weight: 800;
        letter-spacing: .06em;
        margin-top: 6px;
        text-transform: uppercase;
        color: var(--ac, var(--ink))
      }

      .card .cb {
        padding: 0 24px 26px;
        font-size: 13.6px;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 14px;
        color: #3a3a42
      }

      .card .chips {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
        margin-top: auto
      }

      .card .chips span {
        background: var(--soft);
        border: 1px solid var(--line);
        padding: 5px 11px;
        border-radius: 999px;
        font-size: 11.5px;
        font-weight: 600;
        color: #444
      }

      .bgc1 {
        --ac: var(--c1)
      }

      .bgc3 {
        --ac: var(--c3)
      }

      .bgc6 {
        --ac: var(--c6)
      }

      /* ---------- CRONOGRAMA ---------- */
      .cronos {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
        margin-top: 46px
      }

      .crono {
        border: 1px solid var(--line);
        border-radius: 18px;
        background: #fff;
        overflow: hidden
      }

      .crono>.h {
        padding: 18px 24px;
        color: #fff;
        font-size: 15px;
        font-weight: 800;
        letter-spacing: .12em;
        text-transform: uppercase;
        display: flex;
        align-items: center;
        gap: 10px
      }

      .crono.amba .h {
        background: var(--c1)
      }

      .crono.reg .h {
        background: var(--c3)
      }

      .crono ol {
        list-style: none
      }

      .crono li {
        display: flex;
        gap: 14px;
        align-items: center;
        padding: 13px 24px;
        border-top: 1px solid var(--line)
      }

      .crono li .nm {
        flex: 1;
        font-size: 13.6px;
        font-weight: 600
      }

      .crono li .nm small {
        display: block;
        font-weight: 500;
        color: var(--muted);
        font-size: 11.5px;
        letter-spacing: .02em
      }

      .tbc {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .05em;
        background: #fff3cf;
        color: #8a6200;
        padding: 4px 10px;
        border-radius: 7px;
        white-space: nowrap
      }

      .fix {
        font-size: 11.5px;
        font-weight: 700;
        background: #e3f3ea;
        color: #1c7a45;
        padding: 4px 10px;
        border-radius: 7px;
        white-space: nowrap
      }

      /* ---------- EMPEZAR ---------- */
      .empez {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 18px;
        margin-top: 46px
      }

      .emp {
        background: #fff;
        border: 1px solid var(--line);
        border-radius: 16px;
        padding: 24px 20px;
        text-align: center
      }

      .emp .ic {
        width: 54px;
        height: 54px;
        border-radius: 14px;
        display: grid;
        place-items: center;
        margin: 0 auto 14px;
        color: #fff;
        font-size: 24px;
        font-weight: 800
      }

      .emp h4 {
        font-size: 13px;
        font-weight: 800;
        letter-spacing: .08em;
        text-transform: uppercase;
        margin-bottom: 6px
      }

      .emp p {
        font-size: 13px;
        color: var(--muted)
      }

      .emp:nth-child(1) .ic {
        background: var(--c1)
      }

      .emp:nth-child(2) .ic {
        background: var(--c2);
        color: var(--ink)
      }

      .emp:nth-child(3) .ic {
        background: var(--c4)
      }

      .emp:nth-child(4) .ic {
        background: var(--c6)
      }

      .emp:nth-child(5) .ic {
        background: var(--c3)
      }

      .note {
        margin-top: 26px;
        text-align: center;
        font-size: 13px;
        color: var(--muted)
      }

      .note b {
        color: var(--ink)
      }

      /* ---------- FAQ ---------- */
      .faq {
        max-width: 880px;
        margin: 42px auto 0
      }

      details {
        border: 1px solid var(--line);
        border-radius: 12px;
        margin-bottom: 10px;
        background: #fff;
        overflow: hidden
      }

      details summary {
        cursor: pointer;
        font-weight: 700;
        font-size: 14.5px;
        padding: 16px 50px 16px 18px;
        position: relative;
        list-style: none
      }

      details summary::-webkit-details-marker {
        display: none
      }

      details summary::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 6px;
        background: var(--c1)
      }

      details:nth-child(3n) summary::before {
        background: var(--c4)
      }

      details:nth-child(3n+1) summary::before {
        background: var(--c3)
      }

      details:nth-child(3n+2) summary::before {
        background: var(--c6)
      }

      details summary::after {
        content: "+";
        position: absolute;
        right: 18px;
        top: 13px;
        font-size: 24px;
        font-weight: 300;
        color: var(--muted);
        transition: .2s
      }

      details[open] summary::after {
        transform: rotate(45deg)
      }

      details .a {
        padding: 0 18px 16px;
        color: var(--muted);
        font-size: 13.8px
      }

      details .a a {
        color: var(--ink);
        font-weight: 700;
        text-decoration: underline
      }

      /* ---------- CONTACTO ---------- */
      .contact {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
        margin-top: 46px
      }

      .cbox {
        border-radius: 16px;
        padding: 28px 24px;
        background: #fff;
        color: var(--ink);
        border: 2px solid var(--ac, var(--line))
      }

      .cbox:nth-child(1) {
        --ac: var(--c1)
      }

      .cbox:nth-child(2) {
        --ac: var(--c4)
      }

      .cbox:nth-child(3) {
        --ac: var(--ink)
      }

      .cbox .ic {
        font-size: 26px;
        margin-bottom: 12px
      }

      .cbox h3 {
        font-size: 13px;
        letter-spacing: .1em;
        text-transform: uppercase;
        margin-bottom: 6px;
        color: var(--ac, var(--ink))
      }

      .cbox a {
        font-weight: 700;
        font-size: 14px;
        word-break: break-all;
        color: var(--ink);
        border-bottom: 1px solid var(--line)
      }

      /* ---------- FOOTER ---------- */
      footer {
        background: var(--ink);
        color: #bdbdc6;
        padding: 46px 0 28px
      }

      footer .row {
        display: flex;
        justify-content: space-between;
        gap: 30px;
        flex-wrap: wrap;
        align-items: center
      }

      footer .logos {
        display: flex;
        align-items: center;
        gap: 26px;
        flex-wrap: wrap
      }

      footer .lg {
        display: flex;
        align-items: center;
        gap: 10px;
        color: #fff
      }

      footer .lg .bars {
        display: flex;
        gap: 2px
      }

      footer .lg .bars i {
        width: 4px;
        height: 20px;
        border-radius: 1px
      }

      footer .lg b {
        font-size: 13px;
        letter-spacing: .14em
      }

      footer .lg small {
        display: block;
        font-size: 9px;
        letter-spacing: .18em;
        color: #9a9aa4
      }

      footer .legal {
        margin-top: 26px;
        font-size: 11.5px;
        color: #7d7d86;
        border-top: 1px solid rgba(255, 255, 255, .1);
        padding-top: 18px
      }

      .phase{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:5px 13px;border-radius:999px;margin-bottom:12px}
      .phase.p-in{background:#e3f6fd;color:#0a6a86}
      .phase.p-post{background:#f3eefa;color:#5b2b86}
      .herodates{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px}
      .herodates span{font-size:12.5px;color:#34343c;background:var(--soft);border:1px solid var(--line);padding:8px 14px;border-radius:999px}
      .herodates b{font-weight:800;color:var(--ink);margin-right:4px}
      .navtoggle{display:none;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:10px;font-size:20px;color:var(--ink);cursor:pointer;place-items:center}
      .finalcta{text-align:center;background:var(--soft)}
      .finalcta .strip{width:64px;height:6px;border-radius:3px;margin:0 auto 20px;background:var(--strip)}
      .finalcta h2{font-size:clamp(24px,3.4vw,36px);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
      .finalcta p{max-width:52ch;margin:14px auto 24px;color:#34343c;font-size:15px}
      @media(max-width:880px) {
        .navtoggle{display:grid}
        .nav .wrap{position:relative;flex-wrap:nowrap}
        .nav nav {
          display: none;
          position:absolute;top:68px;left:0;right:0;
          flex-direction:column;gap:2px;
          background:#fff;border-bottom:1px solid var(--line);
          padding:10px 20px 16px;box-shadow:0 12px 24px rgba(0,0,0,.08)
        }
        .nav nav.open{display:flex}
        .nav nav a{padding:12px 8px}

        .steps,
        .cards,
        .cronos,
        .contact {
          grid-template-columns: 1fr
        }

        .empez {
          grid-template-columns: 1fr 1fr
        }
      }

      /* ============================================================
         SECCIONES NUEVAS · Cursada por sede + Documentación + Test modal
         ============================================================ */
      .shead p.sub{max-width:60ch;margin:14px auto 0;color:#34343c;font-size:15px}
      .sedeacc{max-width:920px;margin:40px auto 0}
      .grouplbl{font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);margin:26px 0 12px;display:flex;align-items:center;gap:10px}
      .grouplbl::before{content:"";width:22px;height:6px;border-radius:3px;background:var(--gc,var(--line))}
      .grouplbl.g1{--gc:var(--c1)} .grouplbl.g3{--gc:var(--c3)} .grouplbl.g6{--gc:var(--c6)}
      .sedeacc details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff;overflow:hidden}
      .sedeacc summary{cursor:pointer;list-style:none;padding:16px 52px 16px 22px;position:relative;display:flex;align-items:center;gap:12px}
      .sedeacc summary::-webkit-details-marker{display:none}
      .sedeacc summary::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--ac,var(--c1))}
      .sedeacc summary::after{content:"+";position:absolute;right:18px;top:12px;font-size:24px;font-weight:300;color:var(--muted);transition:.2s}
      .sedeacc details[open] summary::after{transform:rotate(45deg)}
      .sedeacc .sname{font-size:15.5px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
      .sedeacc .stag{margin-left:auto;font-size:11px;font-weight:600;color:#444;background:var(--soft);border:1px solid var(--line);padding:4px 11px;border-radius:999px;white-space:nowrap}
      .sedeacc .body{padding:4px 22px 20px;border-top:1px solid var(--line)}
      .sedeacc dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 26px;padding-top:16px}
      .sedeacc .rw{display:flex;gap:12px;align-items:flex-start}
      .sedeacc .rw .ic{width:20px;flex-shrink:0;color:var(--ac,var(--muted));font-size:15px;text-align:center;margin-top:1px}
      .sedeacc dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted)}
      .sedeacc dd{font-size:13.6px;font-weight:600;color:#2c2c34;margin-top:2px}
      .sedeacc dd small{display:block;font-weight:500;color:var(--muted);font-size:12px}
      .sedeacc .link{margin-top:16px;font-size:12.5px;font-weight:700;color:var(--ink);border-bottom:2px solid var(--ac,var(--line));display:inline-block}
      .sedeacc .a1{--ac:var(--c1)} .sedeacc .a3{--ac:var(--c3)} .sedeacc .a6{--ac:var(--c6)}
      .docgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:46px}
      .doccard{border:2px solid var(--ac,var(--line));border-radius:18px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
      .doccard .dh{padding:22px 24px 8px}
      .doccard .dh .lbl{font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--ac,var(--muted))}
      .doccard .dh h3{font-size:20px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;margin-top:6px;color:var(--ac,var(--ink))}
      .doccard ul{list-style:none;padding:8px 24px 24px;display:flex;flex-direction:column;gap:12px}
      .doccard li{display:flex;gap:12px;font-size:13.8px;color:#33333a;align-items:flex-start}
      .doccard li .ck{width:22px;height:22px;flex-shrink:0;border-radius:6px;background:var(--acsoft,#eef);color:var(--ac,var(--ink));display:grid;place-items:center;font-weight:800;font-size:13px;margin-top:1px}
      .doccard li b{font-weight:700}
      .doccard li small{display:block;color:var(--muted);font-weight:500;font-size:12px}
      .dc1{--ac:var(--c1);--acsoft:#e3f6fd}
      .dc4{--ac:var(--c4);--acsoft:#fce4f0}
      .docnote{margin-top:24px;border-radius:16px;background:#111114;color:#fff;padding:24px 26px;display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
      .docnote .big{font-size:26px;line-height:1}
      .docnote .tx{flex:1;min-width:240px;font-size:13.4px;color:#d7d7de}
      .docnote .tx b{color:#fff}
      .docnote .strip{width:100%;height:6px;border-radius:3px;background:var(--strip);margin-top:6px}
      .tovcta{max-width:820px;margin:0 auto;border-radius:20px;background:#111114;color:#fff;overflow:hidden}
      .tovcta .bars{display:flex;height:8px}
      .tovcta .bars i{flex:1}
      .tovcta .in{padding:38px 34px;text-align:center}
      .tovcta .kk{font-size:11px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:#9a9aa4}
      .tovcta h3{font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin:10px 0 8px}
      .tovcta p{font-size:14px;color:#c9c9d2;max-width:52ch;margin:0 auto 22px}
      .tovcta .meta{margin-top:18px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#7d7d86}
      .ov{position:fixed;inset:0;background:rgba(8,8,10,.72);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;padding:34px 18px;overflow:auto;z-index:200}
      .ov.open{display:flex}
      .ov .panel{background:#fff;width:min(820px,100%);border-radius:18px;overflow:hidden;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.4)}
      .ov .obar{display:flex;height:6px}
      .ov .obar i{flex:1}
      .ov .close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:none;background:rgba(255,255,255,.92);color:#111;font-size:20px;font-weight:700;cursor:pointer;display:grid;place-items:center;z-index:3}
      .ov .close:hover{background:#fff}
      .ov .oscroll{max-height:calc(100vh - 100px);overflow:auto}
      @media(max-width:880px){
        .docgrid{grid-template-columns:1fr}
        .sedeacc dl{grid-template-columns:1fr}
      }
    

            #tov-container * {
              box-sizing: border-box;
            }

            #tov-container .tov-header {
              text-align: center;
              padding: 30px 20px 20px;
              background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
              border-radius: 16px 16px 0 0;
              color: #fff;
            }

            #tov-container .tov-bar {
              display: flex;
              height: 6px;
            }

            #tov-container .tov-bar span {
              flex: 1;
            }

            #tov-container .tov-cc {
              background: #00C8FF
            }

            .tov-cy {
              background: #FFE600
            }

            .tov-ct {
              background: #00D4AA
            }

            .tov-cf {
              background: #E91E8C
            }

            .tov-cr {
              background: #E6002E
            }

            .tov-cp {
              background: #5B1F8D
            }

            .tov-co {
              background: #FF8C00
            }

            #tov-container .tov-logo {
              font-size: 28px;
              font-weight: 900;
              letter-spacing: 6px;
              margin-bottom: 6px;
            }

            #tov-container .tov-subtitle {
              font-size: 13px;
              font-weight: 400;
              letter-spacing: 2px;
              opacity: 0.8;
              text-transform: uppercase;
            }

            #tov-container .tov-intro {
              padding: 20px 24px;
              background: #f8f8f8;
              border-left: 4px solid #00C8FF;
              margin: 0;
              font-size: 14px;
              line-height: 1.7;
              color: #444;
            }

            #tov-container .tov-body {
              background: #fff;
              padding: 0;
            }

            #tov-container .tov-progress-wrap {
              padding: 16px 24px 0;
            }

            #tov-container .tov-progress-bar {
              height: 8px;
              background: #eee;
              border-radius: 4px;
              overflow: hidden;
            }

            #tov-container .tov-progress-fill {
              height: 100%;
              background: linear-gradient(90deg, #00C8FF, #5B1F8D);
              border-radius: 4px;
              transition: width 0.4s ease;
              width: 0%;
            }

            #tov-container .tov-progress-text {
              font-size: 11px;
              color: #999;
              margin-top: 4px;
              text-align: right;
            }

            #tov-container .tov-question-block {
              padding: 20px 24px;
              border-bottom: 1px solid #f0f0f0;
            }

            #tov-container .tov-q-number {
              font-size: 11px;
              font-weight: 700;
              letter-spacing: 3px;
              text-transform: uppercase;
              color: #5B1F8D;
              margin-bottom: 6px;
            }

            #tov-container .tov-q-text {
              font-size: 15px;
              font-weight: 600;
              line-height: 1.5;
              margin-bottom: 14px;
              color: #111;
            }

            #tov-container .tov-options {
              display: flex;
              flex-direction: column;
              gap: 8px;
            }

            #tov-container .tov-opt {
              padding: 12px 16px;
              border: 2px solid #e8e8e8;
              border-radius: 10px;
              font-size: 13.5px;
              line-height: 1.5;
              cursor: pointer;
              transition: all 0.2s ease;
              background: #fff;
              display: flex;
              align-items: flex-start;
              gap: 10px;
            }

            #tov-container .tov-opt:hover {
              border-color: #00C8FF;
              background: #f0faff;
            }

            #tov-container .tov-opt.selected {
              border-color: #5B1F8D;
              background: #f3eefa;
            }

            #tov-container .tov-opt-letter {
              width: 24px;
              height: 24px;
              border-radius: 50%;
              background: #eee;
              display: flex;
              align-items: center;
              justify-content: center;
              font-size: 11px;
              font-weight: 700;
              color: #666;
              flex-shrink: 0;
            }

            #tov-container .tov-opt.selected .tov-opt-letter {
              background: #5B1F8D;
              color: #fff;
            }

            #tov-container .tov-nav {
              padding: 16px 24px 24px;
              display: flex;
              justify-content: space-between;
              align-items: center;
            }

            #tov-container .tov-btn {
              padding: 12px 32px;
              border: none;
              border-radius: 8px;
              font-size: 14px;
              font-weight: 600;
              cursor: pointer;
              transition: all 0.2s ease;
              letter-spacing: 0.5px;
            }

            #tov-container .tov-btn-next {
              background: #5B1F8D;
              color: #fff;
            }

            #tov-container .tov-btn-next:hover {
              background: #4a1875;
            }

            #tov-container .tov-btn-next:disabled {
              background: #ccc;
              cursor: not-allowed;
            }

            #tov-container .tov-btn-back {
              background: #f0f0f0;
              color: #555;
            }

            #tov-container .tov-btn-back:hover {
              background: #e0e0e0;
            }

            #tov-container .tov-results {
              padding: 30px 24px;
              display: none;
            }

            #tov-container .tov-result-title {
              font-size: 22px;
              font-weight: 800;
              text-align: center;
              margin-bottom: 6px;
            }

            #tov-container .tov-result-sub {
              font-size: 13px;
              color: #888;
              text-align: center;
              margin-bottom: 28px;
            }

            #tov-container .tov-result-top {
              text-align: center;
              padding: 24px;
              background: linear-gradient(135deg, #5B1F8D, #E91E8C);
              border-radius: 16px;
              color: #fff;
              margin-bottom: 24px;
            }

            #tov-container .tov-result-top-label {
              font-size: 11px;
              letter-spacing: 3px;
              text-transform: uppercase;
              opacity: 0.8;
            }

            #tov-container .tov-result-top-name {
              font-size: 32px;
              font-weight: 900;
              margin: 8px 0;
              text-transform: uppercase;
              letter-spacing: 2px;
            }

            #tov-container .tov-result-top-pct {
              font-size: 48px;
              font-weight: 900;
            }

            #tov-container .tov-result-top-desc {
              font-size: 13px;
              line-height: 1.6;
              margin-top: 12px;
              opacity: 0.9;
            }

            #tov-container .tov-ranking {
              display: flex;
              flex-direction: column;
              gap: 10px;
            }

            #tov-container .tov-rank-item {
              display: flex;
              align-items: center;
              gap: 12px;
              padding: 12px 16px;
              background: #f8f8f8;
              border-radius: 10px;
            }

            #tov-container .tov-rank-pos {
              width: 28px;
              height: 28px;
              border-radius: 50%;
              background: #ddd;
              display: flex;
              align-items: center;
              justify-content: center;
              font-size: 12px;
              font-weight: 800;
              color: #666;
              flex-shrink: 0;
            }

            #tov-container .tov-rank-item:nth-child(1) .tov-rank-pos {
              background: #FFE600;
              color: #333;
            }

            #tov-container .tov-rank-item:nth-child(2) .tov-rank-pos {
              background: #00D4AA;
              color: #fff;
            }

            #tov-container .tov-rank-item:nth-child(3) .tov-rank-pos {
              background: #00C8FF;
              color: #fff;
            }

            #tov-container .tov-rank-name {
              font-weight: 700;
              font-size: 14px;
              flex: 1;
            }

            #tov-container .tov-rank-bar-wrap {
              flex: 2;
              height: 10px;
              background: #e8e8e8;
              border-radius: 5px;
              overflow: hidden;
            }

            #tov-container .tov-rank-bar {
              height: 100%;
              border-radius: 5px;
              transition: width 1s ease;
            }

            #tov-container .tov-rank-pct {
              font-weight: 800;
              font-size: 14px;
              width: 45px;
              text-align: right;
            }

            #tov-container .tov-restart {
              display: block;
              margin: 24px auto 0;
              padding: 12px 40px;
              background: #1a1a1a;
              color: #fff;
              border: none;
              border-radius: 8px;
              font-size: 14px;
              font-weight: 600;
              cursor: pointer;
            }

            #tov-container .tov-restart:hover {
              background: #333;
            }

            #tov-container .tov-hidden {
              display: none !important;
            }