/* Grade by Grace — public pages. */
.hero{background:var(--card);border-bottom:1px solid var(--rule);padding:48px 0 56px}
.hero-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.hero h1{font-size:clamp(34px,5vw,56px);margin:.2em 0}
.lead{font-size:20px;color:var(--ink-2);max-width:56ch}
.hero-card{margin:0;background:var(--paper);border:1px solid var(--rule);border-radius:16px;padding:20px 22px}
.day{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.day li{display:flex;flex-direction:column;border-left:4px solid var(--gold);padding-left:12px}
.day span{color:var(--ink-3);font-size:15px}
.steps3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:16px}
.steps3 article,.features article{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:18px 20px}
.steps3 h3,.features h3{margin:.2em 0 .4em}
.steps3 p,.features p{margin:0;color:var(--ink-2)}
.num{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--navy);color:var(--navy-ink);font-weight:700}
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px;margin-bottom:16px}
.prose{max-width:72ch}
.prose h2{font-size:22px}
.grade-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.grade-tabs button{font:700 14px var(--sans);padding:8px 12px;border-radius:99px;border:1px solid var(--rule);background:var(--card);color:var(--ink-2);cursor:pointer}
.grade-tabs button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--navy-ink)}
.plan-subject{background:var(--card);border:1px solid var(--rule);border-radius:14px;padding:14px 18px;margin:12px 0}
.plan-subject .sems{display:grid;grid-template-columns:1fr 1fr;gap:4px 24px}
@media (max-width:720px){.plan-subject .sems{grid-template-columns:1fr}}
.plan-subject h4{margin:.5em 0 .2em;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.plan-subject ol{margin:0;padding-left:1.3em}
.plan-subject li{margin:3px 0}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:99px;background:var(--ok-bg);color:var(--ok-strong);margin-left:6px}
.state-facts{display:grid;grid-template-columns:200px 1fr;gap:8px 20px;margin:16px 0}
@media (max-width:640px){.state-facts{grid-template-columns:1fr}}
.state-facts dt{font-weight:700;color:var(--ink-2)}
.state-facts dd{margin:0}
