
/* Concepto: el recorrido del estudiante como una ruta con estaciones.
   La ruta es el único elemento protagonista; todo lo demás es sobrio, alineado a la izquierda y sin tarjetas repetidas. */
:root{
  color-scheme: dark;
  --bg:#0D1726; --band:#111E31; --surface:#15233A; --line:#26374F;
  --fg:#EEF2F7; --muted:#A6B3C6; --brand:#F2B544; --route:#38BDF8;
  --alert:#F2B544; --alert-soft:rgba(242,181,68,.14);
  --btn:#F2B544; --btn-fg:#0B1F3A; --btn2-line:#3A4E6D;
  --display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --body:"Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;
  --mark:"Manrope", "Segoe UI", system-ui, sans-serif;
  --wrap:1180px;
}
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    color-scheme: light;
    --bg:#F5F7FA; --band:#EAEFF5; --surface:#FFFFFF; --line:#D5DDE8;
    --fg:#0B1F3A; --muted:#4A5A71; --brand:#0369A1; --route:#0284C7;
    --alert:#A16207; --alert-soft:rgba(202,138,4,.12);
    --btn:#0B1F3A; --btn-fg:#FFFFFF; --btn2-line:#9FB0C6;
  }
}
:root[data-theme="light"]{
  color-scheme: light;
  --bg:#F5F7FA; --band:#EAEFF5; --surface:#FFFFFF; --line:#D5DDE8;
  --fg:#0B1F3A; --muted:#4A5A71; --brand:#0369A1; --route:#0284C7;
  --alert:#A16207; --alert-soft:rgba(202,138,4,.12);
  --btn:#0B1F3A; --btn-fg:#FFFFFF; --btn2-line:#9FB0C6;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--brand)}
a:focus-visible,button:focus-visible{outline:3px solid var(--alert);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--display);color:var(--fg);text-wrap:balance;margin:0}
h1{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.04;font-weight:800;letter-spacing:-.025em}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.1;font-weight:700;letter-spacing:-.02em}
h3{font-size:1.3rem;line-height:1.25;font-weight:700;letter-spacing:-.01em}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.section{padding-block:clamp(72px,9vw,120px)}
.band{background:var(--band)}
.intro{max-width:62ch;color:var(--muted);font-size:1.15rem;margin-top:18px}
.muted{color:var(--muted)}

/* Botones */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 24px;border-radius:12px;font-family:var(--body);font-weight:700;font-size:1.02rem;text-decoration:none;background:var(--btn);color:var(--btn-fg);border:2px solid var(--btn)}
.btn:hover{filter:brightness(1.07)}
.btn.ghost{background:transparent;color:var(--fg);border-color:var(--btn2-line)}
.btn.ghost:hover{border-color:var(--fg)}
.btn svg{flex:0 0 20px}

/* Encabezado */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--bg)}

.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.logo span{font-family:var(--mark);font-weight:800;font-size:1.45rem;letter-spacing:-.02em}
.logo svg rect,.logo svg path{stroke:var(--route)}


/* Hero */
.hero{padding-block:clamp(56px,8vw,104px) clamp(64px,8vw,112px)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(40px,6vw,88px);align-items:center}
.hero p.lead{font-size:1.25rem;color:var(--muted);max-width:34ch;margin-top:24px}
.hero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.hero .proof{margin-top:28px;font-size:.98rem;color:var(--muted);max-width:46ch}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* La ruta vertical del hero: el elemento protagonista */
.route{position:relative;list-style:none;margin:0;padding:8px 0 8px 0}
.route::before{content:"";position:absolute;left:21px;top:30px;bottom:30px;width:4px;border-radius:2px;background:linear-gradient(var(--route),var(--route))}
.route li{position:relative;display:grid;grid-template-columns:46px 1fr;gap:18px;align-items:center;padding:12px 0}
.stop{width:46px;height:46px;border-radius:50%;background:var(--bg);border:4px solid var(--route);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:1.05rem;color:var(--fg);position:relative;z-index:1}
.route li:last-child .stop{background:var(--route);color:var(--btn-fg)}
.route strong{display:block;font-family:var(--display);font-size:1.3rem;font-weight:700;line-height:1.2}
.route small{display:block;color:var(--muted);font-size:1rem;line-height:1.4}
.route li.risk .stop{border-color:var(--alert)}
.route li.risk .flag{display:inline-block;margin-top:6px;padding:3px 10px;border-radius:999px;background:var(--alert-soft);color:var(--alert);font-size:.85rem;font-weight:700}
.route-caption{margin-top:10px;font-size:.92rem;color:var(--muted);padding-left:64px}

/* Retos: lista con reglas, no tarjetas */
.issues{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin-top:48px;border-top:1px solid var(--line)}
.issue{display:grid;grid-template-columns:40px 1fr;gap:18px;padding:30px 0;border-bottom:1px solid var(--line)}
.issue svg{stroke:var(--route)}
.issue p{color:var(--muted);margin-top:8px;max-width:48ch}
@media (max-width:760px){.issues{grid-template-columns:1fr}}

.nudge{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:48px;padding:26px 30px;border-radius:16px;border:1px solid var(--line);background:var(--surface)}
.nudge p{font-family:var(--display);font-size:1.25rem;font-weight:700;max-width:40ch;line-height:1.3}

/* SRM: la misma ruta, ahora horizontal */
.line{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;position:relative}
.line::before{content:"";position:absolute;left:23px;right:calc((100% - 80px)/5 - 23px);top:21px;height:4px;border-radius:2px;background:var(--route)}
.line li{position:relative}
.line .stop{margin-bottom:18px}
.line li.risk .stop{border-color:var(--alert)}
.line li:last-child .stop{background:var(--route);color:var(--btn-fg)}
.line strong{display:block;font-family:var(--display);font-size:1.15rem;font-weight:700;line-height:1.2}
.line p{color:var(--muted);font-size:.98rem;margin-top:6px}
@media (max-width:900px){
  .line{grid-template-columns:1fr;gap:0}
  .line::before{left:21px;right:auto;top:24px;bottom:24px;width:4px;height:auto}
  .line li{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:12px 0}
  .line .stop{margin-bottom:0}
}

.srm-foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,72px);margin-top:72px;align-items:start}
@media (max-width:900px){.srm-foot{grid-template-columns:1fr}}
.checks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
.checks li{display:grid;grid-template-columns:24px 1fr;gap:12px}
.checks svg{stroke:var(--route);margin-top:4px}
.founders{border:2px solid var(--alert);border-radius:20px;padding:34px;background:var(--alert-soft)}
.founders h3{font-size:1.6rem}
.founders p{margin-top:14px;color:var(--fg)}
.founders .btn{margin-top:24px;background:var(--alert);border-color:var(--alert);color:#1A1408}
.founders .note{font-size:.92rem;color:var(--muted);margin-top:14px}

/* Soluciones: tres columnas separadas por reglas */
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:52px;border-top:4px solid var(--route)}
.col{padding:32px 32px 8px 0}
.col + .col{padding-left:32px;border-left:1px solid var(--line)}
.col p{color:var(--muted);margin-top:10px}
.col ul{margin:18px 0 0;padding-left:20px;display:grid;gap:8px}
@media (max-width:900px){.cols{grid-template-columns:1fr}.col,.col + .col{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)}}

/* Proceso: secuencia real, numerada */
.steps{list-style:none;margin:52px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;counter-reset:s}
.steps li{counter-increment:s;border-top:1px solid var(--line);padding-top:22px}
.steps li::before{content:counter(s);display:block;font-family:var(--display);font-weight:800;font-size:2.6rem;line-height:1;color:var(--route);margin-bottom:14px}
.steps p{color:var(--muted);margin-top:8px}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}

/* Nosotros */
.about{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(40px,6vw,88px);align-items:start}
.about .prose p{color:var(--muted);margin-top:18px;max-width:62ch}
.about .prose p:first-of-type{color:var(--fg);font-size:1.2rem}
.mv{display:grid;gap:28px;padding-left:28px;border-left:4px solid var(--route)}
.mv h3{font-size:1.1rem;color:var(--brand)}
.mv p{margin-top:6px}
@media (max-width:900px){.about{grid-template-columns:1fr}}
.values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:64px}
.values p{color:var(--muted);margin-top:6px;font-size:.98rem}
@media (max-width:900px){.values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.values{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.facts strong{display:block;font-family:var(--display);font-weight:800;font-size:clamp(2rem,3.4vw,2.8rem);line-height:1.05;color:var(--fg)}
.facts span{display:block;color:var(--muted);margin-top:6px}
@media (max-width:760px){.facts{grid-template-columns:1fr}}

/* Equipo */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,5vw,64px);margin-top:52px}
.person{display:grid;grid-template-columns:132px 1fr;gap:28px;align-items:start}
.photo{width:132px;height:132px;border-radius:50%;object-fit:cover;border:4px solid var(--route);background:var(--surface)}
.photo.empty{display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:2.2rem;color:var(--brand)}
.person .role{color:var(--brand);font-weight:700;margin-top:4px}
.person p.bio{color:var(--muted);margin-top:14px;font-size:1rem}
.skills{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.skills li{font-size:.88rem;padding:4px 12px;border-radius:999px;border:1px solid var(--line);color:var(--fg)}
.person .mail{margin-top:14px;font-size:.95rem}
@media (max-width:900px){.team{grid-template-columns:1fr}}
@media (max-width:520px){.person{grid-template-columns:1fr}.photo{width:112px;height:112px}}

/* Contacto */
.contact{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center;padding:clamp(32px,5vw,56px);border-radius:24px;background:var(--surface);border:1px solid var(--line)}
.contact p.intro{margin-top:16px}
.contact .btn{margin-top:28px}
.data{display:grid;gap:18px;margin:0}
.data dt{font-size:.9rem;color:var(--muted)}
.data dd{margin:2px 0 0;font-weight:700}
@media (max-width:900px){.contact{grid-template-columns:1fr}}

footer{border-top:1px solid var(--line);padding-block:32px}
footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:.95rem;color:var(--muted)}
footer nav{display:flex;flex-wrap:wrap;gap:22px}
footer a{color:var(--muted)}

.wa-float{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25D366;box-shadow:0 8px 24px rgba(0,0,0,.35);z-index:30}



/* ¿Por dónde empezar? */
.picker{margin-top:44px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,56px);align-items:start}
.choices{display:grid;gap:12px}
.choice{display:grid;grid-template-columns:28px 1fr;gap:16px;align-items:center;text-align:left;width:100%;padding:20px 22px;border-radius:16px;border:2px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;min-height:64px}
.choice:hover{border-color:var(--btn2-line)}
.choice i{width:24px;height:24px;border-radius:50%;border:3px solid var(--line)}
.choice strong{display:block;font-family:var(--display);font-size:1.15rem;font-weight:700;line-height:1.25}
.choice span{display:block;color:var(--muted);font-size:.95rem;margin-top:2px}
.choice[aria-selected="true"]{border-color:var(--route)}
.choice[aria-selected="true"] i{border-color:var(--route);background:var(--route);box-shadow:inset 0 0 0 4px var(--surface)}
.answer{padding:clamp(26px,3vw,40px);border-radius:20px;border:1px solid var(--line);background:var(--surface);border-top:4px solid var(--route)}
.answer h3{font-size:1.55rem}
.answer p{color:var(--muted);margin-top:12px}
.answer ul{margin:18px 0 0;padding-left:20px;display:grid;gap:8px}
.answer .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
@media (max-width:900px){.picker{grid-template-columns:1fr}}

/* Preguntas */
.faq{margin-top:44px;border-top:1px solid var(--line);max-width:860px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 0;font-family:var(--display);font-weight:700;font-size:1.2rem;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:0 0 22px;stroke:var(--route);transition:transform .2s}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{color:var(--muted);padding:0 0 24px;max-width:70ch}

/* Formulario de contacto */
.contact{align-items:start}
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:.92rem;font-weight:700;margin-bottom:6px}
.form input,.form select,.form textarea{width:100%;min-height:50px;padding:12px 12px;border-radius:12px;border:1px solid var(--btn2-line);background:var(--bg);color:var(--fg);font:inherit;font-size:1rem}
.form textarea{min-height:96px;resize:vertical}
.form input:focus,.form select:focus,.form textarea:focus{outline:3px solid var(--route);outline-offset:1px;border-color:var(--route)}
.form .btn{width:100%;justify-content:center;margin-top:4px;cursor:pointer;font-family:var(--body)}
.form .hint{font-size:.9rem;color:var(--muted)}
.form .sent{font-size:.95rem;padding:14px 16px;border-radius:12px;background:var(--alert-soft)}
.data.inline{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:32px}
@media (max-width:560px){.form{grid-template-columns:1fr}.data.inline{grid-template-columns:1fr}}

/* Un solo momento de movimiento: la ruta del hero se recorre al cargar */
@media (prefers-reduced-motion: no-preference){
  .route::after{content:"";position:absolute;left:21px;top:30px;bottom:30px;width:4px;border-radius:2px;background:var(--bg);transform-origin:50% 100%;animation:trace 1.4s .2s ease-in-out forwards}
  .route .stop{animation:arrive .35s ease-out both}
  .route li:nth-child(1) .stop{animation-delay:.2s}
  .route li:nth-child(2) .stop{animation-delay:.5s}
  .route li:nth-child(3) .stop{animation-delay:.8s}
  .route li:nth-child(4) .stop{animation-delay:1.1s}
  .route li:nth-child(5) .stop{animation-delay:1.4s}
  @keyframes trace{to{transform:scaleY(0)}}
  @keyframes arrive{from{transform:scale(.6)}to{transform:scale(1)}}
}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

/* Encabezado con el recorrido de páginas */
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.journey ol{list-style:none;margin:0;padding:0;display:flex;align-items:center}
.journey li{display:flex;align-items:center}
.journey li + li::before{content:"";width:26px;height:2px;margin:0 10px;background:var(--line);border-radius:1px}
.journey li.done + li::before,.journey li.current::before{background:var(--route)}
.journey a{display:flex;align-items:center;gap:9px;color:var(--muted);text-decoration:none;font-size:.97rem;min-height:44px}
.journey a:hover{color:var(--fg)}
.journey i{width:14px;height:14px;border-radius:50%;border:3px solid var(--line);background:var(--bg);flex:0 0 14px}
.journey li.done i{border-color:var(--route)}
.journey li.current a{color:var(--fg);font-weight:700}
.journey li.current i{border-color:var(--route);background:var(--route);box-shadow:0 0 0 4px color-mix(in srgb,var(--route) 25%,transparent)}
.cta-top{min-height:44px!important;padding:0 18px!important;font-size:.95rem!important}
.menu-btn{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:transparent;color:var(--fg);align-items:center;justify-content:center;cursor:pointer}
.mnav{display:none}
@media (max-width:1060px){
  .journey,.cta-top{display:none!important}
  .menu-btn{display:inline-flex}
  .mnav{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:8px max(20px,env(safe-area-inset-right,0px)) 22px max(20px,env(safe-area-inset-left,0px));box-shadow:0 18px 30px rgba(0,0,0,.18)}
  .mnav.open{display:block}
  .mnav ol{list-style:none;margin:0;padding:0;position:relative}
  .mnav ol::before{content:"";position:absolute;left:9px;top:24px;bottom:24px;width:2px;background:var(--line)}
  .mnav ol a{display:grid;grid-template-columns:20px 1fr;gap:16px;align-items:center;padding:12px 0;color:var(--fg);text-decoration:none;font-size:1.12rem;min-height:50px}
  .mnav ol i{width:20px;height:20px;border-radius:50%;border:3px solid var(--line);background:var(--bg);position:relative;z-index:1}
  .mnav li.done i{border-color:var(--route)}
  .mnav li.current i{background:var(--route);border-color:var(--route)}
  .mnav li.current a{font-weight:700}
  .mnav .btn{margin-top:14px;width:100%;justify-content:center}
}

/* Encabezado de página interior */
.phero{padding-block:clamp(56px,7vw,96px) clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}
.phero .crumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.95rem;margin-bottom:22px}
.phero .crumb i{width:12px;height:12px;border-radius:50%;background:var(--route)}
.phero h1{max-width:18ch}
.phero p.lead{font-size:1.22rem;color:var(--muted);max-width:56ch;margin-top:22px}
.phero .actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}

/* El problema: la ruta rota */
.compare-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px}
.switch{display:inline-flex;padding:5px;border-radius:14px;background:var(--surface);border:1px solid var(--line)}
.switch button{min-height:46px;padding:0 20px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
.switch button[aria-pressed="true"]{background:var(--fg);color:var(--bg)}
.compare[data-state="fix"] .switch button[aria-pressed="true"]{background:var(--route);color:var(--btn-fg)}
.broken{list-style:none;margin:56px 0 0;padding:118px 0 0;display:flex;align-items:flex-start}
.broken .st{flex:0 0 104px;display:grid;justify-items:center;gap:10px;text-align:center;position:relative;z-index:2}
.broken .st b{font-family:var(--display);font-size:1.05rem;line-height:1.2}
.broken .seg{flex:1 1 0;position:relative;height:46px;min-width:0}
.broken .track{position:absolute;left:-29px;right:-29px;top:21px;height:4px;border-radius:2px;background:repeating-linear-gradient(90deg,var(--alert) 0 12px,transparent 12px 22px);transition:background .4s}
.broken .seg::after{content:"";position:absolute;left:50%;top:13px;width:22px;height:20px;transform:translateX(-50%);background:var(--band)}
.broken .pin{position:absolute;left:50%;bottom:58px;transform:translateX(-50%);width:min(190px,92%);min-width:150px;display:grid;justify-items:center;gap:8px;text-align:center;padding:12px 12px 14px;border-radius:14px;border:1.5px solid var(--alert);background:var(--alert-soft);font-size:.92rem;line-height:1.3;font-weight:700;color:var(--fg)}
.broken .pin::after{content:"";position:absolute;left:50%;bottom:-9px;width:14px;height:14px;transform:translateX(-50%) rotate(45deg);background:var(--band);border-right:1.5px solid var(--alert);border-bottom:1.5px solid var(--alert)}
.broken .pin svg{stroke:var(--alert)}
.compare[data-state="fix"] .track{background:var(--route)}
.compare[data-state="fix"] .seg::after{display:none}
.compare[data-state="fix"] .pin{border-color:var(--route);background:color-mix(in srgb,var(--route) 14%,transparent)}
.compare[data-state="fix"] .pin::after{border-color:var(--route)}
.compare[data-state="fix"] .pin svg{stroke:var(--route)}
.compare[data-state="now"] .fix,.compare[data-state="fix"] .now{display:none}
.compare[data-state="fix"] .broken .st:last-child .stop{background:var(--route);color:var(--btn-fg)}
.broken .st:last-child .stop{background:var(--bg);color:var(--fg)}
@media (prefers-reduced-motion: no-preference){.compare .pin{animation:none}.compare.swap .pin{animation:pop .35s ease-out}@keyframes pop{from{transform:translateX(-50%) scale(.92);opacity:.4}to{transform:translateX(-50%) scale(1);opacity:1}}}
.explain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:44px;padding-top:32px;border-top:1px solid var(--line)}
.explain h3{font-size:1.12rem}
.explain p{color:var(--muted);margin-top:8px;font-size:.98rem}
.compare-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin-top:40px}
.compare-foot p{color:var(--muted);max-width:52ch}
@media (max-width:980px){
  .explain{grid-template-columns:repeat(2,minmax(0,1fr))}
  .broken{flex-direction:column;padding:0;margin-top:40px}
  .broken .st{flex:none;grid-template-columns:46px 1fr;justify-items:start;align-items:center;gap:16px;text-align:left;width:100%}
  .broken .seg{flex:none;height:auto;min-height:118px;width:100%;display:flex;align-items:center;padding-left:64px}
  .broken .track{left:21px;right:auto;top:-6px;bottom:-6px;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--alert) 0 12px,transparent 12px 22px)}
  .broken .seg::after{left:23px;top:50%;width:20px;height:22px;transform:translate(-50%,-50%)}
  .broken .pin{position:relative;left:auto;bottom:auto;transform:none;width:auto;min-width:0;max-width:300px;grid-template-columns:22px 1fr;justify-items:start;text-align:left;align-items:center;padding:12px 14px}
  .broken .pin::after{left:-8px;top:50%;bottom:auto;transform:translateY(-50%) rotate(135deg)}
  @media (prefers-reduced-motion: no-preference){.compare.swap .pin{animation:pop2 .35s ease-out}@keyframes pop2{from{transform:scale(.94);opacity:.4}to{transform:none;opacity:1}}}
}
@media (max-width:560px){.explain{grid-template-columns:1fr}}

/* Resumen de soluciones en Inicio */
.paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}
.path{display:flex;flex-direction:column;gap:12px;padding:30px;border-radius:20px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--fg);transition:border-color .2s,transform .2s}
.path:hover{border-color:var(--route);transform:translateY(-2px)}
.path svg.ic{stroke:var(--route)}
.path p{color:var(--muted)}
.path .go{margin-top:auto;padding-top:10px;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--brand)}
@media (max-width:900px){.paths{grid-template-columns:1fr}}

.trust{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(32px,5vw,72px);align-items:center}
.founders-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:44px}
.founder{display:grid;grid-template-columns:132px 1fr;gap:26px;align-items:center;padding:28px;border-radius:22px;border:1px solid var(--line);background:var(--surface);text-decoration:none;color:var(--fg);transition:border-color .2s}
.founder:hover{border-color:var(--route)}
.founder .role{color:var(--brand);font-weight:700;margin-top:4px}
.founder .cred{color:var(--muted);margin-top:10px;font-size:.98rem}
@media (max-width:900px){.founders-row{grid-template-columns:1fr}}
@media (max-width:520px){.founder{grid-template-columns:1fr}.founder .photo{width:112px;height:112px}}
@media (max-width:900px){.trust{grid-template-columns:1fr}}

/* Siguiente paso entre páginas */
.nextpage{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:clamp(28px,4vw,44px);border-radius:24px;border:1px solid var(--line);background:var(--surface)}
.nextpage .k{color:var(--muted);font-size:.95rem}
.nextpage h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-top:6px}
.nextpage p.d{color:var(--muted);margin-top:8px;max-width:52ch}
.nextpage .row{display:flex;flex-wrap:wrap;gap:12px}

/* Capacitación */
.audience{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}
.aud{padding:28px;border-radius:18px;border:1px solid var(--line);background:var(--surface)}
.aud p{color:var(--muted);margin-top:8px}
@media (max-width:900px){.audience{grid-template-columns:1fr}}
.topics{list-style:none;margin:44px 0 0;padding:0;border-top:1px solid var(--line)}
.topics li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:baseline}
.topics p{color:var(--muted)}
@media (max-width:760px){.topics li{grid-template-columns:1fr;gap:6px}}
.steps.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.steps.three{grid-template-columns:1fr}}
.format{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:44px}
.format div{padding:22px 24px;border-left:4px solid var(--route);background:var(--surface);border-radius:0 14px 14px 0}
.format p{color:var(--muted);margin-top:4px}
@media (max-width:760px){.format{grid-template-columns:1fr}}

.coexist{padding:clamp(26px,3vw,40px);border-radius:20px;border:1px solid var(--line);background:var(--surface)}
.coexist .two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px}
.coexist .two div{padding:18px 20px;border-radius:14px;background:var(--bg)}
.coexist .two h3{font-size:1.05rem}
.coexist .two p{color:var(--muted);margin-top:6px;font-size:.98rem}
.coexist .two .ours{border:2px solid var(--route)}
@media (max-width:640px){.coexist .two{grid-template-columns:1fr}}

/* Páginas legales */
.legal{max-width:760px}
.legal .draft{padding:14px 18px;border-radius:12px;background:var(--alert-soft);border:1px solid var(--alert);font-size:.95rem;margin-bottom:28px}
.legal h2{font-size:1.4rem;margin-top:40px}
.legal p,.legal li{color:var(--muted);margin-top:12px}
.legal ul{padding-left:22px}
.legal strong{color:var(--fg)}

footer .cols-f{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:32px;width:100%}
footer .f-brand p{margin-top:12px;max-width:34ch}
footer .f-nav{display:grid;gap:10px;align-content:start}
footer .f-nav a{text-decoration:none}
footer .f-nav a:hover{color:var(--fg);text-decoration:underline}
footer .f-copy{width:100%;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);font-size:.9rem}
footer .logo span{font-size:1.25rem}
@media (max-width:760px){footer .cols-f{grid-template-columns:1fr}}
.skip{position:absolute;left:16px;top:-60px;z-index:50;padding:12px 18px;border-radius:10px;background:var(--btn);color:var(--btn-fg);font-weight:700;text-decoration:none}
.skip:focus{top:12px}
main:focus{outline:none}
