/* Approved student-guide navigation; uses the shared site palette. */
.student-guide { --max: 1340px; }
.student-guide .site-header { position:sticky; }
.guide-layout { padding-top:28px; }
.guide-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:32px; align-items:start; }
.guide-sidebar { position:sticky; top:var(--guide-sticky-top,100px); max-height:calc(100vh - var(--guide-sticky-top,100px) - 18px); overflow:auto; padding:12px 14px 20px 0; }
.guide-sidebar summary { display:none; }
.guide-sidebar label { display:block; font-size:13px; font-weight:700; margin-bottom:8px; }
.guide-sidebar input { width:100%; background:white; border:1px solid var(--line-strong); border-radius:9px; padding:12px 10px; color:var(--ink); font:inherit; font-size:14px; }
.guide-sidebar input:focus-visible { outline:3px solid #b5d8ff; }
.nav-group { display:block; color:var(--ink-soft); font-size:11px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; margin:25px 0 8px 10px; }
.guide-sidebar nav a { display:block; font-size:14px; padding:9px 10px; margin:2px 0; border-radius:7px; text-decoration:none; color:var(--ink); border-left:3px solid transparent; }
.guide-sidebar nav a:hover { background:#e1edfc; }
.guide-sidebar nav a[aria-current] { background:#e0edff; border-left-color:var(--accent); font-weight:700; }
#search-results { padding:7px; margin:8px 0; background:white; border:1px solid var(--line); border-radius:9px; list-style:none; font-size:13px; }
#search-results li { padding:8px 4px; }
#search-results a { text-decoration:none; }
.guide-content { min-width:0; }
.guide-content .guide-hero { padding-top:0; }
.guide-content .guide-panel { padding:30px; box-shadow:none; }
.guide-content .guide-hero .tip-grid { display:none; }
.guide-content .page-title { font-size:clamp(30px,4vw,46px); line-height:1.12; }
.guide-content .guide-intro { max-width:780px; font-size:18px; line-height:1.6; margin-bottom:0; }
.guide-content .section { padding-top:32px; scroll-margin-top:calc(var(--guide-sticky-top,90px) + 16px); }
.guide-content .section-heading { display:block; margin-bottom:20px; }
.guide-content .section-heading h2 { font-size:28px; margin-bottom:12px; }
.guide-content .section-heading p { max-width:78ch; }
.guide-content .tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.guide-content .tool-card { padding:24px; box-shadow:none; }
.guide-content .menu-figure { max-width:680px; margin:20px 0 28px; }
.guide-content .tool-card h3 { scroll-margin-top:calc(var(--guide-sticky-top,90px) + 70px); }
@media(max-width:950px) {
  .guide-layout { display:block; }
  .guide-sidebar { top:var(--guide-sticky-top,90px); z-index:15; max-height:calc(100dvh - var(--guide-sticky-top,90px) - 18px); background:#f3f8ff; border:1px solid var(--line); border-radius:10px; padding:0; margin-bottom:22px; }
  .guide-sidebar summary { display:list-item; cursor:pointer; padding:14px 18px; font-weight:700; }
  .sidebar-inner { padding:0 18px 18px; }
  .guide-content .section { scroll-margin-top:calc(var(--guide-sticky-top,90px) + 70px); }
}
@media(max-width:620px) {
  .guide-content .guide-panel { padding:22px; }
  .guide-content .tool-grid { grid-template-columns:1fr; }
  .guide-content .three-up { grid-template-columns:1fr; }
  .guide-content .section-heading h2 { font-size:25px; }
  .student-guide .site-header { position:sticky; }
  .student-guide .site-header-inner { display:block; padding:12px 0; min-height:0; }
  .student-guide .brand-subtitle { display:none; }
  .student-guide .site-nav { justify-content:flex-start; gap:8px; margin-top:10px; }
  .student-guide .site-nav a { min-height:34px; padding:7px 11px; font-size:12px; }
}
.guide-content h2, .guide-content h3 { scroll-margin-top:calc(var(--guide-sticky-top,90px) + 70px); }
.guide-sidebar a:focus-visible, .guide-sidebar summary:focus-visible { outline:3px solid #9dc7ff; outline-offset:2px; }
.guide-skip-link { position:fixed; left:16px; top:-100px; z-index:30; background:white; border:2px solid var(--accent); border-radius:8px; padding:12px; }
.guide-skip-link:focus { top:12px; }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
