:root {
  --ink: #0b1736;
  --muted: #596682;
  --blue: #1268f2;
  --blue-dark: #0b4acb;
  --sky: #7fc7ff;
  --aqua: #5fe1d6;
  --sun: #ffd86a;
  --peach: #ffb69d;
  --paper: #ffffff;
  --soft: #f5f8ff;
  --line: #dfe7f4;
  --navy: #08162f;
  --shadow: 0 30px 80px rgba(20, 74, 168, .16);
  --radius-lg: 32px;
  --radius-md: 22px;
  --radius-sm: 14px;
  --shell: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
  background: #fff;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; background: #fff; color: #000; padding: 12px 16px; border-radius: 8px; box-shadow: var(--shadow); }
.skip-link:focus { top: 16px; }

.page-glow { position: fixed; pointer-events: none; filter: blur(20px); border-radius: 999px; z-index: -1; opacity: .45; }
.page-glow--one { width: 420px; height: 420px; background: radial-gradient(circle, rgba(95,225,214,.45), rgba(95,225,214,0)); right: -120px; top: 120px; }
.page-glow--two { width: 360px; height: 360px; background: radial-gradient(circle, rgba(255,216,106,.38), rgba(255,216,106,0)); left: -140px; top: 620px; }

.site-header { position: sticky; top: 0; z-index: 50; transition: background .25s ease, box-shadow .25s ease, backdrop-filter .25s ease; }
.site-header.scrolled { background: rgba(255,255,255,.86); backdrop-filter: blur(18px); box-shadow: 0 1px 0 rgba(15, 34, 67, .07); }
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand img { width: 188px; height: auto; }
.desktop-nav { display: flex; gap: 30px; align-items: center; font-size: .95rem; font-weight: 600; color: #354361; }
.desktop-nav a, .text-link { transition: color .2s ease; }
.desktop-nav a:hover, .text-link:hover { color: var(--blue); }
.nav-actions { display: flex; align-items: center; gap: 18px; }
.text-link { font-weight: 650; color: #3e4c66; font-size: .92rem; }
.menu-button { display: none; background: transparent; border: 0; width: 40px; height: 40px; padding: 9px; }
.menu-button span { display: block; height: 2px; background: var(--ink); margin: 6px 0; border-radius: 3px; }
.mobile-nav { display: none; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px; border-radius: 999px; font-weight: 700; border: 1px solid transparent; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--small { min-height: 42px; padding: 0 17px; background: var(--ink); color: #fff; font-size: .9rem; }
.button--primary { color: #fff; background: linear-gradient(135deg, var(--blue), #4588ff); box-shadow: 0 15px 35px rgba(18, 104, 242, .28); }
.button--primary:hover { box-shadow: 0 20px 42px rgba(18, 104, 242, .35); }
.button--ghost { border-color: var(--line); background: rgba(255,255,255,.75); }
.button--dark { background: var(--navy); color: #fff; }
.button--white { background: #fff; color: var(--blue-dark); }
.button--full { width: 100%; margin-top: 18px; }

.hero { min-height: 720px; display: grid; grid-template-columns: 1.03fr .97fr; gap: 70px; align-items: center; padding-block: 70px 90px; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; color: var(--blue); }
.eyebrow-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--aqua); box-shadow: 0 0 0 6px rgba(95,225,214,.2); }
.hero h1, .section-heading h2, .start-copy h2, .resources-copy h2, .partner-copy h2, .final-cta h2 { font-family: "Manrope", sans-serif; letter-spacing: -.045em; margin: 18px 0 20px; }
.hero h1 { font-size: clamp(3.3rem, 6.3vw, 6.3rem); line-height: .96; max-width: 760px; }
.gradient-text { background: linear-gradient(95deg, var(--blue) 10%, #5b9cff 48%, #27c9bc 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-lede { color: var(--muted); font-size: clamp(1.05rem, 1.6vw, 1.27rem); line-height: 1.7; max-width: 640px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 32px; }
.trust-strip { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 28px; color: #50607d; font-size: .9rem; }
.trust-strip i { font-style: normal; color: #08a89b; margin-right: 4px; }

.hero-visual { min-height: 560px; position: relative; display: grid; place-items: center; }
.beacon { position: absolute; inset: 0; display: grid; place-items: center; }
.beacon-ring { position: absolute; border-radius: 50%; border: 1px solid rgba(18, 104, 242, .12); background: radial-gradient(circle, rgba(255,255,255,.2), rgba(255,255,255,0)); animation: pulse 5s ease-in-out infinite; }
.beacon-ring--1 { width: 540px; height: 540px; }
.beacon-ring--2 { width: 410px; height: 410px; animation-delay: .5s; }
.beacon-ring--3 { width: 290px; height: 290px; animation-delay: 1s; }
.beacon-core { width: 250px; height: 250px; border-radius: 50%; background: radial-gradient(circle, rgba(255,216,106,.75) 0%, rgba(127,199,255,.28) 45%, rgba(127,199,255,0) 72%); filter: blur(4px); }
@keyframes pulse { 0%,100% { transform: scale(.98); opacity: .75; } 50% { transform: scale(1.04); opacity: 1; } }
.resume-stack { position: relative; width: min(420px, 90%); height: 500px; perspective: 1200px; }
.resume-card { position: absolute; inset: 26px 24px; border-radius: 22px; background: rgba(255,255,255,.94); border: 1px solid rgba(201, 215, 239, .8); box-shadow: 0 30px 80px rgba(27, 75, 156, .17); padding: 30px; }
.resume-card--back { transform: translate(35px, 16px) rotate(7deg); opacity: .55; background: #eef4ff; }
.resume-card--front { transform: rotate(-3deg); backdrop-filter: blur(12px); }
.resume-topline { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.resume-topline strong { display: block; font-family: "Manrope"; font-size: 1.3rem; }
.resume-topline span { display: block; color: var(--muted); font-size: .75rem; margin-top: 4px; }
.resume-topline .match-pill { display: inline-flex; margin: 0; padding: 7px 10px; border-radius: 999px; background: #e8fbf8; color: #008c7e; font-weight: 800; font-size: .68rem; }
.resume-section-title { color: var(--blue); font-weight: 800; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; margin-top: 22px; }
.resume-card p, .resume-job span { font-size: .77rem; line-height: 1.55; color: #5b6780; }
.resume-job { margin-top: 14px; }
.resume-job strong { display: block; font-size: .83rem; margin-bottom: 3px; }
.skill-pills { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; }
.skill-pills span { font-size: .68rem; padding: 7px 10px; border-radius: 999px; background: #f0f5ff; color: #415477; }
.paper-line { height: 8px; border-radius: 99px; background: #c9d6eb; margin-bottom: 12px; }.paper-line.long{width:78%}.paper-line.medium{width:58%}.paper-line.short{width:38%}.paper-block{height:92px;background:#dfe8f6;border-radius:12px;margin-top:28px}.paper-block.small{height:62px;margin-top:16px}
.floating-note { position: absolute; padding: 11px 15px 11px 11px; border-radius: 999px; background: rgba(255,255,255,.95); box-shadow: 0 18px 40px rgba(38, 85, 155, .15); font-size: .77rem; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.floating-note span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #eef4ff; color: var(--blue); font-size: .65rem; }
.floating-note--one { left: -35px; top: 130px; }.floating-note--two { right: -56px; bottom: 108px; }

.social-proof { padding-bottom: 92px; text-align: center; }
.social-proof > p { color: #8390a8; font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.audience-marquee { overflow: hidden; mask-image: linear-gradient(to right, transparent, #000 12%, #000 88%, transparent); margin-top: 26px; }
.marquee-track { display: flex; width: max-content; gap: 16px; animation: marquee 34s linear infinite; }
.marquee-track span { padding: 13px 20px; border-radius: 999px; background: #f6f9ff; color: #53617d; font-weight: 700; white-space: nowrap; }
@keyframes marquee { to { transform: translateX(-50%); } }

.section { padding: 110px 0; }
.section--soft { background: linear-gradient(180deg, #f7faff 0%, #f2f7ff 100%); border-block: 1px solid #edf2fb; }
.section-heading { max-width: 760px; }
.section-heading h2, .start-copy h2, .resources-copy h2, .partner-copy h2 { font-size: clamp(2.3rem, 4.5vw, 4.2rem); line-height: 1.04; }
.section-heading > p, .start-copy > p, .resources-copy > p, .partner-copy > p { font-size: 1.06rem; line-height: 1.72; color: var(--muted); }
.service-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin-top: 50px; }
.service-card { position: relative; padding: 34px; border-radius: 28px; background: #fff; border: 1px solid #e1e8f3; min-height: 350px; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; overflow: hidden; }
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.service-card--featured { background: linear-gradient(145deg, #0f69f6, #1258d6); color: #fff; border-color: transparent; }
.service-card--featured p { color: rgba(255,255,255,.78); }
.service-card--featured .service-kicker { color: #b9f7ee; }
.service-card--featured .service-icon { background: rgba(255,255,255,.14); color: #fff; }
.service-card--featured .card-link { color: #fff; }
.popular-badge { position: absolute; top: 26px; right: 26px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.2); color: #fff; padding: 7px 11px; border-radius: 999px; font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.service-icon { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; background: #edf4ff; color: var(--blue); font-family: "Manrope"; font-weight: 800; font-size: 1.2rem; }
.service-kicker { margin: 26px 0 10px; color: var(--blue); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.service-card h3 { font-family: "Manrope"; font-size: 1.75rem; line-height: 1.12; margin: 0 0 14px; max-width: 430px; }
.service-card > p:not(.service-kicker) { color: var(--muted); line-height: 1.62; max-width: 500px; }
.card-link { margin-top: auto; padding: 24px 0 0; background: none; border: 0; text-align: left; font-weight: 800; color: var(--blue); cursor: pointer; }

.start-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 88px; align-items: start; }
.flow-list { margin-top: 34px; display: grid; gap: 22px; }
.flow-list > div { display: grid; grid-template-columns: 42px 1fr; gap: 16px; align-items: start; }
.flow-list span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: #eef4ff; color: var(--blue); font-size: .78rem; font-weight: 800; }
.flow-list p { margin: 2px 0 0; color: #65718a; line-height: 1.5; }.flow-list strong{color:var(--ink)}
.funnel-card { border: 1px solid #dbe5f3; border-radius: 30px; padding: 34px; background: rgba(255,255,255,.96); box-shadow: var(--shadow); }
.funnel-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.funnel-progress span{height:4px;background:#e8edf5;border-radius:10px}.funnel-progress span.active{background:var(--blue)}
.micro-label { color: #8490a6; font-size: .69rem; letter-spacing: .12em; font-weight: 800; margin: 28px 0 8px; }
.funnel-card h3 { font-family: "Manrope"; font-size: 2rem; letter-spacing: -.03em; margin: 0 0 24px; }
.choice-list { display: grid; gap: 10px; }
.choice { border: 1px solid #e0e7f1; background: #fff; border-radius: 16px; min-height: 78px; padding: 14px 16px; display: grid; grid-template-columns: 22px 1fr; gap: 12px; text-align: left; align-items: start; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.choice:hover { transform: translateY(-1px); border-color: #b9cae6; }.choice.active{border-color:var(--blue);background:#f7faff;box-shadow:0 0 0 3px rgba(18,104,242,.08)}
.choice-dot { width: 17px; height: 17px; border-radius: 50%; border: 2px solid #b6c2d6; margin-top: 3px; position: relative; }.choice.active .choice-dot{border-color:var(--blue)}.choice.active .choice-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--blue)}
.choice strong { display: block; font-size: .95rem; }.choice small{display:block;color:#738098;line-height:1.35;margin-top:4px}
.fine-print { text-align: center; color: #7a879e; font-size: .78rem; margin: 14px 0 0; }.fine-print a{color:var(--blue);font-weight:700}

.section--dark { background: var(--navy); color: #fff; overflow: hidden; position: relative; }
.section--dark:after { content:""; position:absolute; width:700px; height:700px; right:-180px; bottom:-400px; background:radial-gradient(circle, rgba(31,112,255,.28), rgba(31,112,255,0) 70%); }
.how-grid { position: relative; z-index: 1; }
.eyebrow--light { color: #79e8dd; }.section-heading--light p{color:#afbdd2}
.system-map { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; gap: 14px; align-items: center; margin-top: 70px; }
.system-node { min-height: 145px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.06); border-radius: 22px; padding: 24px; backdrop-filter: blur(8px); }
.system-node span { color: #80e6dd; font-size: .7rem; font-weight: 800; }.system-node strong{display:block;margin-top:26px;font-family:"Manrope";font-size:1.05rem}.system-node small{display:block;color:#9baac1;margin-top:4px}.system-arrow{color:#536781;font-size:1.4rem}

.resources-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; align-items: center; }
.text-cta { display: inline-flex; gap: 8px; color: var(--blue); font-weight: 800; margin-top: 18px; }
.resource-cards { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.resource-card { border: 1px solid #dee7f2; border-radius: 28px; padding: 28px; min-height: 350px; background: #fff; box-shadow: 0 20px 60px rgba(35, 71, 129, .09); }
.resource-card--accent { background: linear-gradient(160deg, #edfdf9, #f7fbff); transform: translateY(34px); }
.resource-top { display:flex;justify-content:space-between;color:#8090a7;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.resource-card h3{font-family:"Manrope";font-size:1.7rem;margin:30px 0 12px}.resource-card p{color:var(--muted);line-height:1.6}.resource-lines{display:grid;gap:10px;margin-top:34px}.resource-lines i{display:block;height:10px;border-radius:99px;background:#edf2f9}.resource-lines i:nth-child(2){width:84%}.resource-lines i:nth-child(3){width:92%}.resource-lines i:nth-child(4){width:68%}.star-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:42px}.star-grid span{aspect-ratio:1;border-radius:13px;display:grid;place-items:center;background:#fff;border:1px solid #d8eee9;color:#069d8e;font-family:"Manrope";font-weight:800}

.section--partner { background: #f4f8ff; }
.partner-wrap { border-radius: 34px; background: #fff; border: 1px solid #dfe7f4; padding: 56px; display: grid; grid-template-columns: 1fr .78fr; gap: 70px; align-items: center; box-shadow: 0 35px 90px rgba(39, 75, 132, .11); }
.partner-points { display:flex;flex-wrap:wrap;gap:9px;margin:28px 0}.partner-points span{padding:9px 12px;border:1px solid #dfe6f1;border-radius:999px;font-size:.78rem;font-weight:700;color:#53617a}.partner-panel{padding:22px;border-radius:28px;background:linear-gradient(145deg,#0e1e3f,#08142c)}.impact-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.impact-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:22px;color:#fff;min-height:120px}.impact-card--large{min-height:190px}.impact-card small{display:block;color:#8fa2bf;font-weight:800;font-size:.65rem;letter-spacing:.1em}.impact-card strong{display:block;font-family:"Manrope";font-size:1.1rem;margin-top:22px}.impact-card--large strong{font-size:1.5rem;max-width:260px}.impact-bar{height:8px;background:rgba(255,255,255,.09);border-radius:99px;margin-top:34px;overflow:hidden}.impact-bar i{display:block;height:100%;background:linear-gradient(90deg,#55dfd2,#5b8eff);border-radius:99px}

.final-cta { background: linear-gradient(120deg, #0f67f1 0%, #316cf0 56%, #09a99a 140%); color: #fff; padding: 80px 0; }
.final-cta-inner { display:flex;align-items:center;justify-content:space-between;gap:40px}.final-cta h2{font-size:clamp(2.3rem,4.7vw,4.5rem);max-width:800px;margin-bottom:0}

.site-footer { padding: 70px 0 40px; background: #fff; }
.footer-grid { display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:46px }.footer-brand img{width:175px}.footer-brand p{color:#748198;font-size:.9rem}.footer-grid > div:not(.footer-brand){display:flex;flex-direction:column;gap:10px;font-size:.88rem;color:#6a778e}.footer-grid strong{color:var(--ink);margin-bottom:7px}.footer-grid a:hover{color:var(--blue)}

.reveal { will-change: transform, opacity; }

@media (max-width: 980px) {
  .desktop-nav,.desktop-only{display:none}.menu-button{display:block}.mobile-nav{position:absolute;left:20px;right:20px;top:74px;background:#fff;border:1px solid #e3e9f3;border-radius:20px;padding:14px;box-shadow:var(--shadow);display:none;flex-direction:column}.mobile-nav.open{display:flex}.mobile-nav a{padding:13px 12px;border-radius:10px;font-weight:700}.mobile-nav a:hover{background:#f5f8ff;color:var(--blue)}
  .hero { grid-template-columns:1fr; gap:30px; padding-top:50px }.hero-copy{text-align:center}.hero-copy .eyebrow{justify-content:center}.hero-lede{margin-inline:auto}.hero-actions,.trust-strip{justify-content:center}.hero-visual{min-height:520px}.social-proof{padding-bottom:70px}
  .start-grid,.resources-grid,.partner-wrap{grid-template-columns:1fr;gap:48px}.system-map{grid-template-columns:1fr 1fr;}.system-arrow{display:none}.partner-panel{max-width:620px}.final-cta-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2}
}

@media (max-width: 680px) {
  :root { --shell: min(100% - 28px, 1180px); --radius-lg: 24px; }
  .nav-wrap{min-height:72px}.brand img{width:160px}.button--small{display:none}
  .hero{min-height:auto;padding-block:56px 66px}.hero h1{font-size:clamp(3.05rem,14vw,4.4rem)}.hero-lede{font-size:1rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.trust-strip{font-size:.82rem;gap:10px 16px}
  .hero-visual{min-height:470px}.beacon-ring--1{width:430px;height:430px}.beacon-ring--2{width:340px;height:340px}.resume-stack{width:100%;height:430px}.resume-card{inset:20px 16px;padding:24px}.floating-note--one{left:-4px;top:96px}.floating-note--two{right:-2px;bottom:66px}
  .section{padding:82px 0}.section-heading h2,.start-copy h2,.resources-copy h2,.partner-copy h2{font-size:2.5rem}.service-grid,.resource-cards{grid-template-columns:1fr}.service-card{min-height:320px;padding:28px}.resource-card--accent{transform:none}.start-grid{gap:38px}.funnel-card{padding:24px}.funnel-card h3{font-size:1.65rem}.system-map{grid-template-columns:1fr}.system-node{min-height:120px}.partner-wrap{padding:28px;border-radius:26px}.partner-panel{padding:14px}.impact-row{grid-template-columns:1fr}.final-cta{padding:66px 0}.final-cta h2{font-size:2.55rem}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}