:root {
--color-slate:#0f172a;
--color-blue:#1e3a8a;
--color-bg:#f5f7fb;
--color-surface:#ffffff;
--color-text:#1d2433;
--color-muted:#475569;
--color-ink-muted:#64748b;
--color-border:#e2e8f0;
--color-accent:#22c55e;
--color-accent-hover:#16a34a;
--color-hero-text:#e8f0fe;
--font-body:"Source Sans 3",system-ui,sans-serif;
--font-display:"Outfit",system-ui,sans-serif;
--shadow-card:0 8px 28px rgba(15,23,42,0.07);
--shadow-card-hover:0 14px 40px rgba(15,23,42,0.11);
--radius:18px;
--section-pad:clamp(3.25rem,5vw,5rem);
}
*,*::before,*::after {box-sizing:border-box}

body {margin:0;font-family:var(--font-body);font-size:1.0625rem;background:var(--color-bg);color:var(--color-text);line-height:1.65}
a {text-decoration:none;color:inherit}
a:focus-visible,.btn:focus-visible {outline:2px solid var(--color-accent);outline-offset:3px}

.container {width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.skip-link {position:absolute;left:-9999px;top:0;z-index:10000;padding:12px 18px;background:var(--color-accent);color:#fff;font-weight:600;border-radius:8px}
.skip-link:focus {left:16px;top:16px}
.icon {display:block;flex-shrink:0;width:1.35rem;height:1.35rem}
.eyebrow {font-size:0.8125rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--color-blue);margin:0 0 0.5rem}
.section .eyebrow {color:var(--color-blue)}
.section-alt .eyebrow {color:var(--color-blue)}
.prose {max-width:65ch;color:var(--color-muted);font-size:1.125rem}
.prose p {margin:0 0 1rem}
.prose p:last-child {margin-bottom:0}
.prose--wide {max-width:none}
.card-title-row {display:flex;align-items:center;gap:10px}
.card-title-row .icon--blue {color:var(--color-blue)}
.card-title-row .icon--accent {color:var(--color-accent)}
.text-muted {color:var(--color-ink-muted)}
.lead-tight {margin:0;font-size:1.125rem}
.stack {display:flex;flex-direction:column;gap:1rem}
.stack--narrow {max-width:65ch}
.mt-sm {margin-top:1rem}
.topbar {background:var(--color-slate);color:#fff;padding:14px 0;font-size:0.9375rem;position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(255,255,255,0.06)}
.topbar .container {display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.brand {display:inline-flex;align-items:center;gap:10px;font-weight:700;font-family:var(--font-display);letter-spacing:-0.02em}
.brand .icon {color:var(--color-accent)}
.top-links {display:flex;flex-wrap:wrap;gap:8px 20px}
.top-links a {color:#cbd5e1;padding:6px 0;border-bottom:2px solid transparent;transition:color 0.2s,border-color 0.2s}
.top-links a:hover {color:#fff;border-bottom-color:var(--color-accent)}
.hero {background:linear-gradient(135deg,var(--color-slate) 0%,var(--color-blue) 100%);color:#fff;padding:var(--section-pad) 0 calc(var(--section-pad) * 0.85)}
.hero-wrap {display:grid;grid-template-columns:1fr;grid-template-areas:"copy" "aside";gap:36px;align-items:center}
.hero-copy {grid-area:copy}
.hero-aside {grid-area:aside;display:flex;flex-direction:column;gap:20px}
.hero h1 {font-family:var(--font-display);font-size:clamp(1.85rem,4vw,2.65rem);font-weight:700;line-height:1.12;letter-spacing:-0.03em;margin:0 0 1rem}
.hero-lead {font-size:1.125rem;color:var(--color-hero-text);margin:0 0 1.75rem;max-width:52ch}
.hero-cta {display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.hero-cta .btn-secondary {border:1px solid rgba(255,255,255,0.35)}
.hero-link-quiet {color:var(--color-hero-text);font-weight:600;font-size:0.9375rem;padding:8px 4px;border-bottom:1px solid rgba(232,240,254,0.35);margin-left:4px}
.hero-link-quiet:hover {color:#fff;border-bottom-color:var(--color-accent)}
.hero-figure {margin:0;border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,0.22);box-shadow:0 28px 56px rgba(0,0,0,0.28);background:rgba(15,23,42,0.35)}
.hero-figure img {display:block;width:100%;height:auto}
.hero-panel {background:rgba(255,255,255,0.1);padding:1.35rem 1.5rem;border-radius:16px;border:1px solid rgba(255,255,255,0.2)}
.hero-panel h3 {font-family:var(--font-display);font-size:1.125rem;font-weight:600;margin:0 0 1rem}
.list-check {list-style:none;padding:0;margin:0}
.list-check li {display:flex;align-items:flex-start;gap:10px;color:var(--color-hero-text);font-size:1rem;margin-bottom:12px}
.list-check li:last-child {margin-bottom:0}
.list-check .icon {color:var(--color-accent);margin-top:3px}
.btn {display:inline-block;padding:15px 22px;border-radius:10px;font-weight:700;font-size:1rem;transition:background 0.2s,transform 0.2s,box-shadow 0.2s;border:none;cursor:pointer;text-align:center}
.btn-primary {background:var(--color-accent);color:#fff}
.btn-primary:hover {background:var(--color-accent-hover)}
.btn-secondary {background:#fff;color:var(--color-slate)}
.btn-secondary:hover {background:var(--color-hero-text)}
.btn-block {display:block;width:100%}
.section {padding:var(--section-pad) 0}
.section-alt {background:var(--color-surface);box-shadow:inset 0 1px 0 rgba(15,23,42,0.04)}
.section h2 {font-family:var(--font-display);font-size:clamp(1.65rem,3vw,2rem);font-weight:700;letter-spacing:-0.02em;margin:0 0 1rem;color:var(--color-slate)}
.section-intro {margin-bottom:2rem}
.section-media {margin:0 0 2rem;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg);box-shadow:var(--shadow-card)}
.section-media img {display:block;width:100%;height:auto}
.grid-2 {display:grid;grid-template-columns:1fr;gap:34px;align-items:start}
.grid-3 {display:grid;grid-template-columns:1fr;gap:22px}
.card {background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-card);transition:box-shadow 0.2s,transform 0.2s}
.card h3 {font-family:var(--font-display);font-size:1.35rem;margin:0 0 0.75rem;color:var(--color-slate)}
.card h4 {font-family:var(--font-display);font-size:1.05rem;margin:0 0 0.5rem;color:var(--color-slate)}
.card p {margin:0 0 1rem;color:var(--color-muted)}
.card p:last-child {margin-bottom:0}
.card-head {display:flex;align-items:center;gap:10px;margin-bottom:0.65rem;padding-bottom:0.65rem;border-bottom:1px solid var(--color-border)}
.card-head .icon {color:var(--color-blue)}
.card-head--green .icon {color:var(--color-accent)}
.card-media {margin:-1.5rem -1.5rem 1.25rem;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;border-bottom:1px solid var(--color-border)}
.card-media img {display:block;width:100%;height:auto}
.card--community {border-left:4px solid var(--color-blue)}
.card--sabio {border-left:4px solid var(--color-accent)}
.list-feature {list-style:none;padding:0;margin:0 0 1.25rem}
.list-feature li {display:flex;gap:10px;align-items:flex-start;margin-bottom:10px;color:var(--color-muted)}
.list-feature li:last-child {margin-bottom:0}
.list-feature .icon {color:var(--color-accent);margin-top:3px}
.list-claves {list-style:none;padding:0;margin:0}
.list-claves li {display:flex;gap:12px;align-items:flex-start;margin-bottom:1rem;color:var(--color-muted)}
.list-claves li:last-child {margin-bottom:0}
.list-claves .claves-icon {color:var(--color-blue);margin-top:2px}
.list-claves strong {color:var(--color-slate)}
.info-box {background:linear-gradient(90deg,#f8fafc 0%,#f1f5f9 100%);border:1px solid var(--color-border);border-left:4px solid var(--color-blue);padding:1.35rem 1.5rem;margin-bottom:2rem;border-radius:12px}
.info-box__head {display:flex;align-items:center;gap:12px;margin-bottom:0.65rem}
.info-box__head .icon {color:var(--color-blue)}
.info-box__title {font-family:var(--font-display);font-size:1.05rem;font-weight:600;margin:0;color:var(--color-slate)}
.info-box p {margin:0;font-size:0.9875rem;color:#334155}
.futuro-aside {display:flex;flex-direction:column;gap:22px}
.futuro-figure {margin:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--color-border);box-shadow:var(--shadow-card);background:var(--color-bg)}
.futuro-figure img {display:block;width:100%;height:auto}
.process-steps {position:relative;overflow:hidden}
.process-steps::before {content:"";position:absolute;inset:0;background:radial-gradient(ellipse 120% 70% at 50% -15%,rgba(30,58,138,0.09),transparent 52%),radial-gradient(ellipse 70% 45% at 100% 100%,rgba(34,197,94,0.07),transparent 50%);pointer-events:none}
.process-steps .container {position:relative;z-index:1}
.process-steps__intro {max-width:58ch;margin:0 0 2.25rem;color:var(--color-muted);font-size:1.125rem;line-height:1.65}
.process-steps__list {list-style:none;padding:0;margin:0;display:grid;gap:1.25rem}
.process-steps__item {background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem 1.5rem 1.45rem;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:1rem;transition:box-shadow 0.2s,transform 0.2s;height:100%}
.process-steps__accent {width:100%;height:4px;border-radius:999px;margin:0 0 0.15rem}
.process-steps__item:nth-child(1) .process-steps__accent {background:linear-gradient(90deg,var(--color-blue),#3b82f6)}
.process-steps__item:nth-child(2) .process-steps__accent {background:linear-gradient(90deg,#1d4ed8,#6366f1)}
.process-steps__item:nth-child(3) .process-steps__accent {background:linear-gradient(90deg,#16a34a,var(--color-accent))}
.process-steps__top {display:flex;align-items:center;justify-content:space-between;gap:12px}
.process-steps__num {font-family:var(--font-display);font-size:0.75rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-ink-muted)}
.process-steps__icon-wrap {display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;border-radius:14px;background:linear-gradient(145deg,#f8fafc,#f1f5f9);border:1px solid var(--color-border);color:var(--color-blue)}
.process-steps__item:nth-child(3) .process-steps__icon-wrap {color:var(--color-accent);background:linear-gradient(145deg,#f0fdf4,#ecfdf5);border-color:rgba(34,197,94,0.25)}
.process-steps__icon-wrap .icon {width:1.45rem;height:1.45rem}
.process-steps__title {font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:-0.02em;margin:0;color:var(--color-slate);line-height:1.25}
.process-steps__text {margin:0;font-size:1.02rem;color:var(--color-muted);line-height:1.65;flex-grow:1}
.footer {background:var(--color-slate);color:#cbd5e1;padding:3.25rem 0 2rem;font-size:0.9375rem}
.footer h4 {font-family:var(--font-display);color:#fff;font-size:1rem;margin:0 0 0.85rem}
.footer-grid {display:grid;grid-template-columns:1fr;gap:2rem}
.footer-heading-row {display:flex;align-items:center;gap:10px}
.footer-heading-row .icon {color:var(--color-accent);opacity:0.9}
.footer-heading-row h4 {margin:0}
.footer p {margin:0;line-height:1.7}
.footer-disclaimer {border-top:1px solid rgba(255,255,255,0.1);margin-top:2rem;padding-top:1.5rem;line-height:1.75;font-size:0.875rem}
.footer-copy {text-align:center;margin-top:2rem !important;color:#64748b;font-size:0.8125rem}

@media (prefers-reduced-motion:reduce) { *,*::before,*::after {animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important} }
@media (prefers-reduced-motion:no-preference) { html {scroll-behavior:smooth} .card--lift:hover {transform:translateY(-3px);box-shadow:var(--shadow-card-hover)} .process-steps__item:hover {transform:translateY(-3px);box-shadow:var(--shadow-card-hover)} }
@media (min-width:981px) { .hero-wrap {grid-template-columns:1.1fr 1fr;grid-template-areas:"copy aside";gap:48px} .grid-2 {grid-template-columns:1fr 1fr} #capacitacion .grid-2 {align-items:stretch} #capacitacion .grid-2 > .card {display:flex;flex-direction:column} #capacitacion .grid-2 > .card .btn-block {margin-top:auto} .grid-3 {grid-template-columns:repeat(3,1fr)} .process-steps__list {grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch} .footer-grid {grid-template-columns:1fr 1.5fr;gap:2.5rem} }
@media (min-width:981px) and (max-width:1199px) { #futuro .futuro-figure img {max-height:min(26rem,52vh);object-fit:cover;object-position:center} }
@media (max-width:600px) { body {font-size:1rem} }
