:root{--ink:#17123A;--deep:#2A1F63;--violet:#4A38C9;--violet-lift:#5B49D8;--wash:#F0EDFC;--line:#E3E0F5;--coral:#E8613C;--mint:#17A17A;--body:#55507A;--faint:#8B86AC;--paper:#FFFFFF;--shell:#FAF9FD}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-size:17px;line-height:1.65}
h1,h2,h3,h4{font-family:'Instrument Sans','Inter',sans-serif;font-weight:600;letter-spacing:-0.025em;line-height:1.12}
h1{font-size:clamp(2.1rem,4.6vw,3.5rem)}
h2{font-size:clamp(1.55rem,2.9vw,2.25rem)}
h3{font-size:1.15rem;letter-spacing:-0.015em}
p{color:var(--body)}
a{color:inherit;text-decoration:none}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
.eyebrow{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--coral);font-weight:600;margin-bottom:1rem}
.eyebrow.v{color:var(--violet)}
.eyebrow.pale{color:#B8AFEA}
section{padding:5.5rem 0}
section.tight{padding:3.5rem 0}

header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.navbar{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:1.06rem;letter-spacing:-.02em}
.navlinks{display:flex;align-items:center;gap:1.9rem;font-size:.9rem;color:var(--body)}
.navlinks a{transition:color .15s}
.navlinks a:hover,.navlinks a.on{color:var(--violet)}
.navcta{display:flex;gap:.6rem;align-items:center}
.btn{display:inline-block;font-size:.88rem;font-weight:500;padding:.62rem 1.15rem;border-radius:7px;transition:all .16s;white-space:nowrap;border:1px solid transparent;cursor:pointer}
.btn-solid{background:var(--violet);color:#fff}
.btn-solid:hover{background:var(--violet-lift)}
.btn-ghost{border-color:var(--line);color:var(--violet)}
.btn-ghost:hover{border-color:var(--violet);background:var(--wash)}
.btn-coral{background:var(--coral);color:#fff}
.btn-coral:hover{background:#D4522E}
.btn-green{background:#17A17A;color:#fff}
.btn-green:hover{background:#129073}
.btn-blue{background:#1D5CA8;color:#fff}
.btn-blue:hover{background:#17488A}
.btn-light{background:#fff;color:var(--ink)}
.btn-outline-light{border-color:#544A96;color:#DCD6F5}
.btn-outline-light:hover{border-color:#8578D8}
.btn-lg{padding:.85rem 1.6rem;font-size:.95rem}
.burger{display:none;background:none;border:0;font-size:1.5rem;color:var(--ink);cursor:pointer;line-height:1}
.mobile-menu{display:none}

.hero{padding:5rem 0 0;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:4rem;align-items:center}
.hero h1{margin-bottom:1.35rem}
.hero .lede{font-size:1.16rem;line-height:1.7;max-width:33rem;margin-bottom:2rem}
.hero-actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:4.5rem}
.hero-img{position:relative;align-self:stretch;min-height:430px;background:var(--deep);border-radius:14px 14px 0 0;overflow:hidden;margin-bottom:-1px}
.hero-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.82;mix-blend-mode:luminosity}
.hero-img::after{content:'';position:absolute;inset:0;background:var(--violet);opacity:.34}
.hero-img.plain img{opacity:1;mix-blend-mode:normal}
.hero-img.plain::after{display:none}
.hero-img.plain{background:#17123A}

.stats{background:var(--shell);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:2.1rem 0 2.1rem 2rem;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat .n{font-family:'Instrument Sans',sans-serif;font-size:2.15rem;font-weight:600;color:var(--violet);letter-spacing:-.03em;line-height:1}
.stat .l{font-size:.85rem;color:var(--body);margin-top:.45rem}

.mr-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.5rem}
.mr{border:1px solid var(--line);border-radius:12px;padding:1.6rem 1.7rem}
.mr.real{background:var(--wash);border-color:#D4CDF3}
.mr .tag{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;font-weight:600;margin-bottom:.7rem}
.mr.myth .tag{color:#B0492A}
.mr.real .tag{color:var(--violet)}
.mr p{font-size:1.06rem;color:var(--ink);line-height:1.5}
.mr-set{display:flex;flex-direction:column;gap:1rem}
.acc-real{cursor:pointer}
.acc-real summary{list-style:none;position:relative;padding-right:1.6rem}
.acc-real summary::-webkit-details-marker{display:none}
.acc-real-plus{position:absolute;top:0;right:0;font-size:1.2rem;color:var(--violet);font-weight:400;transition:transform .18s}
.acc-real[open] .acc-real-plus{transform:rotate(45deg)}
.acc-real-body{margin-top:.9rem;padding-top:.9rem;border-top:1px solid #D4CDF3;display:flex;flex-direction:column;gap:.4rem}
.acc-real-body p{color:var(--body)}

.two{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.75rem}
.card{border:1px solid var(--line);border-radius:14px;padding:2rem;transition:border-color .16s}
.card:hover{border-color:#C9C1EE}
.card .ic{width:42px;height:42px;border-radius:10px;background:var(--wash);display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.card h3{margin-bottom:.6rem}
.card p{font-size:.95rem;margin-bottom:1.2rem}
.pills{display:flex;gap:.4rem;flex-wrap:wrap}
.pill{font-size:.78rem;background:var(--wash);color:#3B2C9E;padding:.28rem .68rem;border-radius:5px;font-weight:500}
.pill.mint{background:#E3F5EF;color:#0F6E56}
.pill.green{background:#E3F5EF;color:#0F6E56}
.pill.blue{background:#E6F0FB;color:#1D5CA8}

.three{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2.75rem}
.lede-2{font-size:1.08rem;max-width:44rem}

.partners{display:grid;grid-template-columns:repeat(5,1fr);gap:.8rem;margin-top:2.25rem}
.plogo{border:1px solid var(--line);border-radius:9px;height:76px;display:flex;align-items:center;justify-content:center;font-size:.86rem;color:var(--body);font-weight:500;text-align:center;padding:0 .5rem}

.reach-map-wrap{position:relative;width:100%;aspect-ratio:3/2;border-radius:14px;overflow:hidden;background:var(--wash)}
.reach-map-wrap img{width:100%;height:100%;object-fit:cover;display:block}
.reach-marker{position:absolute;border-radius:50%;background:var(--coral);opacity:.85;transform:translate(-50%,-50%);border:2px solid #fff;box-shadow:0 2px 8px rgba(23,18,58,.25);cursor:default;transition:opacity .15s,transform .15s}
.reach-marker:hover{opacity:1;transform:translate(-50%,-50%) scale(1.12);z-index:5}

.steps{margin-top:2.75rem;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:130px 1fr;gap:2rem;padding:1.65rem 0;border-bottom:1px solid var(--line)}
.step .when{font-size:.82rem;color:var(--faint);font-weight:500;padding-top:.2rem}
.step h4{font-size:1.02rem;margin-bottom:.3rem}
.step p{font-size:.94rem}

.dark{background:var(--ink);color:#fff}
.dark h2,.dark h3{color:#fff}
.dark p{color:#B8AFEA}
.dark .lede-2{color:#C9C2EC;font-size:1.1rem}
.opps{display:grid;gap:1rem;margin-top:2.5rem}
.opp{border:1px solid #D4CDF3;border-radius:12px;padding:1.6rem 1.8rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;background:#E7E1FA}
.opp h4{font-size:1.05rem;color:var(--ink);margin-bottom:.35rem}
.opp p{font-size:.92rem;margin:0}
.opp .amt{font-size:.83rem;color:var(--faint);white-space:nowrap;text-align:right}

.modules{margin-top:2rem;border-top:1px solid var(--line)}
.mod{display:grid;grid-template-columns:34px 1fr;gap:1.1rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.mod .num{font-size:.85rem;color:var(--faint);font-weight:600;padding-top:.15rem}
.mod h4{font-size:1rem;margin-bottom:.2rem}
.mod p{font-size:.9rem;margin:0}

.course-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;align-items:stretch}
.course-card{border:1px solid var(--line);border-radius:14px;padding:0 1.75rem;display:flex;flex-direction:column}
.course-card>div:last-child{margin-top:auto !important}
.course-card-violet{background:#E9F7F1;border-color:#B8E3CD}
.course-card-violet .course-acc-toggle{border-color:#B8E3CD;color:#17A17A}
.course-card-violet[open] .course-acc-toggle{background:#D7F0E4}
.course-card-coral{background:#E9F1FB;border-color:#BBD3F0}
.course-card-coral .course-acc-toggle{border-color:#BBD3F0;color:#1D5CA8}
.course-card-coral[open] .course-acc-toggle{background:#D9E7F8}
.course-card summary{padding:1.75rem 0}
@media(max-width:900px){.course-cols{grid-template-columns:1fr}}
.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.75rem;align-items:center}
.split-grid-wide{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:stretch}
@media(max-width:900px){.split-grid,.split-grid-wide{grid-template-columns:1fr}}
@media(max-width:640px){.t-slide-photo{flex-direction:column;text-align:center}.t-slide-photo img{margin:0 auto}}
.course-acc{border:none}
.course-acc summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;cursor:pointer;list-style:none;padding:1.5rem 0}
.course-acc summary::-webkit-details-marker{display:none}
.course-acc-toggle{flex-shrink:0;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:400;color:var(--violet);transition:transform .18s,background .16s}
.course-acc[open] .course-acc-toggle{transform:rotate(45deg);background:var(--wash)}
details.course-card-violet[open] .course-acc-toggle{background:#D7F0E4}
details.course-card-coral[open] .course-acc-toggle{background:#D9E7F8}
.course-acc summary:hover .course-acc-toggle{border-color:var(--violet)}
.course-acc-body{padding-bottom:1rem}

.accordion{margin-top:2rem;border-top:1px solid var(--line)}
.acc-item{border-bottom:1px solid var(--line)}
.acc-item summary{display:flex;align-items:center;gap:1.1rem;padding:1.15rem 0;cursor:pointer;list-style:none;font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:1rem;color:var(--ink)}
.acc-item summary::-webkit-details-marker{display:none}
.acc-item summary::after{content:'+';margin-left:auto;font-size:1.3rem;font-weight:400;color:var(--violet);transition:transform .18s}
.acc-item[open] summary::after{transform:rotate(45deg)}
.acc-item summary .num{font-size:.85rem;color:var(--faint);font-weight:600;min-width:26px}
.acc-item summary:hover .t{color:var(--violet)}
.acc-item p{font-size:.92rem;padding:0 0 1.3rem 45px;margin:0}
.objlist{list-style:none;margin-top:1.5rem}
.objlist li{padding:.7rem 0 .7rem 1.8rem;border-bottom:1px solid var(--line);position:relative;font-size:.98rem;color:var(--body)}
.objlist li::before{content:'';position:absolute;left:0;top:1.25rem;width:8px;height:8px;border-radius:2px;background:#1D5CA8}

.testimonial-carousel{position:relative;min-height:11rem}
.t-slide{position:absolute;inset:0;margin-top:0;opacity:0;visibility:hidden;transition:opacity .5s ease}
.t-slide.is-active{position:relative;opacity:1;visibility:visible}
.t-dots{display:flex;gap:.5rem;justify-content:center;margin-top:1.5rem}
.t-dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--line);cursor:pointer;padding:0;transition:background .16s,transform .16s}
.t-dot.is-active{background:var(--violet);transform:scale(1.25)}

.callout{background:var(--wash);border-radius:14px;padding:2.4rem 2.6rem;margin-top:3rem}
.callout h3{margin-bottom:.6rem}
.callout p{font-size:.99rem;max-width:42rem}
.imgband{height:340px;border-radius:14px;overflow:hidden;position:relative;background:var(--deep);margin-top:3rem}
.imgband img{width:100%;height:100%;object-fit:cover;opacity:.8;mix-blend-mode:luminosity}
.imgband::after{content:'';position:absolute;inset:0;background:var(--violet);opacity:.3}

footer.ft{background:var(--ink);color:#B8AFEA;padding:4rem 0 2.25rem;font-size:.9rem}
.ft-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid #2E2760}
.ft h5{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:#7E74C4;margin-bottom:1rem;font-weight:600;font-family:'Inter',sans-serif}
.ft ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.ft a:hover{color:#fff}
.ft-base{padding-top:1.75rem;display:flex;justify-content:space-between;gap:1.5rem;font-size:.82rem;color:#6F66AE;flex-wrap:wrap}
.founded{font-size:.86rem;color:#B8AFEA;line-height:1.6;max-width:22rem;margin-top:.9rem}

@media(max-width:900px){
.navlinks{display:none}
.burger{display:block}
.mobile-menu{position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;padding:1rem 28px 1.5rem;gap:0;box-shadow:0 12px 24px rgba(23,18,58,.08)}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--body)}
.mobile-menu-cta{display:flex;flex-direction:column;gap:.6rem;margin-top:1.1rem}
.mobile-menu-cta .btn{text-align:center;border-bottom:none;padding:.62rem 1.15rem}
.mobile-menu-cta .btn-solid{color:#fff}
.mobile-menu-cta .btn-coral{color:#fff}
.mobile-menu-cta .btn-ghost{color:var(--violet)}
.hero-grid,.two,.mr-grid{grid-template-columns:1fr}
.hero-img{min-height:280px;border-radius:14px;margin-bottom:2.5rem}
.three{grid-template-columns:1fr}
.stats-grid{grid-template-columns:1fr 1fr}
.stat{padding:1.5rem 0 1.5rem 1.5rem}
.stat:nth-child(3){border-left:0;padding-left:0}
.partners{grid-template-columns:repeat(2,1fr)}
.step,.opp{grid-template-columns:1fr;gap:.5rem}
.opp .amt{text-align:left}
.ft-grid{grid-template-columns:1fr 1fr}
section{padding:3.75rem 0}
}
