.editorial-hero{background:#211b31;color:#fff;padding:45px 0 60px}.editorial-hero h1{max-width:1000px;font-size:clamp(34px,4.4vw,62px);line-height:1.13;letter-spacing:-.035em;margin:20px 0}.editorial-hero p{max-width:800px;font-size:20px;line-height:1.65;color:#e1dce9}.editorial-crumb{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;margin-bottom:38px;color:#c7bcd9}.editorial-crumb a{color:inherit}.editorial-kicker{text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:750;color:#7051b6}.editorial-hero .editorial-kicker{color:#d2f3a2}.article-byline{display:flex;flex-wrap:wrap;gap:9px;color:#c7bcd9;font-size:13px;margin-top:28px}.editorial-library,.related-reading{padding-top:45px;padding-bottom:70px}.topic-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.topic-tabs a{padding:11px 16px;border:1px solid #dcd6e4;border-radius:999px;color:#3c3151;background:#fff;text-decoration:none;font-size:14px}.topic-tabs a[aria-current]{background:#5630be;color:#fff;border-color:#5630be}.article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.article-card{padding:26px;border:1px solid #ded8e8;border-radius:20px;background:#fff;position:relative;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.article-card:hover{border-color:#825fca;transform:translateY(-3px)}.article-category{font-size:12px;color:#7051a3;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.article-card h3{font-size:23px;line-height:1.3;margin:20px 0 14px}.article-card h3 a{color:#251e34;text-decoration:none}.article-card h3 a:after{content:"";position:absolute;inset:0;border-radius:20px}.article-card h3 a:focus-visible{outline:3px solid #6841cb;outline-offset:5px}.article-card p{font-size:16px;line-height:1.6;color:#655d70;margin:0 0 24px}.article-card-end{margin-top:auto;display:flex;justify-content:space-between;color:#5434a1;font-size:14px;font-weight:650}.article-card-end b{font-size:22px}.editorial-layout{display:grid;grid-template-columns:250px minmax(0,740px);gap:65px;align-items:start;padding-top:55px;padding-bottom:40px}.editorial-toc{position:sticky;top:110px;display:flex;flex-direction:column;gap:16px;font-size:14px;line-height:1.45}.editorial-toc strong{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#78698e}.editorial-toc a{color:#4e4164;text-decoration:none}.editorial-toc a:hover{text-decoration:underline}.editorial-body{font-size:19px;line-height:1.78;color:#332b41;min-width:0}.editorial-body section{margin-bottom:40px;scroll-margin-top:115px}.editorial-body h2{font-size:clamp(25px,2.7vw,34px);line-height:1.25;letter-spacing:-.025em;color:#241c32;margin:0 0 22px}.editorial-body h3{font-size:22px;line-height:1.4;margin:28px 0 10px}.editorial-body p{margin:0 0 20px}.editorial-body a,.related-reading>p a{color:#6039b2;text-underline-offset:3px}.editorial-body ol{padding-left:25px}.editorial-body li{padding-left:5px;margin:12px 0}.worked-example{background:#eeebf6;border-left:4px solid #6841ca;border-radius:0 16px 16px 0;padding:24px 26px;margin:28px 0}.worked-example strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#563897}.worked-example p{margin:12px 0 0}.article-sources{border-top:1px solid #ded8e8;padding-top:30px;font-size:15px}.article-sources h2{font-size:22px}.editorial-cta{padding:34px;border-radius:22px;background:#eee8fa;margin:40px 0;display:flex;gap:30px;align-items:center}.editorial-cta h2{font-size:30px;line-height:1.2;letter-spacing:-.02em;margin:14px 0}.editorial-cta p{font-size:16px;line-height:1.65;color:#50435f;margin:0 0 14px}.editorial-cta-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.editorial-cta .public-button{white-space:normal;text-align:center}.editorial-body .editorial-cta{display:block}.editorial-body .editorial-cta-actions{margin-top:24px}.cta-note{font-size:13px!important;line-height:1.55!important}.related-reading h2,.landing-fit h2{font-size:32px;letter-spacing:-.02em;line-height:1.25;margin:15px 0 30px}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:70px;align-items:center}.landing-hero-grid h1{font-size:clamp(36px,4vw,56px)}.landing-price{border:1px solid #746187;background:#30253f;padding:28px;border-radius:24px}.landing-price>span{color:#bfb1d0;font-size:13px}.landing-price strong{display:block;font-size:34px;letter-spacing:-.03em;color:#d5ff5f;margin:16px 0}.landing-price p{font-size:15px}.landing-price a{color:#fff}.landing-fit{padding-top:50px;padding-bottom:20px}.landing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.landing-cards>div{background:#f0ecf7;border-radius:18px;padding:28px}.landing-cards h3{font-size:25px;margin:12px 0}.landing-cards p{line-height:1.65;color:#63596f;font-size:17px}.landing-step{font-size:13px;font-weight:700;color:#775aaa}.landing-individual .landing-cards{grid-template-columns:1fr}.landing-individual .landing-cards>div{display:grid;grid-template-columns:50px 160px 1fr;gap:20px;align-items:center;background:white;border-bottom:1px solid #ddd5e6;border-radius:0}.landing-individual .landing-cards h3{margin:0}.landing-group .landing-cards>div{border-top:4px solid #6740bd;background:transparent;border-radius:0}.landing-directions{font-size:16px}.consent-panel{position:fixed;bottom:16px;left:16px;right:16px;z-index:1500;margin:0 auto;max-width:850px;padding:22px 24px;border:1px solid #cfc4e3;border-radius:18px;background:#fff;color:#2b223a;box-shadow:0 6px 40px #24193430;display:flex;gap:22px;align-items:center}.consent-panel[hidden]{display:none}.consent-panel p{font-size:14px;line-height:1.55;margin:0}.consent-panel a{color:#623bb7}.consent-actions{display:flex;gap:8px;flex-wrap:wrap;flex-shrink:0;max-width:245px}.consent-actions button,.analytics-settings{font:inherit;cursor:pointer;border:1px solid #bcb0d1;background:#fff;color:#3c2c55;border-radius:8px;padding:10px 13px;font-size:13px}.consent-actions button[data-analytics-accept]{background:#5c34bd;color:#fff;border-color:#5c34bd}.analytics-settings{margin-top:12px}.consent-actions button:focus-visible,.analytics-settings:focus-visible{outline:3px solid #8051da;outline-offset:3px}.privacy-choice-status{font-size:13px;color:#655575}.editorial-hero a:focus-visible{outline:3px solid #d5ff5f;outline-offset:4px}
@media(max-width:1000px){.editorial-layout{gap:30px;grid-template-columns:210px minmax(0,1fr)}.article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-hero-grid{gap:25px}.editorial-cta{display:block}.editorial-cta-actions{margin-top:20px;align-items:flex-start}}
@media(max-width:720px){.editorial-hero{padding:30px 0 40px}.editorial-hero p{font-size:18px}.editorial-crumb{margin-bottom:25px}.editorial-layout{display:block;padding-top:30px}.editorial-toc{position:static;background:#f0ecf7;border-radius:16px;padding:22px;margin-bottom:35px}.editorial-body{font-size:18px}.article-grid,.landing-cards,.landing-hero-grid{grid-template-columns:1fr}.article-card{padding:24px}.landing-price{max-width:100%}.landing-individual .landing-cards>div{grid-template-columns:35px 1fr;gap:12px}.landing-individual .landing-cards>div p{grid-column:2;margin-top:0}.editorial-cta{padding:25px}.editorial-cta-actions{align-items:stretch}.consent-panel{display:block;padding:18px;bottom:10px;left:10px;right:10px}.consent-actions{margin-top:12px;max-width:none}.worked-example{padding:20px}.related-reading{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){.article-card{transition:none}.article-card:hover{transform:none}}
.editorial-hero{padding-top:120px}
@media(max-width:720px){.editorial-hero{padding-top:104px}}
/* Small supporting text stays readable on both light and dark surfaces. */
.public-header .public-brand small,.levels-note{color:#5b5666}
.results-caption,.student-voices blockquote footer{color:#eee8fa}
.footer-brand small,.footer-about p,.footer-bottom,.footer-grid nav a,.footer-contact a,.footer-contact span{color:#b6b2c0}
.footer-grid nav a:hover,.footer-contact a:hover{color:var(--signal)}
.article-practice-label{font-size:14px!important;color:#d2f3a2!important;margin-top:18px}.article-figure{margin:30px 0}.article-figure img{display:block;width:100%;height:auto;border-radius:20px}.article-figure figcaption{font-size:14px;line-height:1.6;color:#655773;margin-top:12px}.article-table-wrap{overflow-x:auto;max-width:100%;margin:28px 0;border:1px solid #d9d1e5;border-radius:16px}.article-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.6}.article-table caption{text-align:left;padding:18px 20px;background:#eee8f8;font-weight:700;color:#3d2b58}.article-table th,.article-table td{padding:16px;text-align:left;vertical-align:top;border-bottom:1px solid #e2dcea;min-width:130px}.article-table th{background:#f8f6fb;font-size:14px}.article-table tr:last-child td{border:0}.article-exercises{margin:28px 0}.exercise-instruction{font-size:15px;color:#655773}.article-exercise{border:1px solid #d8cee7;border-radius:18px;padding:24px;margin:18px 0;background:#fff}.article-exercise h3{font-size:19px;margin:0 0 16px}.article-exercise summary,.grade-example summary{cursor:pointer;color:#5630ad;font-weight:650;font-size:16px}.article-exercise details p,.grade-example details p{margin:18px 0 0}.article-faq details{padding:20px 0;border-bottom:1px solid #dcd4e6}.article-faq summary{cursor:pointer;list-style-position:outside;margin-left:20px;color:#362448}.article-faq summary h3{display:inline;font-size:20px;line-height:1.45;font-weight:650;margin:0}.article-faq details p{margin:18px 0 0;font-size:17px;line-height:1.7}.article-service-link{border-left:4px solid #6334c7;padding:16px 22px;background:#f2eef8;border-radius:0 12px 12px 0}.article-service-link p{font-size:16px;margin:10px 0 0}.article-faq summary:focus-visible,.article-exercise summary:focus-visible,.grade-example summary:focus-visible,.grade-navigation a:focus-visible,.blog-start a:focus-visible{outline:3px solid #6841cb;outline-offset:5px}.grade-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.grade-navigation a{display:flex;flex-direction:column;gap:10px;padding:24px 20px;background:#f0ebfa;border:1px solid #d5c8ea;border-radius:18px;text-decoration:none;color:#35214f}.grade-navigation strong{font-size:27px;letter-spacing:-.03em}.grade-navigation span{font-size:14px;line-height:1.5;color:#62516f}.grade-navigation a:hover,.grade-navigation a[aria-current]{border-color:#6034bc;background:#e8dff6}.service-grade-picker{padding-top:42px;padding-bottom:20px}.service-grade-picker h2,.blog-school h2,.blog-start h2{font-size:30px;line-height:1.25;letter-spacing:-.025em;margin:10px 0 18px}.service-grade-picker p,.blog-school p{font-size:17px;line-height:1.65;color:#655773}.grade-example>p{font-size:20px;line-height:1.7;max-width:850px}.grade-example details{padding:25px;border:1px solid #d5c8ea;border-radius:18px;background:#f5f1fc;max-width:850px;font-size:18px;line-height:1.75}.blog-start{padding:30px;border-radius:24px;background:#eeebf4;margin-bottom:45px}.blog-start-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.blog-start-links a{padding:22px;background:#fff;border:1px solid #dcd2ea;border-radius:16px;text-decoration:none;color:#493061;display:flex;flex-direction:column;gap:12px;font-size:18px;line-height:1.4}.blog-start-links span{font-size:14px;line-height:1.55;color:#655773}.blog-school{margin-bottom:50px}.blog-faq{max-width:850px;margin-top:50px}.blog-faq h2{font-size:30px}.article-card-end{font-size:12px;line-height:1.5;gap:12px}.editorial-toc{max-height:calc(100vh - 140px);overflow-y:auto;padding-right:8px}
@media(max-width:900px){.grade-navigation{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-start-links{grid-template-columns:1fr}}
@media(max-width:720px){.editorial-toc{max-height:none;overflow:visible}.article-exercise{padding:20px}.article-table th,.article-table td{padding:13px;min-width:125px}.blog-start{padding:22px}.grade-navigation{gap:10px}.grade-navigation a{padding:20px 15px}.grade-navigation strong{font-size:25px}.grade-navigation span{font-size:13px}.article-faq summary h3{font-size:19px}.article-faq details p{font-size:17px}.service-grade-picker h2,.blog-school h2,.blog-start h2{font-size:26px}}
