/* ============================================================
   SDIP GHANA — Student Data Intelligence Partnership Ghana
   Design system: Blue / Yellow / White · institutional, flat
   No glassmorphism, no gradients-for-the-sake-of-it.
   ============================================================ */

/* -------------------- Tokens -------------------- */
:root {
  --blue-900:#0A2647;
  --blue-800:#0E3A6B;
  --blue-700:#134E9E;
  --blue-600:#1C64C4;
  --blue-100:#E6EEFA;
  --blue-50:#F2F6FC;

  --yellow:#F7B500;
  --yellow-600:#D89A00;
  --yellow-100:#FDF0CC;

  --ink:#15233B;
  --gray-700:#3F4A5A;
  --gray-500:#6B7585;
  --gray-300:#CBD3DE;
  --gray-200:#E4E9F0;
  --gray-100:#F1F4F8;
  --white:#FFFFFF;

  --font-serif:'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-sans:'Libre Franklin', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --maxw:1180px;
  --radius:10px;
  --radius-sm:6px;
  --shadow-sm:0 1px 2px rgba(10,38,71,.06), 0 1px 1px rgba(10,38,71,.04);
  --shadow:0 6px 20px rgba(10,38,71,.08);
  --header-h:76px;
  --transition:.18s ease;
}

/* -------------------- Reset / base -------------------- */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 10px); -webkit-text-size-adjust:100%; }
body {
  font-family:var(--font-sans);
  color:var(--ink);
  background:var(--white);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img { max-width:100%; display:block; }
a { color:var(--blue-700); text-decoration:none; }
ul { list-style:none; }
h1,h2,h3,h4 { font-family:var(--font-serif); color:var(--ink); line-height:1.15; font-weight:600; letter-spacing:-.01em; }
strong { font-weight:700; }
.container { width:100%; max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* -------------------- Utilities -------------------- */
.eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-sans); font-weight:700; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--blue-700);
}
.eyebrow::before { content:""; width:26px; height:3px; background:var(--yellow); border-radius:2px; }
.section { padding:88px 0; }
.section-alt { background:var(--blue-50); }
.section-navy { background:var(--blue-900); color:var(--white); }
.section-head { max-width:720px; margin-bottom:46px; }
.section-head h2 { font-size:2.3rem; margin:14px 0 14px; }
.section-head p { color:var(--gray-500); font-size:1.08rem; }
.section-navy .section-head h2 { color:var(--white); }
.section-navy .section-head p { color:#AFC2DC; }
.lead { font-size:1.15rem; color:var(--gray-700); }
.text-center { text-align:center; }
.mx-auto { margin-left:auto; margin-right:auto; }

/* -------------------- Buttons -------------------- */
.btn {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-sans); font-weight:700; font-size:.98rem;
  padding:13px 26px; border-radius:var(--radius-sm); cursor:pointer;
  border:2px solid transparent; transition:var(--transition); white-space:nowrap;
}
.btn i { font-size:.9em; }
.btn-primary { background:var(--blue-700); color:#fff; border-color:var(--blue-700); }
.btn-primary:hover { background:var(--blue-800); border-color:var(--blue-800); }
.btn-accent { background:var(--yellow); color:var(--blue-900); border-color:var(--yellow); }
.btn-accent:hover { background:var(--yellow-600); border-color:var(--yellow-600); }
.btn-outline { background:transparent; color:var(--blue-700); border-color:var(--gray-300); }
.btn-outline:hover { border-color:var(--blue-700); background:var(--blue-50); }
.btn-ghost-light { background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.btn-ghost-light:hover { background:rgba(255,255,255,.1); border-color:#fff; }

/* -------------------- Header / nav -------------------- */
.site-header {
  position:sticky; top:0; z-index:1000; height:var(--header-h);
  background:var(--white); border-bottom:1px solid var(--gray-200);
  display:flex; align-items:center; transition:box-shadow var(--transition);
}
.site-header.scrolled { box-shadow:var(--shadow-sm); }
.site-header .container { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:12px; }
.brand-mark { width:44px; height:44px; border-radius:8px; object-fit:cover; border:1px solid var(--gray-200); background:#fff; }
.brand-text { display:flex; flex-direction:column; line-height:1.05; }
.brand-name { font-family:var(--font-serif); font-weight:700; font-size:1.18rem; color:var(--blue-900); }
.brand-sub { font-family:var(--font-sans); font-weight:600; font-size:.6rem; letter-spacing:.17em; text-transform:uppercase; color:var(--gray-500); }

.main-nav { display:flex; align-items:center; gap:2px; }
.main-nav a.nav-link {
  font-family:var(--font-sans); font-weight:600; font-size:.93rem; color:var(--gray-700);
  padding:9px 11px; border-radius:var(--radius-sm); transition:var(--transition); white-space:nowrap;
}
.main-nav a.nav-link:hover { color:var(--blue-700); background:var(--blue-50); }
.main-nav a.nav-link.active { color:var(--blue-700); }
.main-nav a.nav-link.active { position:relative; }
.main-nav a.nav-link.active::after {
  content:""; position:absolute; left:14px; right:14px; bottom:2px; height:2.5px;
  background:var(--yellow); border-radius:2px;
}
.nav-cta { margin-left:10px; }

.burger { display:none; width:44px; height:44px; border:none; background:transparent; cursor:pointer; flex-direction:column; justify-content:center; gap:5px; }
.burger span { display:block; height:2.5px; width:24px; background:var(--ink); border-radius:2px; transition:var(--transition); margin:0 auto; }
.burger.open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

/* -------------------- Hero (home) -------------------- */
.hero { background:var(--blue-900); color:#fff; position:relative; overflow:hidden; }
.hero::after {
  content:""; position:absolute; right:-120px; top:-120px; width:420px; height:420px;
  border:60px solid rgba(247,181,0,.08); border-radius:50%;
}
.hero .container { position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; padding-top:84px; padding-bottom:84px; }
.hero-eyebrow { color:var(--yellow); }
.hero-eyebrow::before { background:var(--yellow); }
.hero h1 { font-size:4.1rem; color:#fff; line-height:1.04; margin:20px 0 24px; letter-spacing:-.02em; }
.hero h1 .accent { color:var(--yellow); }
.hero-sub { font-size:1.18rem; color:#C6D6EC; max-width:560px; margin-bottom:34px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; }
.hero-panel { background:#fff; color:var(--ink); border-radius:14px; padding:30px; box-shadow:0 24px 60px rgba(0,0,0,.28); }
.hero-panel h3 { font-size:1.15rem; margin-bottom:4px; }
.hero-panel .panel-sub { color:var(--gray-500); font-size:.9rem; margin-bottom:22px; }
.hero-panel .vision-quote { border-left:4px solid var(--yellow); padding:4px 0 4px 18px; font-family:var(--font-serif); font-style:italic; font-size:1.12rem; color:var(--blue-900); }
.hero-panel .vision-label { display:block; font-family:var(--font-sans); font-style:normal; font-weight:700; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--blue-700); margin-bottom:8px; }

/* Stat strip */
.stat-strip { background:var(--yellow); }
.stat-strip .container { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:26px 24px; }
.stat-item { text-align:center; }
.stat-item .num { font-family:var(--font-serif); font-weight:700; font-size:2.3rem; color:var(--blue-900); line-height:1; }
.stat-item .label { font-weight:600; font-size:.82rem; letter-spacing:.05em; text-transform:uppercase; color:var(--blue-800); margin-top:6px; }
.stat-item + .stat-item { border-left:1px solid rgba(10,38,71,.15); }

/* -------------------- Page banner (subpages) -------------------- */
.page-banner { background:var(--blue-900); color:#fff; padding:66px 0 54px; position:relative; overflow:hidden; }
.page-banner::before { content:""; position:absolute; left:0; bottom:0; width:100%; height:5px; background:var(--yellow); }
.page-banner .breadcrumb { font-size:.85rem; color:#9FB6D4; margin-bottom:14px; font-weight:600; }
.page-banner .breadcrumb a { color:#9FB6D4; }
.page-banner .breadcrumb a:hover { color:#fff; }
.page-banner h1 { color:#fff; font-size:2.9rem; margin-bottom:12px; }
.page-banner p { color:#C6D6EC; max-width:640px; font-size:1.1rem; }

/* -------------------- About / mission-vision -------------------- */
.mv-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.mv-card { background:#fff; border:1px solid var(--gray-200); border-top:4px solid var(--blue-700); border-radius:var(--radius); padding:34px; box-shadow:var(--shadow-sm); }
.mv-card.vision { border-top-color:var(--yellow); }
.mv-card .mv-ico { width:52px; height:52px; border-radius:10px; background:var(--blue-50); color:var(--blue-700); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:18px; }
.mv-card.vision .mv-ico { background:var(--yellow-100); color:var(--yellow-600); }
.mv-card h3 { font-size:1.5rem; margin-bottom:12px; }
.mv-card p { color:var(--gray-700); font-size:1.05rem; }

/* Core values */
.values-wrap { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.value-chip { display:inline-flex; align-items:center; gap:9px; background:#fff; border:1px solid var(--gray-200); border-radius:999px; padding:10px 18px; font-weight:600; font-size:.95rem; color:var(--ink); }
.value-chip i { color:var(--yellow-600); font-size:.8rem; }

/* -------------------- Person / card grids -------------------- */
.grid { display:grid; gap:24px; }
.grid-3 { grid-template-columns:repeat(3,1fr); }
.grid-2 { grid-template-columns:repeat(2,1fr); }

/* Avatar (photo or initials) */
.avatar {
  width:100%; aspect-ratio:1/1; border-radius:0; overflow:hidden; position:relative;
  background:var(--blue-700); display:flex; align-items:center; justify-content:center;
}
.avatar img { width:100%; height:100%; object-fit:cover; }
.avatar .initials { font-family:var(--font-serif); font-weight:700; color:#fff; font-size:2.6rem; letter-spacing:.02em; }
.avatar.alt { background:var(--yellow); }
.avatar.alt .initials { color:var(--blue-900); }

/* Executive / person card */
.person-card { background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition); display:flex; flex-direction:column; }
.person-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.person-card .avatar { aspect-ratio:4/3; }
.person-card .person-body { padding:22px 22px 26px; flex:1; display:flex; flex-direction:column; }
.person-card .person-name { font-size:1.25rem; margin-bottom:2px; }
.person-card .person-name.untitled { color:var(--gray-500); font-style:italic; font-weight:400; font-size:1.05rem; }
.person-card .person-title { font-family:var(--font-sans); font-weight:700; font-size:.88rem; color:var(--blue-700); text-transform:uppercase; letter-spacing:.04em; margin-bottom:12px; }
.person-card .person-blurb { color:var(--gray-700); font-size:.98rem; }
.person-card .person-tag { display:inline-block; align-self:flex-start; margin-bottom:14px; background:var(--yellow-100); color:var(--yellow-600); font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; padding:4px 10px; border-radius:4px; }

/* -------------------- Directorates (clusters) -------------------- */
.cluster { margin-bottom:56px; }
.cluster:last-child { margin-bottom:0; }
.cluster-head { display:flex; align-items:flex-start; gap:16px; padding-bottom:18px; margin-bottom:28px; border-bottom:2px solid var(--gray-200); }
.cluster-num { flex-shrink:0; width:46px; height:46px; border-radius:8px; background:var(--blue-900); color:var(--yellow); font-family:var(--font-serif); font-weight:700; font-size:1.3rem; display:flex; align-items:center; justify-content:center; }
.cluster-head h3 { font-size:1.55rem; margin-bottom:3px; }
.cluster-head p { color:var(--gray-500); font-size:.98rem; }

.dir-card { background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition); display:flex; flex-direction:column; }
.dir-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.dir-card .avatar { aspect-ratio:3/2; }
.dir-card .dir-body { padding:20px 20px 24px; display:flex; flex-direction:column; flex:1; }
.dir-card .dir-name { font-size:1.12rem; line-height:1.25; margin-bottom:10px; }
.dir-card .dir-lead { display:flex; align-items:center; gap:8px; font-weight:700; font-size:.82rem; color:var(--blue-700); text-transform:uppercase; letter-spacing:.03em; margin-bottom:12px; }
.dir-card .dir-lead i { color:var(--yellow-600); }
.dir-card .dir-leadname { font-weight:400; text-transform:none; letter-spacing:0; color:var(--gray-700); font-size:.9rem; margin:-8px 0 12px; }
.dir-card .dir-func { color:var(--gray-700); font-size:.95rem; }

/* -------------------- Projects -------------------- */
.project-card { background:#fff; border:1px solid var(--gray-200); border-left:5px solid var(--blue-700); border-radius:var(--radius); padding:30px 30px 32px; box-shadow:var(--shadow-sm); transition:var(--transition); }
.project-card:hover { box-shadow:var(--shadow); }
.project-card.flagship { border-left-color:var(--yellow); }
.project-status { display:inline-block; font-weight:700; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:5px 12px; border-radius:4px; margin-bottom:16px; background:var(--blue-50); color:var(--blue-700); }
.project-card.flagship .project-status { background:var(--yellow-100); color:var(--yellow-600); }
.project-card h3 { font-size:1.5rem; margin-bottom:12px; }
.project-card p { color:var(--gray-700); }

/* -------------------- Membership -------------------- */
.member-card { background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-sm); transition:var(--transition); position:relative; }
.member-card:hover { box-shadow:var(--shadow); transform:translateY(-3px); }
.member-card .m-ico { width:46px; height:46px; border-radius:9px; background:var(--blue-50); color:var(--blue-700); display:flex; align-items:center; justify-content:center; font-size:1.1rem; margin-bottom:16px; }
.member-card h3 { font-size:1.22rem; margin-bottom:8px; }
.member-card p { color:var(--gray-700); font-size:.97rem; }

/* -------------------- Offices / regions -------------------- */
.office-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:36px; align-items:start; }
.region-list { display:grid; grid-template-columns:repeat(2,1fr); gap:10px 18px; }
.region-item { display:flex; align-items:center; gap:10px; font-weight:600; color:var(--ink); padding:10px 14px; background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius-sm); }
.region-item i { color:var(--blue-600); font-size:.85rem; }
.hq-card { background:var(--blue-900); color:#fff; border-radius:var(--radius); padding:30px; }
.hq-card h3 { color:#fff; font-size:1.3rem; margin-bottom:8px; }
.hq-card .hq-addr { color:#C6D6EC; margin-bottom:22px; }
.campus-cats { margin-top:4px; }
.campus-cats li { display:flex; align-items:center; gap:10px; padding:9px 0; border-top:1px solid rgba(255,255,255,.12); color:#DCE7F4; font-size:.95rem; }
.campus-cats li i { color:var(--yellow); }

/* -------------------- CTA band -------------------- */
.cta-band { background:var(--blue-700); color:#fff; border-radius:16px; padding:50px; display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; }
.cta-band h2 { color:#fff; font-size:2rem; margin-bottom:8px; }
.cta-band p { color:#CFE0F5; max-width:520px; }

/* -------------------- Contact -------------------- */
.contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:44px; align-items:start; }
.contact-info .ci-item { display:flex; gap:16px; padding:20px 0; border-bottom:1px solid var(--gray-200); }
.contact-info .ci-item:first-child { padding-top:0; }
.contact-info .ci-ico { flex-shrink:0; width:46px; height:46px; border-radius:10px; background:var(--blue-50); color:var(--blue-700); display:flex; align-items:center; justify-content:center; font-size:1.1rem; }
.contact-info .ci-label { font-weight:700; font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gray-500); margin-bottom:3px; }
.contact-info .ci-val { font-weight:600; color:var(--ink); }
.contact-info .ci-val a { color:var(--ink); }
.contact-info .ci-val a:hover { color:var(--blue-700); }

.form-card { background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius); padding:34px; box-shadow:var(--shadow-sm); }
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-weight:600; font-size:.9rem; margin-bottom:7px; color:var(--ink); }
.form-control { width:100%; font-family:inherit; font-size:1rem; padding:12px 15px; border:1.5px solid var(--gray-300); border-radius:var(--radius-sm); background:#fff; color:var(--ink); transition:var(--transition); }
.form-control:focus { outline:none; border-color:var(--blue-700); box-shadow:0 0 0 3px var(--blue-100); }
.form-control.invalid { border-color:#D64545; }
textarea.form-control { resize:vertical; min-height:130px; }
.error-text { display:none; color:#D64545; font-size:.85rem; margin-top:5px; }

/* Application forms */
select.form-control { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B7585' d='M6 8 0 1 1 0l5 6 5-6 1 1z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 15px center; padding-right:38px; cursor:pointer; }
input[type="file"].form-control { padding:9px 12px; cursor:pointer; }
input[type="file"].form-control::-webkit-file-upload-button, input[type="file"].form-control::file-selector-button { font-family:inherit; font-weight:600; font-size:.85rem; margin-right:12px; padding:8px 14px; border:none; border-radius:5px; background:var(--blue-50); color:var(--blue-700); cursor:pointer; }
.field-hint { font-size:.82rem; color:var(--gray-500); margin-top:6px; }
.apply-status { display:none; align-items:center; gap:10px; padding:16px 18px; border-radius:var(--radius-sm); margin-bottom:22px; font-size:.97rem; }
.apply-status.ok { background:#E8F6EE; color:#1E7D45; border:1px solid #BCE5CC; }
.apply-status.err { background:#FDECEC; color:#B23B3B; border:1px solid #F3C9C9; }
.apply-status i { font-size:1.1rem; flex-shrink:0; }
.benefit-list li, .criteria-list li { display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--gray-200); color:var(--gray-700); }
.benefit-list li:last-child, .criteria-list li:last-child { border-bottom:none; }
.benefit-list li i { color:var(--blue-700); margin-top:4px; }
.criteria-list li i { color:var(--yellow-600); margin-top:4px; }
.track-tags { display:flex; flex-wrap:wrap; gap:10px; }
.track-tag { background:#fff; border:1px solid var(--gray-200); border-left:3px solid var(--yellow); border-radius:var(--radius-sm); padding:10px 16px; font-weight:600; font-size:.92rem; color:var(--ink); }
.info-split { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.info-card { background:#fff; border:1px solid var(--gray-200); border-radius:var(--radius); padding:30px; box-shadow:var(--shadow-sm); }
.info-card > h3 { font-size:1.4rem; margin-bottom:16px; }
@media (max-width:768px){ .info-split { grid-template-columns:1fr; } }

.toast { position:fixed; bottom:28px; right:28px; background:var(--blue-900); color:#fff; padding:16px 22px; border-radius:var(--radius); box-shadow:var(--shadow); display:flex; align-items:center; gap:12px; transform:translateY(140%); transition:transform .35s cubic-bezier(.2,.8,.2,1); z-index:2000; }
.toast.show { transform:translateY(0); }
.toast i { color:var(--yellow); font-size:1.2rem; }

/* -------------------- Footer -------------------- */
.site-footer { background:var(--blue-900); color:#C6D6EC; padding:64px 0 0; }
.footer-top { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:36px; padding-bottom:44px; border-bottom:1px solid rgba(255,255,255,.12); }
.footer-brand .brand-name { color:#fff; font-size:1.3rem; }
.footer-motto { font-family:var(--font-serif); font-style:italic; color:var(--yellow); margin:14px 0 16px; font-size:1.05rem; }
.footer-brand p { font-size:.95rem; color:#9FB6D4; }
.footer-col h4 { color:#fff; font-size:1rem; margin-bottom:16px; font-family:var(--font-sans); font-weight:700; letter-spacing:.02em; }
.footer-col ul li { margin-bottom:10px; }
.footer-col ul li a, .footer-col ul li { color:#A9BFD9; font-size:.95rem; }
.footer-col ul li a:hover { color:#fff; }
.footer-col .fc-contact li { display:flex; gap:10px; align-items:flex-start; }
.footer-col .fc-contact li i { color:var(--yellow); margin-top:4px; font-size:.85rem; }
.footer-bottom { padding:22px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:.85rem; color:#8CA4C2; }

/* -------------------- Mobile -------------------- */
@media (max-width:980px){
  .hero .container { grid-template-columns:1fr; gap:40px; }
  .hero h1 { font-size:3.2rem; }
  .office-grid, .contact-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr 1fr; gap:30px; }
  .grid-3 { grid-template-columns:repeat(2,1fr); }
}
/* Collapse the nav to a hamburger before it gets crowded */
@media (max-width:920px){
  .burger { display:flex; }
  .main-nav {
    position:fixed; top:var(--header-h); left:0; right:0;
    background:#fff; flex-direction:column; align-items:stretch; gap:0;
    padding:10px 16px 20px; border-bottom:1px solid var(--gray-200);
    box-shadow:var(--shadow); transform:translateY(-130%); transition:transform .3s ease; z-index:999;
  }
  .main-nav.open { transform:translateY(0); }
  .main-nav a.nav-link { padding:14px 10px; border-bottom:1px solid var(--gray-100); border-radius:0; }
  .main-nav a.nav-link.active::after { display:none; }
  .main-nav a.nav-link.active { background:var(--blue-50); }
  .nav-cta { margin:12px 0 0; }
  .nav-cta .btn { width:100%; justify-content:center; }
}
@media (max-width:768px){
  body { font-size:16px; }
  .section { padding:60px 0; }
  .section-head h2, .cta-band h2 { font-size:1.9rem; }
  .hero h1 { font-size:2.5rem; }
  .stat-strip .container { grid-template-columns:repeat(2,1fr); gap:0; }
  .stat-item { padding:16px 8px; }
  .stat-item + .stat-item { border-left:none; }
  .stat-item:nth-child(3), .stat-item:nth-child(4) { border-top:1px solid rgba(10,38,71,.15); }
  .stat-item:nth-child(even) { border-left:1px solid rgba(10,38,71,.15); }
  .mv-grid, .grid-3, .grid-2 { grid-template-columns:1fr; }
  .region-list { grid-template-columns:1fr; }
  .page-banner h1 { font-size:2.1rem; }
  .cta-band { padding:34px; text-align:center; justify-content:center; }
  .footer-top { grid-template-columns:1fr; }
  .cluster-head { flex-direction:column; gap:10px; }
}
@media (max-width:380px){
  .hero h1 { font-size:2.1rem; }
  .brand-sub { display:none; }
}
