/* ============ HOME SECTIONS ============ */
.sec{padding:clamp(4.5rem,10vh,8rem) 0}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.4rem;margin-bottom:3rem}
.cap-list{border-top:1px solid var(--line)}
.cap-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:1.6rem;align-items:center;padding:1.9rem .8rem;border-bottom:1px solid var(--line);transition:background .35s,padding .35s var(--ease)}
.cap-row:hover{background:var(--green-soft);padding-left:1.4rem}
.cap-num{font-family:var(--fm);font-size:.8rem;color:var(--ink-faint);transition:color .3s}
.cap-row:hover .cap-num{color:var(--green)}
.cap-main h3{font-size:clamp(1.05rem,2vw,1.45rem);margin-bottom:.35rem}
.cap-main p{color:var(--ink-dim);font-size:.95rem;max-width:62ch}
.cap-tags{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end;max-width:230px}
.cap-tags span{font-family:var(--fm);font-size:.64rem;letter-spacing:.08em;padding:.28rem .6rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-dim)}
.cap-arrow{font-size:1.2rem;color:var(--green);opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .35s var(--ease)}
.cap-row:hover .cap-arrow{opacity:1;transform:none}
.marquee{border-block:1px solid var(--line-soft);padding:1.1rem 0;overflow:hidden;position:relative}
.marquee-track{display:flex;gap:3.2rem;width:max-content;animation:mq 30s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{font-family:var(--fd);font-size:.85rem;letter-spacing:.18em;color:var(--ink-faint);white-space:nowrap;text-transform:uppercase}
.marquee-track span b{color:var(--green);font-weight:500}
@keyframes mq{to{transform:translateX(-50%)}}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;counter-reset:st}
.step{position:relative;padding:1.6rem 1.3rem 1.8rem;border:1px solid var(--line-soft);border-radius:var(--r);background:linear-gradient(180deg,rgba(7,48,60,.35),rgba(5,33,43,.2));transition:transform .4s var(--ease),border-color .3s}
.step:hover{transform:translateY(-6px);border-color:rgba(60,232,158,.4)}
.step .st-n{font-family:var(--fm);font-size:.7rem;color:var(--green);letter-spacing:.2em}
.step h3{font-size:1.05rem;margin:.9rem 0 .5rem}
.step p{font-size:.9rem;color:var(--ink-dim)}
.step::before{content:"";position:absolute;top:-1px;left:1.3rem;width:34px;height:2px;background:var(--green)}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;background:rgba(6,36,46,.4)}
.metric{padding:2.2rem 1.6rem;border-right:1px solid var(--line-soft);text-align:left}
.metric:last-child{border-right:none}
.metric b{font-family:var(--fd);font-size:clamp(1.7rem,3.4vw,2.7rem);font-weight:700;color:var(--ink);display:block}
.metric b i{font-style:normal;color:var(--green)}
.metric span{font-family:var(--fm);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint)}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem}
.cta-sec{text-align:center;padding:clamp(5rem,12vh,9rem) 0}
.cta-sec .bulb-mark{width:64px;height:64px;margin:0 auto 1.6rem;opacity:.9}
.cta-sec h2{font-size:clamp(1.9rem,5vw,3.8rem)}
.cta-sec h2 .g{color:var(--green)}
.cta-sec p{color:var(--ink-dim);max-width:52ch;margin:1.2rem auto 2.2rem}
.cta-sec .mail{display:inline-block;margin-top:1.6rem;font-family:var(--fm);font-size:.85rem;letter-spacing:.1em;color:var(--ink-dim);border-bottom:1px solid var(--line);padding-bottom:.3rem;transition:color .3s,border-color .3s}
.cta-sec .mail:hover{color:var(--green);border-color:var(--green)}

/* ---- TRAYECTORIA (linea de tiempo) ---- */
.tl{list-style:none;position:relative;padding-left:1.6rem;margin:0}
.tl::before{content:"";position:absolute;left:5px;top:.6rem;bottom:.6rem;width:1px;background:linear-gradient(var(--green),var(--line-soft))}
.tl-item{position:relative;display:grid;grid-template-columns:170px 1fr;gap:1.6rem;padding:1.4rem 0 1.8rem}
.tl-item+.tl-item{border-top:1px solid var(--line-soft)}
.tl-item::before{content:"";position:absolute;left:-1.6rem;top:1.9rem;width:11px;height:11px;border-radius:50%;background:var(--bg0);border:2px solid var(--green);transform:translateX(0)}
.tl-formacion::before{border-color:var(--ink-dim)}
.tl-certificacion::before{border-color:var(--ink-faint)}
.tl-periodo{font-size:.74rem;letter-spacing:.1em;color:var(--green);padding-top:.35rem}
.tl-formacion .tl-periodo{color:var(--ink-dim)}
.tl-cuerpo h3{font-size:clamp(1rem,1.9vw,1.3rem);margin-bottom:.2rem}
.tl-lugar{font-family:var(--fm);font-size:.78rem;color:var(--ink-faint);letter-spacing:.06em;margin-bottom:.55rem}
.tl-cuerpo p{color:var(--ink-dim);font-size:.94rem;max-width:64ch}
.tl-cuerpo .chips{margin-top:.7rem}

/* ---- IDIOMAS (al pie de la trayectoria) ---- */
.idiomas-bloque{margin-top:2.6rem;padding-top:1.8rem;border-top:1px solid var(--line-soft)}
.idiomas-tit{font-family:var(--fm);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-weight:400;margin-bottom:1rem}
.idiomas{list-style:none;display:flex;flex-wrap:wrap;gap:.7rem;padding:0;margin:0}
.idiomas li{display:flex;align-items:baseline;gap:.55rem;padding:.5rem .9rem;border:1px solid var(--line-soft);border-radius:999px}
.idiomas b{font-size:.92rem;font-weight:500}
.idiomas span{font-family:var(--fm);font-size:.7rem;letter-spacing:.1em;color:var(--green)}
