
:root {
  --ink:#17142f; --text:#17352d; --muted:#707386; --violet:#5f4bd8; --deep-violet:#342481;
  --lavender:#eeebff; --mint:#dff7ef; --sprout:#e3f5d4; --pine:#073f38; --line:rgba(75,71,126,.15);
  --shadow:0 24px 70px rgba(51,48,95,.14);
  font-family: Inter, "Noto Sans", "Segoe UI", Arial, sans-serif;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 12% 8%,rgba(220,213,255,.78),transparent 26rem),radial-gradient(circle at 88% 10%,rgba(223,247,239,.92),transparent 28rem),linear-gradient(135deg,#f9fbf6 0%,#f6f3ff 52%,#eef9f0 100%)}
a{color:inherit}
.page{width:min(1180px,calc(100% - 32px));margin:0 auto}
.top-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px 0 12px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:white;background:linear-gradient(135deg,var(--violet),var(--pine));font-weight:900}
.brand strong,.brand small{display:block}.brand strong{color:var(--ink)}.brand small{color:var(--muted)}
.nav-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.nav-links a,.button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 15px;border-radius:8px;font-weight:850;text-decoration:none}.nav-links a{color:var(--muted)}
.button.primary{color:white;background:linear-gradient(135deg,var(--pine),var(--deep-violet));box-shadow:0 12px 26px rgba(52,36,129,.18)}.button.secondary{border:1px solid var(--line);color:var(--deep-violet);background:rgba(255,255,255,.78)}
.hero,.panel,.module-card,.resource-card{border:1px solid rgba(255,255,255,.78);border-radius:18px;background:rgba(251,250,255,.76);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.hero{margin:28px 0 18px;padding:34px;background:linear-gradient(135deg,rgba(223,247,239,.92),rgba(238,235,255,.8))}
.eyebrow{margin:0 0 10px;color:var(--violet);font-size:12px;font-weight:900;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}h1{margin-bottom:16px;color:var(--ink);font-size:clamp(40px,6vw,68px);line-height:1;letter-spacing:0}h2{color:var(--ink);font-size:clamp(28px,4vw,42px);line-height:1.05;letter-spacing:0}h3{color:var(--ink);font-size:20px}p,li{color:var(--muted);line-height:1.6}.lead{max-width:760px;font-size:19px}
.section{padding:18px 0}.panel{padding:26px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.resource-card{padding:18px;min-height:180px}
.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.module-card{padding:18px}.module-card strong,.module-card span{display:block}.module-card strong{color:var(--ink);font-size:18px}.module-card span{margin:6px 0;color:var(--violet);font-size:12px;font-weight:900;text-transform:uppercase}.module-card em{display:inline-block;margin-top:8px;padding:5px 9px;border-radius:999px;color:var(--pine);background:var(--sprout);font-style:normal;font-size:12px;font-weight:850}
.site-footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:24px 0 34px;color:var(--muted);font-size:13px}.site-footer nav{display:flex;flex-wrap:wrap;gap:10px 14px}.site-footer a{color:var(--muted)}
@media(max-width:900px){.grid-3,.module-grid{grid-template-columns:1fr}}@media(max-width:640px){.page{width:min(100% - 20px,1180px)}.top-nav{align-items:flex-start;flex-direction:column}.nav-links,.nav-links a,.button{width:100%}.hero,.panel{padding:22px}}
