/* Z-CFA landing v3. Values: visuales_v3/landing/SPEC.md. Mobile values below 1024, desktop from 1024. */
@font-face{font-family:Geon;src:url(/assets/Geon-Medium-latin.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+2212,U+2215,U+2248,U+2318,U+FEFF,U+FFFD}
@font-face{font-family:Geon;src:url(/assets/Geon-Bold-latin.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2190-21FF,U+2212,U+2215,U+2248,U+2318,U+FEFF,U+FFFD}
@font-face{font-family:Geon;src:url(/assets/Geon-Medium-ext.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-0130,U+0132-0151,U+0154-017F}
@font-face{font-family:Geon;src:url(/assets/Geon-Bold-ext.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0100-0130,U+0132-0151,U+0154-017F}
/* metric-matched fallback from zrive-web base.css, so the Geon swap does not reflow */
@font-face{font-family:GeonFallback;src:local(Arial),local(ArialMT),local("Liberation Sans"),local(LiberationSans),local(Roboto),local("Helvetica Neue");font-weight:500;size-adjust:102%;ascent-override:92%;descent-override:25%;line-gap-override:2.5%}
@font-face{font-family:GeonFallback;src:local("Arial Bold"),local(Arial-BoldMT),local("Liberation Sans Bold"),local(LiberationSans-Bold),local("Roboto Bold"),local("Helvetica Neue Bold");font-weight:600;size-adjust:98%;ascent-override:96%;descent-override:26%;line-gap-override:2.6%}

:root{
  --color-surface:#FFFFFF;--color-pale:#F3F5FB;--color-line:#E4E8F2;--color-muted:#535F82;--color-ink:#14204A;
  --color-navy:#283F7D;--color-ground:#0D1633;--color-blue:#517FFD;--color-sky:#7B9FFF;--color-blue-text:#3560DB;
  --color-on-dark:#C9D3F2;--color-prog-cfa:#261C0D;--color-prog-cfa-accent:#E8B773;--color-bar-line:#273764;
  /* AA adjustments (white text on #517FFD is 3.62:1; sky on navy 3.93:1) */
  --color-action:#3B66E6;--color-action-hover:#3560DB;--color-sky-on-navy:#A9C0FF;
  --font:Geon,GeonFallback,system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:16px;--sec:64px;
  color-scheme:light;
}
@media (min-width:768px){:root{--pad:32px}}
@media (min-width:1024px){:root{--pad:40px;--sec:112px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--color-surface);color:var(--color-ink);font:500 16px/24px var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none}
h1,h2,h3,p,ul,ol,figure{margin:0;padding:0}
ul,ol{list-style:none}
h1,h2,h3{font-weight:600}
img,svg{display:block;max-width:100%}
a{color:inherit}
:focus-visible{outline:2px solid var(--color-navy);outline-offset:2px}
.nav :focus-visible,.hero :focus-visible,.foot :focus-visible,.wpanel :focus-visible{outline-color:#fff}
#main:focus{outline:none}
.wrap{max-width:calc(1200px + 2*var(--pad));margin:0 auto;padding-inline:max(var(--pad),env(safe-area-inset-left,0px)) max(var(--pad),env(safe-area-inset-right,0px))}
.skip{position:absolute;left:8px;top:-80px;z-index:10;background:#fff;color:var(--color-ink);padding:10px 16px;border-radius:8px;font-weight:600;text-decoration:none}
.skip:focus{top:8px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* flag: «Solicita tu plaza» hidden until Wednesday */
html[data-solicitud="oculta"] [data-solicitud-cta]{display:none!important}
html:not([data-solicitud="oculta"]) [data-sin-solicitud]{display:none!important}

/* eyebrow */
.eyebrow{font-size:14px;line-height:20px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-blue-text)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:999px;text-decoration:none;font:600 17px/22px var(--font);padding:16px 28px;border:0;cursor:pointer;transition:background-color .1s cubic-bezier(.23,1,.32,1),transform .1s cubic-bezier(.23,1,.32,1)}
.btn:active{transform:scale(.98)}
.btn-p{background:var(--color-action);color:#fff}
.btn-p:hover{background:var(--color-action-hover)}
.btn-o{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px var(--color-sky);padding:15px 24px;font-size:15px;line-height:20px;text-align:left}
.btn-o:hover{background:rgb(123 159 255/12%)}
.btn-n{background:var(--color-navy);color:#fff}
.btn-n:hover{background:#22366D}
.btn-w{background:#fff;color:var(--color-navy)}
.btn-w:hover{background:var(--color-pale)}
.btn-nav{font-size:13px;line-height:18px;padding:8px 14px}
@media (min-width:1024px){.btn-nav{font-size:15px;line-height:20px;padding:10px 20px}}
/* with «Solicita tu plaza» hidden, the webinar button is the hero's primary */
html[data-solicitud="oculta"] .btn-web{background:var(--color-action);box-shadow:none}
html[data-solicitud="oculta"] .btn-web:hover{background:var(--color-action-hover)}

/* 1 nav */
.nav{background:var(--color-ground);border-bottom:1px solid var(--color-bar-line)}
.nav .wrap{display:flex;align-items:center;gap:12px;padding-block:16px}
.nav .logo img{width:92px;height:18px}
.badge{background:var(--color-prog-cfa);color:var(--color-prog-cfa-accent);font-size:12px;line-height:16px;font-weight:600;text-transform:uppercase;padding:4px 12px;border-radius:999px;letter-spacing:.02em}
.nav .btn{margin-left:auto}
@media (min-width:1024px){.nav .wrap{padding-block:24px;gap:16px}.nav .logo img{width:122px;height:24px}}

/* 2 hero */
.hero{background:var(--color-ground);color:#fff;padding-block:40px 56px}
.hero .wrap{display:grid;gap:40px}
.hero-t{display:grid;gap:24px;align-content:start}
.hero .eyebrow{color:var(--color-sky);font-size:12px;line-height:18px}
.hero h1{font-size:36px;line-height:40px;letter-spacing:-.02em}
.hero .acc{color:var(--color-sky)}
.hero .sub{font-size:17px;line-height:26px;color:var(--color-on-dark)}
.ctas{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-start}
.data{font-size:14px;line-height:20px;color:var(--color-on-dark)}
.hero-v{width:100%;max-width:480px;height:auto;aspect-ratio:480/440}
@media (min-width:1024px){
  .hero{padding-block:72px 96px}
  .hero .wrap{grid-template-columns:minmax(0,620px) minmax(0,480px);justify-content:space-between;gap:64px;align-items:center}
  .hero .eyebrow{font-size:14px;line-height:20px}
  .hero h1{font-size:56px;line-height:60px}
  .hero .sub{font-size:20px;line-height:30px}
}

/* shared section */
.sec{padding-block:var(--sec)}
.pale{background:var(--color-pale)}
.col-h{display:grid;gap:16px;align-content:start}
.col-h h2,.jt h2{font-size:28px;line-height:34px;letter-spacing:-.02em;color:var(--color-ink)}
.lead{font-size:16px;line-height:24px;color:var(--color-muted)}
.lead p+p{margin-top:16px}
.row2{display:grid;gap:32px}
@media (min-width:1024px){
  .col-h h2,.jt h2{font-size:40px;line-height:46px}
  .col-h{max-width:560px}
  .col-h.wide{max-width:760px}
  .lead{font-size:18px;line-height:28px}
  .row2{grid-template-columns:560px minmax(0,1fr);gap:80px}
}

/* 3 metodo */
.metodo .wrap{display:grid;gap:32px}
.metodo .col-t{padding-top:0}
.cards{display:grid;gap:16px}
.cards li{background:var(--color-pale);border-radius:14px;padding:28px;display:grid;gap:10px;align-content:start}
.cards .num{font-size:14px;line-height:20px;font-weight:600;color:var(--color-blue-text);letter-spacing:.06em}
.cards h3{font-size:20px;line-height:26px;color:var(--color-ink)}
.cards p{color:var(--color-muted)}
.cards .dk{background:var(--color-navy)}
.cards .dk .num{color:var(--color-sky-on-navy)}
.cards .dk h3{color:#fff}
.cards .dk p{color:var(--color-on-dark)}
@media (min-width:1024px){
  .metodo .wrap{gap:48px}
  .metodo .col-t{padding-top:36px}
  .cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
}

/* 4 calendario */
#calendario .wrap{display:grid;gap:32px}
.tl{display:grid;gap:16px}
.tl li{display:grid;grid-template-columns:20px 1fr;column-gap:16px;row-gap:4px}
.tl .dot{grid-row:span 2;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--color-navy);margin-top:3px}
.tl .first .dot{background:var(--color-blue);box-shadow:none}
.tl .last .dot{background:var(--color-prog-cfa-accent);box-shadow:none}
.tl strong{font-size:20px;line-height:26px;font-weight:600;color:var(--color-ink)}
.tl span:not(.dot){color:var(--color-muted)}
@media (min-width:1024px){
  #calendario .wrap{gap:56px}
  .tl{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
  .tl li{position:relative;display:flex;flex-direction:column;padding-right:16px}
  .tl .dot{margin:0 0 18px}
  .tl li:not(:last-child)::after{content:"";position:absolute;left:20px;right:0;top:9px;height:2px;background:var(--color-navy)}
  .tl span:not(.dot){margin-top:4px}
}

/* 5 precio */
.precio .split{gap:40px}
.pcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.pcard{border:1.5px solid var(--color-navy);border-radius:14px;padding:24px;display:grid;gap:4px;align-content:start}
.pl{font-size:13px;line-height:20px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}
.pf{font-size:26px;line-height:32px;font-weight:600;color:var(--color-ink);letter-spacing:-.01em}
.pcard p:last-child{font-size:15px;line-height:22px;color:var(--color-muted)}
.note{margin-top:8px;color:var(--color-muted)}
.panel{background:var(--color-pale);border-radius:20px;padding:24px;display:grid;gap:28px;align-content:start;justify-items:start}
.panel h3{font-size:20px;line-height:26px;color:var(--color-ink)}
.steps{display:grid;gap:20px}
.steps li{display:grid;grid-template-columns:32px 1fr;gap:16px;align-items:start}
.sn{width:32px;height:32px;border-radius:50%;background:var(--color-navy);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:600}
.sn.b{background:var(--color-action)}
.st{font-size:18px;line-height:24px;font-weight:600;color:var(--color-ink);padding-top:4px}
.ss{font-size:15px;line-height:22px;color:var(--color-muted);margin-top:2px}
@media (min-width:1024px){
  .precio .split{gap:80px}
  .pf{font-size:32px;line-height:38px}
  .panel{padding:40px}
}

/* 6 jorge */
.jorge .wrap{display:grid;gap:32px}
.photo{width:120px;height:120px;border-radius:50%;object-fit:cover;background:#E9EDF7}
.jt{display:grid;gap:16px}
.bio{font-size:18px;line-height:28px;font-weight:600;color:var(--color-ink)}
.errs{display:grid;gap:16px;margin-top:8px}
.errs li{background:#fff;border-radius:14px;padding:20px 24px;color:var(--color-ink)}
@media (min-width:1024px){
  .jorge .wrap{grid-template-columns:200px minmax(0,1fr);gap:64px;align-items:start}
  .photo{width:200px;height:200px}
  .jt{gap:20px}
  .errs{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* 7 webinar */
.web{padding-block:16px 48px}
.wpanel{background:var(--color-navy);color:#fff;border-radius:20px;padding:32px 24px;display:grid;gap:24px}
.wt{display:grid;gap:16px;align-content:start}
.wt .eyebrow{color:var(--color-sky-on-navy);font-size:12px;line-height:18px}
.wt h2{font-size:26px;line-height:32px;letter-spacing:-.02em}
.wt p:last-child{color:var(--color-on-dark)}
.wform .fields{display:grid;gap:16px}
.field{display:grid;gap:6px}
.field label{font-size:15px;line-height:22px;font-weight:600;color:#fff}
.field input{height:52px;width:100%;padding:0 16px;border:1.5px solid transparent;border-radius:12px;background:#fff;color:var(--color-ink);font:500 17px/22px var(--font)}
.field input:focus-visible{outline:2px solid #fff;outline-offset:2px}
.field input[aria-invalid="true"]{border-color:#C2453F}
.consent{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:15px;line-height:22px;color:var(--color-on-dark)}
.consent input{width:22px;height:22px;margin:0;accent-color:var(--color-sky)}
.consent a{color:#fff}
.wform .btn{justify-self:start;margin-top:8px}
.msg{font-size:15px;line-height:22px}
.msg:empty{display:none}
.msg.ok{background:#E9F6EF;color:#17794F;padding:12px 16px;border-radius:12px;font-weight:600;margin-top:4px}
.msg.err{background:#FBECEB;color:#A3352F;padding:12px 16px;border-radius:12px;margin-top:16px}
.wform.sent .fields{display:none}
@media (min-width:1024px){
  .web{padding-block:96px}
  .wpanel{padding:56px 64px;gap:64px;grid-template-columns:minmax(0,680px) minmax(280px,1fr);align-items:center}
  .wt .eyebrow{font-size:14px;line-height:20px}
  .wt h2{font-size:36px;line-height:42px}
}

/* 8 faq */
.faq{padding-block:16px 64px}
.faq-r{gap:32px}
.qa{border-bottom:1px solid var(--color-line)}
.q{border-top:1px solid var(--color-line);padding:24px 0;display:grid;gap:8px}
.q h3{font-size:19px;line-height:26px;color:var(--color-ink)}
.q p{color:var(--color-muted)}
@media (min-width:1024px){
  .faq{padding-block:16px 112px}
  .faq-r{grid-template-columns:400px minmax(0,1fr);gap:80px}
  .faq-h{position:sticky;top:24px;align-self:start}
}

/* 9 footer */
.foot{background:var(--color-ground);color:var(--color-on-dark);padding-block:40px}
.foot .wrap{display:grid;gap:24px}
.fr{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.fr img{width:92px;height:18px}
.fr a{color:#fff;font-size:15px;line-height:22px;font-weight:600;text-decoration:none;padding-block:11px}
.fr a:hover{text-decoration:underline}
.foot hr{margin:0;border:0;border-top:1px solid var(--color-navy)}
.tm{font-size:13px;line-height:20px;color:var(--color-on-dark)}
.legal{display:flex;flex-wrap:wrap;column-gap:24px;font-size:13px;line-height:20px}
.legal a{color:var(--color-on-dark);display:inline-block;padding-block:12px}
@media (min-width:1024px){.foot{padding-block:56px}.fr img{width:122px;height:24px}}

/* simple pages (gracias, 404) */
.page{background:var(--color-ground);color:#fff;padding-block:72px 96px;min-height:60vh}
.page .wrap{display:grid;gap:24px;max-width:calc(760px + 2*var(--pad))}
.page h1{font-size:36px;line-height:40px;letter-spacing:-.02em}
.page p{color:var(--color-on-dark);font-size:18px;line-height:28px}
@media (min-width:1024px){.page h1{font-size:56px;line-height:60px}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media (min-width:1024px){.tl li:last-child{padding-right:0}}
