@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
/* Locked V15 header wordmark: do not override in lesson pages. */
header nav > a.identity{display:flex;align-items:baseline;gap:9px;white-space:nowrap;text-decoration:none;color:#163B64}
header nav > a.identity .wordmark{font-family:Manrope,'DM Sans',sans-serif;font-weight:800;letter-spacing:-.085em;font-size:29px;line-height:1;color:#163B64}
header nav > a.identity .brand-cap{width:46px;height:46px;flex:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f9fb;color:#17365d;font-family:"DM Sans",Arial,sans-serif;line-height:1.55}a{color:inherit}header{background:#fff;border-bottom:1px solid #dce8f1}nav{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;flex-wrap:wrap}.logo{font-weight:900;font-size:22px;letter-spacing:-1px;color:#17365d}nav a{text-decoration:none;font-weight:700;font-size:14px}.links{display:flex;gap:22px;flex-wrap:wrap}main{max-width:1160px;margin:auto;padding:26px 24px 55px}.hero{padding:36px 38px;border-radius:24px;background:linear-gradient(125deg,#163b64,#286ea4);color:white;display:grid;grid-template-columns:1.5fr .8fr;gap:28px;align-items:center}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#7de0dc}.hero h1{font-family:Manrope,Arial,sans-serif;font-size:clamp(29px,4vw,52px);letter-spacing:-2px;line-height:1.11;margin:8px 0 12px}.hero p{max-width:670px}.hero aside{background:#ffffff13;border:1px solid #ffffff33;padding:22px;border-radius:18px}.hero aside b{color:#ffdc88}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{font-size:12px;font-weight:800;border:1px solid #ffffff55;border-radius:30px;padding:6px 11px}section{padding:35px 0 0}h2{font:800 clamp(22px,2.6vw,31px)/1.2 Manrope,Arial,sans-serif;margin:0 0 10px;letter-spacing:-.6px}.sub{color:#577088;margin:0 0 18px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{border:1px solid #dce8ed;background:white;border-radius:18px;padding:23px;box-shadow:0 6px 20px #163b6408}.card h3{margin:0 0 9px;font-size:18px}.card p{margin:0;color:#476179}.numeral{font-size:12px;display:inline-block;background:#e4f5f3;color:#137b83;font-weight:900;padding:5px 10px;border-radius:22px;margin-bottom:13px}.practice{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.controls button,.action{font:700 14px 'DM Sans',Arial,sans-serif;cursor:pointer;border-radius:10px;border:0;padding:12px 16px;background:#227a9c;color:white}.controls button:disabled{opacity:.5;cursor:not-allowed}.options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:20px 0}.choice{display:flex;align-items:center;gap:10px;padding:14px;border:1.5px solid #d4e4ee;border-radius:11px;background:#fafcfe;cursor:pointer}.choice:has(input:checked){border-color:#238b88;background:#e8f7f5}.choice input{accent-color:#238b88}.progress{color:#59778b;font-size:13px;font-weight:700}.feedback{margin-top:13px;border-left:4px solid #238b88;padding:11px 14px;background:#eaf8f6;border-radius:7px}.feedback.wrong{background:#fff6e6;border-color:#d1a24a}.meta{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px;color:#56738b;font-size:13px}.key{font-weight:800;color:#17365d}footer{background:#163b64;color:white;padding:26px;text-align:center;font-size:13px}footer a{color:white}.al{font-size:12px;background:#fff;color:#de862a;padding:2px 3px;border-radius:3px;font-weight:900;margin:0 4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e6aa37;outline-offset:3px}@media(max-width:750px){.hero,.practice{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.hero{padding:27px}.links{gap:12px}main{padding:18px 15px 40px}.options{grid-template-columns:1fr}}
/* Locked V15 header identity: exact cap SVG and GENIUS wordmark */
header nav a.identity{display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap;flex:0 0 auto;}
header nav a.identity .brand-cap{width:46px;height:46px;display:block;flex:none;}
header nav a.identity .wordmark{font-family:Manrope,Arial,sans-serif;font-weight:900;font-size:28px;letter-spacing:-1.35px;color:#163B64;line-height:1;}
@media(max-width:520px){header nav a.identity .brand-cap{width:38px;height:38px}header nav a.identity .wordmark{font-size:24px}}


/* Shared component locked to the approved V15 desktop wordmark specification. */
header nav a.identity .wordmark {font-family:Manrope,"DM Sans",sans-serif!important;font-weight:800!important;font-size:29px!important;letter-spacing:-.085em!important;line-height:1!important;color:#163B64!important}
header nav a.identity .brand-cap {width:46px;height:46px;flex:none}
.gn-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.gn-tools label{font:700 12px "DM Sans",sans-serif;color:#163B64}.gn-tools select,.gn-tools input{font:600 13px "DM Sans",sans-serif;background:#fff;border:1px solid #c9dce5;border-radius:9px;padding:9px;color:#163B64;min-width:125px}.gn-tools button{border:0;background:#163B64;color:#fff;border-radius:9px;padding:10px;font-weight:700;cursor:pointer}.gn-tools button:focus-visible,.gn-tools select:focus-visible{outline:3px solid #e6aa37;outline-offset:3px}.gn-search{background:#fff;border:1px solid #d7e4ec;border-radius:15px;padding:14px 18px;margin:18px auto;max-width:1160px}.gn-results a{display:block;padding:11px;border-top:1px solid #e7edf1;color:#163B64;font-weight:700}.gn-results p{margin:7px 0}.gn-note{font-size:12px;color:#55738d}
@media(max-width:900px){header nav{gap:12px}header nav .links{order:3;width:100%}}@media(max-width:520px){header nav a.identity .wordmark{font-size:29px!important}header nav a.identity .brand-cap{width:46px;height:46px}.gn-tools{width:100%;justify-content:space-between}.gn-tools input{max-width:125px;min-width:90px}}

/* CANONICAL LOCKED V15 BRAND: exact approved values */
header nav a.identity .wordmark{font-family:Manrope,"DM Sans",sans-serif!important;font-size:29px!important;font-weight:800!important;letter-spacing:-.085em!important;line-height:1!important;color:#163B64!important}
header nav a.identity .brand-cap{width:46px;height:46px;flex:none}
