/* Sudan E-Gov Portal — Application Stylesheet
   Includes design tokens inline for the static placeholder */

/* ── Fonts ──────────────────────────────────────────────── */
@import "/fonts/ibm-plex-arabic.css";

/* ── Reset / base ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }

/* ── Design tokens ───────────────────────────────────────── */
:root {
  --color-primary:        #1a4b8c;
  --color-primary-dark:   #0f3063;
  --color-primary-light:  #e8f0fb;
  --color-accent:         #c8960c;
  --color-surface:        #ffffff;
  --color-surface-alt:    #f7f8fa;
  --color-border:         #d1d5db;
  --color-text:           #111827;
  --color-text-secondary: #4b5563;
  --color-link:           #1a4b8c;
  --color-banner-bg:      #fff3cd;
  --color-banner-border:  #c8960c;
  --color-banner-text:    #1a1200;
  --color-error:          #b91c1c;
  --color-success:        #065f46;
  --font-arabic:  'IBM Plex Sans Arabic', 'Segoe UI', Tahoma, Arial, sans-serif;
  --container-max: 72rem;
  --gutter: 1rem;
  --radius-md: 0.5rem;
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.05);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --color-primary:        #3b82f6;
    --color-primary-dark:   #2563eb;
    --color-primary-light:  #1e3a5f;
    --color-surface:        #0f172a;
    --color-surface-alt:    #1e293b;
    --color-border:         #334155;
    --color-text:           #f1f5f9;
    --color-text-secondary: #94a3b8;
    --color-link:           #60a5fa;
    --color-banner-bg:      #2c2000;
    --color-banner-border:  #c8960c;
    --color-banner-text:    #fef3c7;
  }
}

html {
  font-family: var(--font-arabic);
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-surface);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  padding: 0;
  background: var(--color-surface);
  color: var(--color-text);
}

/* ── RTL / LTR ────────────────────────────────────────────── */
[dir="rtl"] { text-align: right; }
[dir="ltr"] { text-align: left; }

/* ── Accessibility ────────────────────────────────────────── */
.skip-link {
  position: absolute;
  top: -100%;
  inset-inline-start: var(--gutter);
  background: var(--color-primary);
  color: #fff;
  padding: 0.5rem 1rem;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  font-weight: 600;
  z-index: 9999;
  text-decoration: none;
}
.skip-link:focus { top: 0; }

:focus-visible {
  outline: 3px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ── Layout ───────────────────────────────────────────────── */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* ── Permanent banner ─────────────────────────────────────── */
.site-banner {
  background: var(--color-banner-bg);
  border-bottom: 2px solid var(--color-banner-border);
  padding: 0.5rem var(--gutter);
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--color-banner-text);
  line-height: 1.4;
}
.site-banner strong { font-weight: 700; }

/* ── Header ────────────────────────────────────────────────── */
.site-header {
  background: var(--color-primary);
  color: #fff;
  padding: 1rem var(--gutter);
}
.site-header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.site-logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
  color: #fff;
}
.site-logo-mark {
  width: 40px;
  height: 40px;
  background: rgba(255,255,255,0.15);
  border: 2px solid rgba(255,255,255,0.4);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  font-weight: 700;
  flex-shrink: 0;
}
.site-logo-text { line-height: 1.2; }
.site-logo-ar { font-size: 1rem; font-weight: 600; display: block; }
.site-logo-en { font-size: 0.75rem; opacity: 0.8; display: block; }

.lang-switch {
  display: flex;
  gap: 0.25rem;
}
.lang-switch a {
  color: rgba(255,255,255,0.8);
  text-decoration: none;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.875rem;
  border: 1px solid rgba(255,255,255,0.3);
}
.lang-switch a:hover, .lang-switch a[aria-current="true"] {
  background: rgba(255,255,255,0.15);
  color: #fff;
}

/* ── Footer ────────────────────────────────────────────────── */
.site-footer {
  background: var(--color-surface-alt, #f7f8fa);
  border-top: 1px solid var(--color-border);
  padding: 2rem var(--gutter);
  margin-top: 4rem;
  font-size: 0.875rem;
  color: var(--color-text-secondary, #4b5563);
}
.site-footer .container {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: space-between;
  align-items: flex-start;
}
.site-footer a { color: var(--color-link); }
.site-footer-copy { margin-top: 1.5rem; text-align: center; font-size: 0.8125rem; opacity: 0.7; }

/* ── Buttons ───────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 1.25rem;
  border-radius: var(--radius-md);
  font-family: inherit;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.25;
  cursor: pointer;
  text-decoration: none;
  border: 2px solid transparent;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.btn-primary {
  background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
}
.btn-primary:hover { background: var(--color-primary-dark, #0f3063); border-color: var(--color-primary-dark, #0f3063); }
.btn-outline {
  background: transparent;
  color: var(--color-primary);
  border-color: var(--color-primary);
}
.btn-outline:hover { background: var(--color-primary-light, #e8f0fb); }

/* ── Cards ─────────────────────────────────────────────────── */
.card {
  background: var(--color-surface-raised, #fff);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 1.5rem;
  box-shadow: var(--shadow-md);
}

/* ── Status badges ─────────────────────────────────────────── */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1;
}
.status-pilot          { background: #f5f3ff; color: #5b21b6; }
.status-official       { background: #ecfdf5; color: #065f46; }
.status-intake_open    { background: #eff6ff; color: #1d4ed8; }
.status-information_only { background: #f9fafb; color: #374151; border: 1px solid #d1d5db; }
.status-suspended      { background: #fef2f2; color: #b91c1c; }
.status-awaiting_integration { background: #fffbeb; color: #92400e; }

/* ── Coming soon / placeholder specific ──────────────────── */
.coming-soon-hero {
  padding: 4rem var(--gutter) 3rem;
  text-align: center;
}
.coming-soon-hero h1 {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 700;
  color: var(--color-primary);
  line-height: 1.25;
  margin: 0 0 0.75rem;
}
.coming-soon-hero .subtitle {
  font-size: 1.125rem;
  color: var(--color-text-secondary, #4b5563);
  margin: 0 0 2rem;
}
.service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}
.service-card {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  padding: 1.25rem;
  box-shadow: var(--shadow-sm, 0 1px 2px rgb(0 0 0/.05));
}
.service-card h3 { margin: 0 0 0.25rem; font-size: 1rem; font-weight: 600; color: var(--color-text); }
.service-card p  { margin: 0 0 0.75rem; font-size: 0.875rem; color: var(--color-text-secondary); }
.phase-note {
  background: var(--color-primary-light, #e8f0fb);
  border-inline-start: 4px solid var(--color-primary);
  padding: 1rem 1.25rem;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  margin: 2rem 0;
  font-size: 0.9375rem;
}
[dir="rtl"] .phase-note { border-inline-start: none; border-inline-end: 4px solid var(--color-primary); border-radius: var(--radius-md) 0 0 var(--radius-md); }

/* ══════════════════════════════════════════════════════════════
   Portal application styles (Phase 1)
   ══════════════════════════════════════════════════════════════ */

/* ── Utilities ────────────────────────────────────────────── */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-9999px;left:0;background:var(--color-primary);color:#fff;padding:.5rem 1rem;z-index:1000;text-decoration:none;font-weight:600}
.skip-link:focus{top:0}
.container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter)}

/* ── Layout ───────────────────────────────────────────────── */
.page-layout{padding-block:2rem 4rem}
.page-layout--narrow{max-width:52rem;margin-inline:auto}
.page-layout--service{max-width:72rem}
.page-title{font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:700;color:var(--color-primary);margin:0 0 1rem}
.page-lead{font-size:1.125rem;color:var(--color-text-secondary);margin:0 0 1.5rem;line-height:1.6}

/* ── Site header ──────────────────────────────────────────── */
.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}
.site-header__inner{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter);display:flex;align-items:center;gap:1.5rem;min-height:3.5rem}
.site-header__logo{text-decoration:none;font-weight:700;font-size:1.0625rem;color:var(--color-primary);white-space:nowrap}
.site-nav{display:flex;gap:0.125rem;flex:1;flex-wrap:wrap}
.site-nav__link{padding:.5rem .75rem;text-decoration:none;color:var(--color-text);border-radius:var(--radius-md);font-size:.9375rem;transition:background .15s}
.site-nav__link:hover,.site-nav__link.active{background:var(--color-primary-light);color:var(--color-primary)}
.site-header__actions{display:flex;align-items:center;gap:.5rem;margin-inline-start:auto}
.locale-switch{font-size:.875rem;padding:.25rem .5rem;border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text)}
.icon-btn{display:flex;align-items:center;justify-content:center;padding:.375rem;border-radius:var(--radius-md);color:var(--color-text);text-decoration:none}
.icon-btn:hover{background:var(--color-surface-alt)}

/* ── Footer ───────────────────────────────────────────────── */
.site-footer{background:var(--color-surface-alt);border-top:1px solid var(--color-border);padding-block:2rem}
.site-footer__inner{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--gutter);display:flex;flex-direction:column;gap:.75rem;align-items:center;text-align:center}
.site-footer__disclaimer{font-weight:600;color:var(--color-text)}
.site-footer__links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center}
.site-footer__links a{color:var(--color-link);font-size:.875rem}
.site-footer__licence{font-size:.8125rem;color:var(--color-text-secondary);margin:0}

/* ── Hero ─────────────────────────────────────────────────── */
.hero{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;padding-block:3rem}
.hero .container{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.hero__title{font-size:clamp(1.75rem,4vw,2.75rem);font-weight:700;margin:0;line-height:1.2}
.hero__subtitle{font-size:1.125rem;opacity:.9;margin:0}
.hero__pilot-notice{background:rgba(255 255 255/.15);padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.9375rem;margin:0}
.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero__stats{font-size:.875rem;opacity:.8}

/* ── Quick search ─────────────────────────────────────────── */
.quick-search{padding-block:1.5rem;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}
.quick-search__row{display:flex;gap:.5rem}
.quick-search__input{flex:1;min-width:0;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;font-size:1rem}

/* ── Section ──────────────────────────────────────────────── */
.section{padding-block:2.5rem}
.section--alt{background:var(--color-surface-alt)}
.section__title{font-size:1.375rem;font-weight:600;color:var(--color-primary);margin:0 0 1.25rem}
.section__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.25rem}
.link-more{font-size:.9375rem;color:var(--color-link);text-decoration:underline}

/* ── Card grid ────────────────────────────────────────────── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:1rem;list-style:none;padding:0;margin:0}
.card-grid--large{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}
.card{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;text-decoration:none;color:var(--color-text);transition:box-shadow .15s,border-color .15s}
.card:hover{border-color:var(--color-primary);box-shadow:0 2px 8px rgb(0 0 0/.08)}
.card__icon{font-size:1.75rem;line-height:1}
.card__icon--lg{font-size:2.25rem}
.card__title{font-weight:600;font-size:1rem;color:var(--color-primary)}
.card__summary{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}

/* ── Service list ─────────────────────────────────────────── */
.service-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.service-card{display:flex;align-items:flex-start;gap:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem}
.service-card__link{flex:1;min-width:0;text-decoration:none;display:flex;flex-direction:column;gap:.25rem}
.service-card__name{font-weight:600;color:var(--color-primary);font-size:1rem}
.service-card__summary{font-size:.875rem;color:var(--color-text-secondary);line-height:1.5}

/* ── Status badges ────────────────────────────────────────── */
.status-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:600;white-space:nowrap}
.status-badge--informationonly,.status-badge--information_only{background:#e5e7eb;color:#374151}
.status-badge--pilot{background:#fef3c7;color:#92400e}
.status-badge--live{background:#d1fae5;color:#065f46}
.status-badge--info{background:#dbeafe;color:#1e40af}
.status-badge--warning{background:#fef3c7;color:#92400e}
.status-badge--error{background:#fee2e2;color:#991b1b}
.status-badge--success{background:#d1fae5;color:#065f46}
.status-badge--lg{font-size:.875rem;padding:.25rem .75rem}

/* ── Notice boxes ─────────────────────────────────────────── */
.notice{padding:1rem 1.25rem;border-radius:var(--radius-md);border-inline-start:4px solid currentColor;margin:1rem 0}
.notice--info{background:#eff6ff;color:#1e40af}
.notice--warning{background:#fffbeb;color:#92400e}
.notice--error{background:#fef2f2;color:#991b1b}
.notice--success{background:#f0fdf4;color:#065f46}
[dir="rtl"] .notice{border-inline-start:none;border-inline-end:4px solid currentColor}

/* ── Forms ────────────────────────────────────────────────── */
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-weight:600;margin-bottom:.375rem;font-size:.9375rem}
.form-input{display:block;width:100%;padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;font-size:1rem;background:var(--color-surface);color:var(--color-text);transition:border-color .15s}
.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(26,75,140,.15)}
.form-input--error{border-color:var(--color-error)}
.form-input--mono{font-family:ui-monospace,monospace;letter-spacing:.05em}
.form-textarea{resize:vertical;min-height:8rem}
.form-error{color:var(--color-error);font-size:.875rem;margin:.25rem 0 0}
.form-hint{font-size:.875rem;color:var(--color-text-secondary);margin:.25rem 0 .75rem}
.form-fieldset{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;margin:1.25rem 0}
.form-legend{font-weight:600;padding-inline:.5rem}
.form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.required{color:var(--color-error)}
.track-row{display:flex;gap:.5rem}

/* ── Buttons ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:var(--radius-md);font:inherit;font-size:1rem;font-weight:600;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}
.btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}
.btn--primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}
.btn--secondary{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}
.btn--secondary:hover{background:var(--color-primary-light)}
.btn--outline{background:transparent;color:var(--color-text);border-color:var(--color-border)}
.btn--outline:hover{background:var(--color-surface-alt)}
.btn--lg{padding:.875rem 1.75rem;font-size:1.0625rem}

/* ── Breadcrumb ───────────────────────────────────────────── */
.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1.25rem}
.breadcrumb a{color:var(--color-link);text-decoration:underline}

/* ── Service meta sidebar ─────────────────────────────────── */
.service-body{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:48rem){.service-body{grid-template-columns:1fr 18rem}}
.service-section{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-border)}
.service-action{margin:1.5rem 0}
.service-track-link{margin-top:1rem;font-size:.875rem}

/* ── Meta list (definition list) ─────────────────────────── */
.meta-list{display:flex;flex-direction:column;gap:.75rem;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem}
.meta-list__item{display:flex;flex-direction:column;gap:.125rem}
.meta-list__item--highlight{background:var(--color-primary-light);margin:-1.25rem -1.25rem 0;padding:1rem 1.25rem;border-radius:var(--radius-md) var(--radius-md) 0 0}
.meta-list__item dt{font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary)}
.meta-list__item dd{font-size:1rem;color:var(--color-text);margin:0}
.reference-code{font-family:ui-monospace,monospace;font-size:1.25rem;font-weight:700;color:var(--color-primary);letter-spacing:.05em}

/* ── FAQ / announcement lists ─────────────────────────────── */
.faq-list dt{font-weight:600;margin-bottom:.25rem;color:var(--color-primary);padding-top:1rem;border-top:1px solid var(--color-border)}
.faq-list dt:first-child{border-top:none;padding-top:0}
.faq-list dd{margin:0 0 .75rem;color:var(--color-text);line-height:1.6}
.announcement-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}
.announcement{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.375rem}
.announcement--full .announcement{min-height:unset}
.announcement__title{font-size:1rem;font-weight:600}
.announcement__meta{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--color-text-secondary)}

/* ── Institution list ─────────────────────────────────────── */
.institution-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem}
.institution-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}
.institution-card__name{font-size:1rem;font-weight:600;color:var(--color-primary)}
.institution-card__desc{font-size:.875rem;color:var(--color-text-secondary);margin:0}
.institution-card__link{font-size:.875rem;color:var(--color-link);display:flex;align-items:center;gap:.5rem}

/* ── Tags / inline list ───────────────────────────────────── */
.tag-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.tag{display:inline-flex;padding:.25rem .75rem;background:var(--color-primary-light);color:var(--color-primary);border-radius:9999px;font-size:.875rem;font-weight:500;text-decoration:none}
.tag:hover{background:var(--color-primary);color:#fff}
.tag--warning{background:#fef3c7;color:#92400e}
.inline-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem}
.doc-list{padding-inline-start:1.25rem;display:flex;flex-direction:column;gap:.375rem}
.empty-state{padding:2rem;text-align:center;color:var(--color-text-secondary);font-style:italic}
.search-summary{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:1rem}

/* ── Prose ────────────────────────────────────────────────── */
.prose{line-height:1.7;max-width:65ch}
.prose h2{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin-top:2rem}
.prose ul,.prose ol{padding-inline-start:1.5rem}
.prose li{margin-bottom:.375rem}
.prose p{margin-bottom:1rem}

/* ── Catalogue section ────────────────────────────────────── */
.catalogue-section{margin-bottom:2.5rem}
.catalogue-section__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}
.catalogue-section__title{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin:0;display:flex;align-items:center;gap:.5rem}

/* ── Dark mode ────────────────────────────────────────────── */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) {
    --color-surface:#1a1f2e;
    --color-surface-alt:#1f2538;
    --color-border:#2d3452;
    --color-text:#f1f5f9;
    --color-text-secondary:#94a3b8;
    --color-link:#7ba4d8;
    --color-primary-light:#1e3a5f;
  }
}
:root[data-theme="dark"] {
  --color-surface:#1a1f2e;
  --color-surface-alt:#1f2538;
  --color-border:#2d3452;
  --color-text:#f1f5f9;
  --color-text-secondary:#94a3b8;
  --color-link:#7ba4d8;
  --color-primary-light:#1e3a5f;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width:47.9375rem) {
  .site-nav{display:none}
  .hero .container{padding-block:2rem}
  .card-grid{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}
  .institution-list{grid-template-columns:1fr}
  .track-row,.quick-search__row{flex-direction:column}
}
