@import url('variables.css');
@import url('reset.css');
@import url('components.css');
@import url('purchase.css');
@import url('student-results.css');

body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-sans); line-height: 1.65; font-size: 16px; }
::selection { background: #2467ff; color: white; }
:focus-visible { outline: 2px solid var(--color-blue-light); outline-offset: 5px; }
.container { width: min(var(--container-width), calc(100% - 80px)); margin-inline: auto; }
.section { padding-block: 100px; }
.section-muted { background: var(--color-bg-secondary); border-block: 1px solid var(--color-border); }
.eyebrow { display: flex; align-items: center; gap: 10px; color: var(--color-blue-light); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow::before { content: ''; height: 6px; width: 6px; background: currentColor; border-radius: 50%; flex-shrink: 0; }
h1, h2, h3, h4 { line-height: 1.12; }
h1 { letter-spacing: -.055em; font-size: clamp(42px, 5.3vw, 76px); font-weight: 700; }
h2 { letter-spacing: -.045em; font-size: clamp(32px, 3.8vw, 52px); font-weight: 700; }
h3 { letter-spacing: -.025em; font-size: 24px; }
p { color: var(--color-text-muted); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 42px; }
.section-heading h2 { margin-top: 17px; max-width: 690px; }
.section-heading > p { max-width: 330px; font-size: 15px; }
.gradient-text { color: var(--color-blue-light); background: linear-gradient(100deg, #9ae6ff, #468bff); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.lead { font-size: 18px; line-height: 1.75; }
.page-hero { padding: 92px 0 68px; background: radial-gradient(ellipse at 78% 0%, #132440 0, transparent 55%); }
.page-hero .eyebrow { margin-bottom: 24px; }
.page-hero h1 { max-width: 880px; }
.page-hero .lead { max-width: 670px; margin-top: 26px; }
.page-hero .button-row { margin-top: 32px; }
.page-hero + .section { padding-top: 44px; }
.muted { color: var(--color-text-muted); }
.small { font-size: 13px; }
.code-label { font-size: 11px; letter-spacing: .15em; color: #778aa3; text-transform: uppercase; }
.prose { max-width: 760px; }
.prose h2 { font-size: 26px; margin: 36px 0 15px; }
.prose p + p { margin-top: 20px; }
.reveal { transition: transform 650ms ease, opacity 650ms ease; }
.motion-ready .reveal:not(.is-visible) { opacity: 0; transform: translateY(18px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } }
