:root { --site-ink:#17263e;--site-muted:#526178;--site-blue:#235dd1;--site-line:#dce4ef;--site-radius:18px; }
html { scroll-padding-top:96px; }
body { padding-bottom:0; }
.site-content-rights { margin:0 0 14px;color:#bdc9db;font-size:12px; }
a,button,input,select,summary { -webkit-tap-highlight-color:transparent; }
:where(a,button,input,select,summary):focus-visible { outline:3px solid #2f6fed;outline-offset:4px; }
[hidden] { display:none!important; }
.skip-link { position:fixed;top:10px;left:10px;z-index:200;transform:translateY(-180%);padding:12px;background:#fff;color:#17345e;border:2px solid #235dd1;border-radius:10px; }
.skip-link:focus { transform:none; }
.site-header { position:fixed;inset:0 0 auto;z-index:80;height:76px;color:var(--site-ink);background:rgba(255,255,255,.97);border-bottom:1px solid var(--site-line);box-shadow:0 3px 18px #152b4b08; }
.site-header-inner { width:min(1180px,calc(100% - 40px));height:100%;margin:auto;display:flex;align-items:center;gap:26px; }
.site-brand { display:flex;gap:10px;align-items:center;flex-shrink:0;text-decoration:none;color:var(--site-ink); }
.site-brand-mark { width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#2f6fed;color:#fff;font-size:22px;font-weight:800; }
.site-brand strong { display:block;font-size:19px;line-height:1.35; }
.site-brand small { display:block;font-size:11px;color:var(--site-muted); }
.site-global-nav { display:flex;gap:20px;align-items:center;margin-left:auto; }
.site-global-nav a { display:flex;align-items:center;min-height:44px;font-size:14px;color:#37475f;text-decoration:none;white-space:nowrap; }
.site-global-nav a:hover,.site-global-nav a[aria-current] { color:var(--site-blue); }
.site-header-actions { display:flex;gap:8px;margin-left:auto;align-items:center; }
.site-action { display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:10px 17px;border-radius:11px;border:1px solid var(--site-line);background:#fff;color:var(--site-ink);font:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;text-decoration:none; }
.site-action.primary { color:#fff;background:var(--site-blue);border-color:var(--site-blue); }
.site-menu { position:relative; }
.site-menu>summary { display:flex;align-items:center;justify-content:center;min-width:60px;min-height:44px;padding:8px;list-style:none;cursor:pointer;font-size:14px;border:1px solid var(--site-line);border-radius:11px; }
.site-menu>summary::-webkit-details-marker { display:none; }
.site-menu[open]>summary { color:var(--site-blue);background:#edf3ff; }
.site-menu-panel { position:absolute;right:0;top:58px;width:340px;max-height:calc(100dvh - 112px);overflow:auto;padding:20px;background:#fff;border:1px solid var(--site-line);border-radius:18px;box-shadow:0 18px 50px #17345e24;color:var(--site-ink); }
.site-menu-panel nav { display:grid;grid-template-columns:1fr 1fr;gap:5px 10px; }
.site-menu-panel a { display:flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:8px;font-size:14px;color:#37475f;text-decoration:none; }
.site-menu-panel a:hover,.site-menu-panel a[aria-current] { background:#edf3ff;color:var(--site-blue); }
.site-menu-label { display:block;margin:0 0 8px;font-size:12px;color:var(--site-muted); }
.site-menu-label:not(:first-child) { border-top:1px solid var(--site-line);padding-top:16px;margin-top:16px; }
.site-footer { padding:46px 0 28px;background:#101f35;color:#e2e9f4;font-size:13px;line-height:1.8; }
.site-footer-inner { width:min(1180px,calc(100% - 40px));margin:auto; }
.site-footer-top { display:flex;justify-content:space-between;gap:30px;margin-bottom:26px; }
.site-footer strong { font-size:18px;color:#fff; }
.site-footer p { margin:6px 0;color:#bdc9db; }
.site-footer-links { display:flex;flex-wrap:wrap;gap:10px 22px;align-items:start; }
.site-footer a { color:inherit;text-decoration:none;min-height:32px;display:inline-flex;align-items:center; }
.site-footer a:hover { text-decoration:underline; }
.site-footer-legal { display:flex;align-items:center;gap:7px 16px;flex-wrap:wrap;border-top:1px solid #ffffff24;padding-top:20px;color:#bdc9db;font-size:12px; }
.site-dock { display:none; }
.contact-dialog { width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:26px;border:0;border-radius:22px;color:var(--site-ink);background:#fff;box-shadow:0 30px 100px #10203944; }
.contact-dialog::backdrop { background:#0b1d37b8; }
.contact-dialog-heading { display:flex;align-items:center;justify-content:space-between;gap:20px; }
.contact-dialog h2 { margin:0;font-size:24px; }
.contact-dialog p { color:var(--site-muted);font-size:15px;line-height:1.7; }
.contact-close { width:44px;height:44px;border:0;border-radius:50%;background:#eef3fb;color:var(--site-ink);font-size:26px;cursor:pointer; }
.contact-person { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--site-line); }
.contact-person strong { display:block;font-size:16px; }
.contact-person small { font-size:14px;color:var(--site-muted); }
.contact-copy-row { display:flex;gap:8px;margin:18px 0; }
.contact-copy-row input { flex:1;min-width:0;border:1px solid var(--site-line);border-radius:10px;padding:12px;font-size:16px;background:#f8faff;color:var(--site-ink); }
.contact-qr { width:200px;height:200px;max-width:100%;object-fit:contain;display:block;margin:18px auto 8px; }
.contact-qr-label { text-align:center;font-size:13px!important;margin:4px 0!important; }
.contact-status { min-height:24px;color:#146447!important; }
.contact-dialog .contact-email { color:var(--site-blue);font-size:14px;overflow-wrap:anywhere; }
.evidence-note { margin-top:20px;padding:18px 20px;border-left:3px solid #b7cae9;background:#eef3fa;border-radius:0 12px 12px 0;font-size:14px;line-height:1.8;color:#465875; }
.evidence-note summary { cursor:pointer;min-height:32px;font-weight:600;color:#253c5d; }
.evidence-note p { font-size:14px!important;max-width:none!important; }
.teacher-course-link { display:inline-flex;align-items:center;min-height:44px;margin-top:14px;color:var(--site-blue);font-weight:600; }
.site-reading-details { margin:20px 0; }
.site-reading-details summary { min-height:44px;color:#235dd1;cursor:pointer;font-weight:600; }
@media(max-width:1100px) { .site-global-nav { display:none; }.site-header-actions { margin-left:auto; } }
@media(max-width:620px) {
  .site-header { height:68px; }.site-header-inner { width:calc(100% - 28px);gap:10px; }.site-brand strong { font-size:16px; }.site-brand small { display:none; }.site-brand-mark { width:36px;height:36px;border-radius:11px;font-size:20px; }
  .site-header-actions { gap:6px; }.site-header-actions>.contact-trigger { display:none; }.site-action { padding:10px 12px;font-size:13px; }.site-menu>summary { min-width:48px;font-size:13px; }
  .site-menu-panel { position:fixed;left:14px;right:14px;top:78px;width:auto;max-height:calc(100dvh - 100px);padding:16px; }
  body { padding-bottom:74px; }html { scroll-padding-top:84px; }
  .site-dock { display:flex;position:fixed;z-index:65;bottom:0;left:0;right:0;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid var(--site-line); }
  .site-dock .site-action { flex:1;min-height:44px; }
  .site-footer-top { flex-direction:column;gap:16px; }.site-footer-legal { gap:8px; }.site-footer-legal a { min-height:34px; }
  .contact-dialog { padding:20px; }.contact-dialog h2 { font-size:22px; }
  main h1 { text-wrap:balance;letter-spacing:-1px!important; }.hero h1 { font-size:clamp(30px,8.1vw,38px)!important;line-height:1.25!important; }
  main .hero p { font-size:15px;line-height:1.8; }.section-head h2 { font-size:28px!important;line-height:1.35!important;letter-spacing:-.8px!important;text-wrap:balance; }
  .path-card p,.path-card li,.teacher-summary,.teacher-points,.step p,.service-card p,.track-card p { font-size:15px!important;line-height:1.8!important; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; }*,*::before,*::after { animation:none!important;transition:none!important; } }
