:root{--brand:#0a3d91;--brand-dark:#07295f;--accent:#ff506f;--gold:#f6b91a;--ink:#14213d;--soft:#f4f7fc}body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}.topbar,.footer{background:var(--brand-dark)}.navbar .nav-link{font-weight:600;color:#334155}.navbar .nav-link:hover{color:var(--brand)}.btn-primary{background:var(--brand);border-color:var(--brand)}.hero{background:radial-gradient(circle at 90% 10%,#dce9ff,transparent 35%),linear-gradient(135deg,#f8fbff,#eef4ff)}.hero h1{letter-spacing:-.04em}.hero-card{background:linear-gradient(145deg,var(--brand),var(--brand-dark))!important}.search-panel{max-width:720px}.eyebrow{display:block;color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem}.college-card,.course-card{transition:transform .2s ease,box-shadow .2s ease}.college-card:hover,.course-card:hover{transform:translateY(-4px);box-shadow:0 1rem 2rem rgba(15,23,42,.12)!important}.college-mark{width:58px;height:58px;border-radius:16px;background:#e8f0ff;color:var(--brand);display:grid;place-items:center;font-weight:800;font-size:1.1rem;flex:none}.college-mark-lg{width:88px;height:88px;font-size:1.4rem}.course-strip,.page-heading{background:var(--soft)}.course-tile{display:flex;align-items:center;gap:.8rem;padding:1.1rem;background:white;border:1px solid #e5eaf2;border-radius:1rem;color:var(--ink);text-decoration:none;font-weight:700;height:100%}.course-tile i,.course-icon{color:var(--brand);font-size:1.5rem}.footer a{display:block;color:#b9c7dd;text-decoration:none;margin:.55rem 0}.footer a:hover{color:white}.filter-card{top:96px}.college-hero{background:linear-gradient(135deg,var(--brand-dark),var(--brand))}.breadcrumb-light a,.breadcrumb-light .active{color:#dbe8ff}.info-box{background:var(--soft);padding:1rem;border-radius:.8rem}.info-box small,.info-box strong{display:block}.info-box small{color:#64748b;margin-bottom:.25rem}.compare-vs{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white;font-weight:800}@media(max-width:575.98px){.display-4{font-size:2.35rem}.search-panel{flex-direction:column}.search-panel .btn{padding:.75rem}.course-tile{align-items:flex-start;flex-direction:column}.navbar-brand img{width:180px}}
.consent-banner{position:fixed;z-index:1080;left:1rem;right:1rem;bottom:1rem;max-width:760px;margin:auto;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:1rem;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.consent-banner[hidden]{display:none}@media(max-width:767.98px){.consent-banner{align-items:stretch;flex-direction:column}.consent-banner .d-flex{justify-content:flex-end}}
.stream-hero-icon{display:inline-grid;place-items:center;width:120px;height:120px;border-radius:28px;background:#e8f0ff;color:var(--brand);font-size:3.5rem}.check-card{display:flex;align-items:center;gap:.7rem;height:100%;padding:1rem;border:1px solid #e5eaf2;border-radius:.8rem;background:#fff}.check-card i{color:#198754}

/* === Mobile-first stability pass — 2026-09-22 === */
html { overflow-x: hidden; }
body { overflow-x: clip; -webkit-text-size-adjust: 100%; }
img, svg, video, canvas, iframe { max-width: 100%; height: auto; }
@media (max-width: 991.98px) {
  .topbar .container { gap: 6px 14px; flex-wrap: wrap; justify-content: center !important; text-align: center; }
  .navbar .container { min-width: 0; }
  .navbar-brand { min-width: 0; max-width: calc(100% - 64px); }
  .navbar-brand img { width: min(190px, 58vw); height: auto; }
  .navbar-toggler { width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; }
  .navbar-collapse { padding: 10px 0 14px; }
  .navbar-nav { align-items: stretch !important; gap: 0 !important; }
  .navbar-nav .nav-link { min-height: 44px; display: flex; align-items: center; padding: 10px 8px; }
  .navbar-nav .btn { width: 100%; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; margin-top: 8px; }
  .row > [class*="col-"] { min-width: 0; }
  .card { min-width: 0; }
  table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media (max-width: 767.98px) {
  body { font-size: 16px; }
  input, select, textarea, button { font-size: 16px !important; }
  .container { padding-left: 16px; padding-right: 16px; }
  .topbar { font-size: 12px; }
  .page-heading.py-5 { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }
  h1, .h1 { font-size: clamp(2rem, 9vw, 2.75rem); line-height: 1.1; overflow-wrap: anywhere; }
  h2, .h2 { overflow-wrap: anywhere; }
  .card.p-4, .card.p-lg-5 { padding: 1.15rem !important; }
  .btn { min-height: 44px; }
}
