/* Shared multipage design, using the existing light/dark theme tokens. */
html { scroll-padding-top: 28px; }
.site-shell { display:flex; flex-direction:column; gap:14px; }
.site-shell > main { flex:1; }
.site-header { box-shadow:0 8px 30px rgba(0,0,0,.08); }
.site-header .brand-picture img { width:58px;height:50px;object-fit:contain; }
.site-header .brand-text { min-width:0; }
.main-nav a { text-decoration:none !important; }
.main-nav a::after { content:none !important; }
.main-nav a[aria-current="page"] { color:var(--cyan); }
.site-skip { position:absolute;z-index:999;top:8px;inset-inline-start:20px;transform:translateY(-150%);padding:12px 18px;border-radius:12px;background:var(--text);color:var(--bg); }
.site-skip:focus { transform:translateY(0); }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible { outline:3px solid var(--cyan);outline-offset:4px; }
.language-menu a { display:block;padding:11px 17px;color:var(--text);text-decoration:none;border-radius:10px;font-size:14px; }
.language-menu a:hover,.language-menu a[aria-current="true"] { background:rgba(50,125,235,.14);color:var(--cyan); }
.language-menu { min-width:145px; }
.site-main { width:min(1200px,100%);margin:0 auto; padding:12px 16px 28px; }
.site-breadcrumb { margin:4px 0 14px;font-size:14px;color:var(--muted); }
.site-breadcrumb ol { list-style:none;padding:0;display:flex;gap:10px;flex-wrap:wrap; }
.site-breadcrumb a { color:var(--muted);text-decoration:none; }
.site-breadcrumb li+li::before { content:"/";margin-inline-end:10px;opacity:.5; }
.site-kicker { font-size:12px;line-height:1.8;letter-spacing:.04em;color:var(--cyan);font-weight:700;margin:0 0 15px; }
.site-hero { display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);align-items:center;gap:64px;padding:54px 0 70px; }
.site-hero h1 { font-size:clamp(32px,4vw,58px);line-height:1.5;letter-spacing:-.025em;margin:0 0 22px;font-weight:800; }
html[lang="en"] .site-hero h1 { line-height:1.18; }
.site-hero h1 span { display:block;color:var(--cyan); }
.site-lead { font-size:17px;line-height:2.05;color:var(--muted);max-width:700px;margin:0 0 24px; }
.site-actions { display:flex;gap:12px;flex-wrap:wrap;align-items:center; }
.site-button { display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 21px;border-radius:12px;border:1px solid var(--line);color:var(--text);font-size:14px;font-weight:700;text-decoration:none;background:var(--surface);cursor:pointer; }
.site-button.primary { color:#fff;background:linear-gradient(110deg,#2268ed,#6743df);border-color:transparent; }
.site-button:hover { border-color:var(--cyan);filter:brightness(1.07); }
.site-button svg { width:18px;height:18px; }
.site-note { color:var(--muted);font-size:13px;line-height:1.9;margin-top:18px; }
.journey { background:linear-gradient(155deg,rgba(42,128,240,.13),rgba(126,72,213,.08));border:1px solid var(--line);border-radius:26px;padding:30px;position:relative; }
.journey > .journey-symbol { display:flex;align-items:center;justify-content:center;width:82px;height:82px;margin-bottom:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface); }
.journey-symbol svg { width:40px;height:40px;color:var(--cyan); }
.journey > h2 { font-size:21px;margin:0 0 20px; }
.journey ol { list-style:none;padding:0;margin:0; }
.journey li { padding:16px 0;border-top:1px solid var(--line); }
.journey strong { color:var(--text);font-size:14px; }
.journey p { font-size:13px;color:var(--muted);line-height:1.85;margin:8px 0 0; }
.site-section { margin:28px 0 64px; }
.site-section-heading { margin-bottom:26px;max-width:760px; }
.site-section-heading h2 { font-size:clamp(24px,3vw,33px);line-height:1.6;margin:0 0 8px; }
.site-section-heading p { margin:0;color:var(--muted);font-size:15px;line-height:1.95; }
.site-card-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.site-card { border:1px solid var(--line);border-radius:20px;padding:26px;background:var(--surface);display:flex;flex-direction:column;align-items:flex-start;min-width:0; }
.site-card-icon { color:var(--cyan);width:48px;height:48px;border-radius:13px;background:rgba(47,129,226,.10);display:grid;place-items:center;margin-bottom:22px; }
.site-card-icon svg { width:26px;height:26px; }
.site-card h2,.site-card h3 { font-size:20px;line-height:1.7;margin:14px 0 10px; }
.site-card p { font-size:14px;line-height:2;color:var(--muted);margin:0 0 22px; }
.site-card > a { margin-top:auto;color:var(--cyan);text-decoration:none;font-weight:700;font-size:14px; }
.site-badge { display:inline-flex;font-size:11px;line-height:1.7;border:1px solid var(--line);padding:4px 9px;border-radius:30px;color:var(--muted); }
.site-badge.live { border-color:rgba(24,167,132,.4);color:#41c8a2;background:rgba(24,167,132,.05); }
html[data-theme="light"] .site-badge.live { color:#087458; }
.site-steps { counter-reset:step;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px; }
.site-steps li { border-top:1px solid var(--line);padding-top:20px; }
.site-steps li::before { counter-increment:step;content:"0" counter(step);display:block;font-size:25px;direction:ltr;color:var(--cyan);margin-bottom:14px; }
.site-steps h3 { font-size:17px;line-height:1.8;margin:0 0 10px; }
.site-steps p { color:var(--muted);font-size:14px;line-height:2; }
.site-callout { border:1px solid var(--line);border-radius:22px;padding:34px;background:linear-gradient(115deg,rgba(34,104,237,.07),rgba(105,55,209,.09)); }
.site-callout h2 { margin:0 0 16px;font-size:24px;line-height:1.7; }
.site-callout p { max-width:850px;color:var(--muted);font-size:15px;line-height:2;margin:0 0 22px; }
.site-page-heading { max-width:830px;margin-bottom:18px; }
.site-page-heading h1 { font-size:clamp(26px,3vw,34px);line-height:1.6;margin:0 0 8px; }
.site-page-heading .site-lead{font-size:16px;line-height:1.9;margin-bottom:12px}
.site-two { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px; }
.site-two > * { min-width:0; }
.site-article h2 { font-size:24px;margin:0 0 20px;line-height:1.7; }
.site-article p { color:var(--muted);font-size:16px;line-height:2.1;margin:0 0 25px; }
.site-rule { border:0;border-top:1px solid var(--line);margin:36px 0; }
.grade-jumps { display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 30px; }
.grade-jumps a { border:1px solid var(--line);border-radius:9px;padding:8px 13px;color:var(--text);text-decoration:none;font-size:13px; }
.grade-jumps a:hover { color:var(--cyan);border-color:var(--cyan); }
.site-shell .grade-emblem { flex:0 0 58px; }
.site-shell .grade-emblem::before,.site-shell .grade-emblem::after { content:none; }
.site-shell .grade-number { width:48px;height:48px;border-radius:14px;background:rgba(36,116,231,.12);border:1px solid var(--line);color:var(--cyan);font-size:19px; }
.downloads-section { width:100%; }
.site-main #simulator { width:100%;margin:30px 0 0; }
.site-main.compact-exam #simulator{margin-top:16px}
.compact-exam .exam-compact-note{font-size:14px;line-height:1.9;margin:0 0 12px}
.compact-archive .forms-downloads{padding:18px;margin:0;border-radius:16px}
.compact-archive .forms-heading{margin-bottom:16px}
.compact-archive .forms-heading .site-kicker{display:none}
.compact-archive .forms-heading h2{font-size:20px;margin:0 0 6px}
.compact-archive .forms-heading p{font-size:14px;line-height:1.8;margin:0}
.compact-archive .forms-filters{gap:10px}
.compact-archive .forms-filter-field{font-size:14px}
.compact-archive .forms-filters input{font-size:16px}
.compact-archive .form-file-info strong{font-size:15px;line-height:1.8}
.compact-archive .form-file-info span{font-size:13px}
@media(max-width:600px){.compact-archive .forms-downloads{padding:12px}.compact-archive .forms-heading{gap:10px}.compact-archive .forms-heading h2{font-size:18px}}
.contact-methods { margin-bottom:40px; }
.contact-methods .site-card > a { overflow-wrap:anywhere;font-family:inherit; }
.site-hours { width:100%;border-collapse:collapse;text-align:start;font-size:13px; }
.site-hours th,.site-hours td { text-align:start;padding:14px 8px;border-bottom:1px solid var(--line);line-height:1.8; }
.site-hours td { white-space:nowrap; }
.site-hours th { font-weight:600; }
.site-hours thead { color:var(--muted); }
.site-hours bdi { display:inline-block; }
.site-hours .day-off { color:var(--muted); }
.site-main .legal-layout { margin-top:20px; }
.site-shell .legal-paper { background:var(--surface2); }
.site-shell .legal-paper p,.site-shell .legal-paper li { color:var(--text); }
.site-shell .legal-hero { padding-top:0; }
.site-shell .legal-doc-nav { margin-bottom:24px; }
.site-shell .legal-doc-nav a { color:var(--muted); }
.site-shell .legal-doc-nav a[aria-current] { color:var(--cyan); }
.site-main.account-page { width:min(1200px,100%); }
.site-shell .faq-main { padding-top:18px; }
#mathCanvas { opacity:.48; }
.site-shell .footer-links { display:grid;gap:11px; }
.site-shell .mega-footer { margin-top:auto; }
.site-shell .footer-official a { overflow-wrap:anywhere; }
@media(max-width:1100px) { .site-hero { gap:30px; } .site-card { padding:22px; } }
@media(max-width:850px) {
 .site-hero { grid-template-columns:1fr;gap:36px;padding:25px 0 42px; }
 .site-hero-copy { max-width:680px; } .journey { padding:25px; }
 .journey > .journey-symbol { float:inline-end;width:54px;height:54px;margin:0; }
 .journey ol { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
 .site-card-grid { grid-template-columns:1fr; }
 .site-two { grid-template-columns:1fr; }
 .site-card { padding:26px; }.site-section { margin-bottom:44px; }
}
@media(max-width:550px) {
 .site-shell { gap:12px; }.site-main { padding:10px 12px 24px; }
 .site-hero h1 { font-size:34px; }.site-lead { font-size:15px;line-height:2; }
 .site-actions { align-items:stretch; }.site-button { padding:11px 15px; }
 .journey ol { display:block; }.journey li { padding:12px 0; }
 .site-steps { grid-template-columns:1fr;gap:16px; }.site-callout { padding:24px; }
 .site-header .brand-picture img { width:45px;height:42px; }.site-header .brand-text small { font-size:9px; }
 .site-card-icon { margin-bottom:10px; }.site-hours th,.site-hours td { padding:12px 4px;font-size:12px; }
 .site-page-heading h1 { font-size:26px; }.site-page-heading { margin-bottom:16px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } #mathCanvas { display:none; } }
@media print { .site-header,.mega-footer,.site-breadcrumb,.site-skip,#mathCanvas { display:none!important; } .site-shell,.site-main { display:block;width:100%;padding:0;margin:0; } }
