html { scroll-padding-top:110px; }
:focus-visible { outline:3px solid var(--lime); outline-offset:5px; }
.topbar { position:sticky; top:0; background:rgba(7,17,15,.96); backdrop-filter:blur(16px); }
.reading-progress { position:fixed; inset:0 0 auto; height:3px; z-index:60; background:var(--lime); transform:scaleX(0); transform-origin:left; pointer-events:none; }
.route-picker { display:grid; grid-template-columns:1fr 1fr; gap:4rem; padding-top:5rem; padding-bottom:5rem; }
.route-picker h2 { font-size:clamp(2.4rem,4vw,4rem); }
.route-picker p { color:var(--muted); }
.route-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:22px; }
.route-buttons button { background:transparent; color:var(--ink); border:1px solid #53685d; border-radius:30px; padding:10px 16px; cursor:pointer; }
.route-buttons button[aria-pressed=true] { background:var(--lime); color:var(--dark); border-color:var(--lime); }
.route-result { padding:28px; border:1px solid var(--line); border-radius:14px; background:linear-gradient(135deg,#142a20,#0b1915); }
.route-result h3 { margin-top:0; font-size:1.45rem; line-height:1.3; }
.route-result .button { margin-top:10px; }
.level-card { border-radius:14px; }
.faq-list summary { min-height:60px; }
.hero-note { color:#a3b6ab; }
.mobile-contact { display:none; }
.interview-card input:focus,.interview-card select:focus,.interview-card textarea:focus { outline:2px solid var(--lime); outline-offset:3px; }
.interview-card input,.interview-card select,.interview-card textarea { font-size:16px; }
@media(min-width:901px) { .hero { min-height:650px; padding-top:5rem; padding-bottom:5rem; } }
@media(max-width:900px) {
  .route-picker { grid-template-columns:1fr; gap:1rem; }
  .hero { padding-top:3rem; gap:2.5rem; }
  .level-card.featured:hover { transform:none; }
  .mobile-contact { display:flex; position:fixed; bottom:0; left:0; right:0; z-index:30; padding:12px 18px calc(12px + env(safe-area-inset-bottom)); align-items:center; justify-content:space-between; gap:12px; background:#0b1916; border-top:1px solid var(--line); }
  .mobile-contact span { font-size:11px; color:var(--muted); }
  .mobile-contact a { padding:10px 14px; background:var(--lime); color:var(--dark); font-weight:700; font-size:13px; border-radius:6px; }
  body:not(.interview-page) { padding-bottom:85px; }
  .panel-footer { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .panel-footer div { border:0; }
  .route-result { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { .ticker div,.pulse { animation:none; } }
.ticker { width:100%; margin-left:0; transform:none; }
