/* Phone-only presentation; the desktop stylesheet is intentionally unchanged. */
@media (max-width:700px) {
  :root { --mobile-header-height:112px; }
  .header { min-height:112px; padding:8px 14px; gap:8px; }
  .header .brand { min-width:0; }
  .header-actions { gap:2px; }
  .header-actions>.official-link { display:none; }
  .header .icon-btn { width:44px; height:44px; }
  .header .searchbox { height:44px; }
  .searchbox input,.inline-search input,.toolbar select { font-size:16px; min-width:0; }
  .mobile-menu-button { min-height:44px; padding:0 8px; display:flex; align-items:center; gap:5px; font-size:13px; white-space:nowrap; border-radius:9px; color:var(--blue); background:var(--blue-bg); }
  .mobile-menu-button svg { width:18px; height:18px; }
  main { padding:18px 14px 28px; }
  main[data-mobile-page="home"]>.page-heading { margin-bottom:12px; }
  main[data-mobile-page="home"]>.section-title:first-of-type { margin:16px 0 10px; }
  .page-heading h1 { font-size:23px; }
  .page-heading p { line-height:1.65; }
  .shortcut-grid { padding:12px 6px; gap:12px 4px; margin-bottom:14px; }
  .shortcut { font-size:13px; gap:5px; min-height:66px; }
  .shortcut-icon { width:38px; height:38px; border-radius:12px; }
  main[data-mobile-page="home"]>.qa-entry { margin:0 0 18px; }
  .welcome-card { height:155px; }
  .welcome-content { padding:17px 20px; max-width:90%; }
  .welcome-content h2 { font-size:22px; line-height:1.4; margin:5px 0 9px; }
  .welcome-content a { min-height:40px; padding:6px 11px; }
  .welcome-content .eyebrow { font-size:10px; }
  .photo-credit { font-size:10px; right:10px; bottom:8px; }
  .intro-grid { gap:10px; margin-bottom:20px; }
  .mobile-first-days { margin:0; padding:0; }
  .mobile-first-days>summary { padding:15px 17px; min-height:52px; }
  .mobile-first-days .mobile-first-days-body { padding:0 17px 12px; }
  .mobile-first-days .pill { display:none; }
  .mobile-first-days h3 { display:none; }
  .mobile-first-days a { min-height:44px; }
  .feature-grid { grid-template-columns:1fr; gap:12px; }
  .feature { display:grid; grid-template-columns:100px minmax(0,1fr); align-items:stretch; }
  .feature img { height:100%; min-height:135px; object-fit:cover; }
  .feature .body { padding:13px; }
  .feature h3 { font-size:16px; }
  .feature p { font-size:13px; }
  .btn,.tab,.save-btn { min-height:44px; }
  .back-link { min-height:44px; margin-bottom:8px; }
  .mobile-dialog { width:calc(100% - 24px); max-width:520px; padding:18px; background:var(--surface); color:var(--text); border:1px solid var(--line); }
  .mobile-dialog::backdrop { background:#07132680; }
  .mobile-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
  .mobile-dialog-head h2 { font-size:20px; }
  .mobile-dialog .mobile-close { position:static; width:44px; height:44px; flex:none; border-radius:10px; background:var(--soft); }
  .mobile-menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; max-height:65dvh; overflow:auto; }
  .mobile-menu-grid a { display:flex; align-items:center; gap:9px; min-height:56px; padding:11px; border:1px solid var(--line); border-radius:11px; font-size:14px; }
  .mobile-menu-grid a svg { width:21px; height:21px; flex:none; color:var(--blue); }
  .mobile-menu-grid a.active { color:var(--blue); background:var(--blue-bg); border-color:var(--blue); }
  .mobile-menu-note { font-size:12px; color:var(--muted); margin-top:12px; }
  body.mobile-modal-open { overflow:hidden; }
  main[data-mobile-page="faculty"]>.toolbar { position:sticky; top:var(--mobile-header-height); z-index:20; background:var(--bg); padding:8px 0; margin-bottom:8px; gap:7px; }
  main[data-mobile-page="faculty"] .faculty-roster { gap:10px; }
  main[data-mobile-page="faculty"] .roster-row { padding:14px 12px; }
  #faculty-summary { scroll-margin-top:calc(var(--mobile-header-height) + 128px); }
  .mobile-pagination { margin:12px 0 18px; }
  .pagination { gap:10px; justify-content:space-between; }
  .pagination .btn { padding:9px 12px; }
  .mobile-toc { position:sticky; top:calc(var(--mobile-header-height) + 6px); z-index:19; margin:0 0 12px; padding:0; box-shadow:0 3px 12px #12376c09; }
  .mobile-toc summary { padding:13px 16px; min-height:48px; }
  .mobile-toc nav { max-height:45dvh; overflow:auto; border-top:1px solid var(--line); padding:5px 10px 10px; }
  .mobile-toc button { display:block; width:100%; min-height:44px; text-align:left; padding:10px 6px; color:var(--muted); font-size:14px; }
  .article h2 { scroll-margin-top:calc(var(--mobile-header-height) + 76px); }
  .mobile-data-list { margin:0; }
  .mobile-data-list>div { padding:15px; border-bottom:1px solid var(--line); }
  .mobile-data-list>div:last-child { border-bottom:0; }
  .mobile-data-list dt { font-size:15px; font-weight:600; margin-bottom:6px; color:var(--text); }
  .mobile-data-list dd { margin:0; font-size:14px; line-height:1.85; color:var(--muted); overflow-wrap:anywhere; }
  .mobile-table-hint { font-size:12px; color:var(--blue); margin:10px 0 4px; }
  .article-layout { display:block; }
  .article-aside { margin-top:16px; }
  .data-table-wrap { max-width:100%; }
  .article,.article-section,.map-panel,.map-aside { min-width:0; }
  .map-canvas { height:340px; }
  .map-toolbar .tab { min-width:44px; min-height:44px; }
  .map-toolbar .inline-search input { font-size:16px; }
  #campus-map { touch-action:pan-y; }
  #campus-map.mobile-map-active { touch-action:none; }
  .mobile-map-mode { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 13px 12px; }
  .mobile-map-mode span { color:var(--muted); font-size:12px; }
  .mobile-map-mode button { flex:none; font-size:13px; }
  .map-controls .icon-btn { width:44px; height:44px; }
  #map-pins .mobile-pin-hit { fill:transparent; stroke:none; filter:none; pointer-events:none; }
  .place-row { min-height:64px; }
  .mobile-map-sheet { position:fixed; inset:auto 0 0; margin:0; width:100%; max-width:none; max-height:78dvh; padding:16px 18px calc(20px + env(safe-area-inset-bottom)); border-radius:20px 20px 0 0; overflow:auto; overscroll-behavior:contain; touch-action:pan-y; }
  .mobile-map-sheet .mobile-dialog-head { margin-bottom:6px; }
  .mobile-map-sheet .place-detail { display:block; border:0; padding:0; }
  .mobile-map-sheet .place-detail>img { width:100%; height:140px; min-height:0; max-height:140px; object-fit:cover; border-radius:12px; }
  .mobile-map-sheet .place-detail>div { padding:12px 0 0; }
  .mobile-map-sheet .action-links { gap:9px; }
  @media (max-height:650px) { main[data-mobile-page="faculty"]>.toolbar { position:static; } }
  @media (max-width:350px) { .brand strong { font-size:16px; } .brand small { font-size:10px; } .brand-emblem { width:36px; height:36px; } .mobile-menu-button { padding:0 6px; gap:3px; font-size:12px; } .header .brand { gap:6px; } .header .icon-btn { width:40px; } }
}
