/* ================================================================
   PAGE-DESIGN.CSS — Sushrutha Inner Pages Design System
   Matches index.html premium aesthetic exactly.
   Navy #001840 | Green #3f6653 | Gold #e8c76a
   ================================================================ */

:root {
  --clr-primary:   #001840;
  --clr-secondary: #3f6653;
  --clr-gold:      #e8c76a;
  --clr-surface:   #f8f9fa;
  --clr-text:      #1a1c1e;
  --clr-muted:     #44474f;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: var(--clr-text); background: #fff; line-height: 1.6; }
img  { max-width: 100%; display: block; }
a    { text-decoration: none; color: inherit; }
ul   { list-style: none; }

/* ── NAV ─────────────────────────────────────────────────── */
nav.samc-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(0,0,0,0.07);
  height: 68px; display: flex; align-items: center;
  transition: box-shadow .3s;
}
nav.samc-nav.scrolled { box-shadow: 0 2px 24px rgba(0,24,64,.10); }
.nav-inner      { max-width: 1280px; margin: 0 auto; padding: 0 24px; width: 100%; display: flex; justify-content: space-between; align-items: center; }
.nav-brand      { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.nav-logo       { height: 44px; width: auto; }
.nav-brand-text { display: flex; flex-direction: column; }
.nav-brand-name { font-size: 15px; font-weight: 700; color: var(--clr-primary); line-height: 1.2; }
.nav-brand-sub  { font-size: 11px; color: var(--clr-secondary); font-weight: 500; }
.nav-links      { display: flex; align-items: center; gap: 4px; }
.nav-link       { font-size: 13px; font-weight: 500; color: var(--clr-muted); padding: 6px 10px; border-radius: 6px; text-decoration: none; transition: all .2s; white-space: nowrap; }
.nav-link:hover { color: var(--clr-secondary); background: rgba(63,102,83,.06); }
.nav-link.active{ color: var(--clr-secondary); font-weight: 700; }
.nav-actions    { display: flex; align-items: center; gap: 8px; }
.btn-nav-primary{ background: var(--clr-primary); color: #fff; padding: 8px 16px; border-radius: 8px; font-size: 13px; font-weight: 600; text-decoration: none; transition: all .2s; border: none; cursor: pointer; }
.btn-nav-primary:hover { background: var(--clr-secondary); }
/* Dropdown */
.nav-dropdown     { position: relative; }
.nav-dropdown-btn { font-size: 13px; font-weight: 500; color: var(--clr-muted); padding: 6px 10px; border-radius: 6px; background: none; border: none; cursor: pointer; display: flex; align-items: center; gap: 2px; transition: color .2s; white-space: nowrap; }
.nav-dropdown-btn:hover { color: var(--clr-secondary); }
.dropdown-menu    { position: absolute; top: calc(100% + 4px); right: 0; background: #fff; border: 1px solid rgba(0,0,0,0.09); border-radius: 10px; box-shadow: 0 8px 32px rgba(0,24,64,.12); min-width: 200px; padding: 6px; opacity: 0; pointer-events: none; transform: translateY(-6px); transition: all .2s; z-index: 100; }
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu { opacity: 1; pointer-events: auto; transform: translateY(0); }
.dropdown-menu::before { content: ''; position: absolute; top: -10px; left: 0; right: 0; height: 10px; }
.dropdown-item { display: block; padding: 8px 12px; font-size: 13px; color: var(--clr-muted); text-decoration: none; border-radius: 6px; transition: all .2s; }
.dropdown-item:hover { background: rgba(63,102,83,.08); color: var(--clr-secondary); }
/* Mobile */
.mobile-toggle { display: none; background: none; border: none; cursor: pointer; padding: 6px; color: var(--clr-primary); align-items: center; justify-content: center; }
.mobile-menu   { display: none; position: fixed; top: 68px; left: 0; right: 0; bottom: 0; background: rgba(255,255,255,.98); backdrop-filter: blur(16px); z-index: 40; padding: 20px 24px; overflow-y: auto; flex-direction: column; gap: 2px; }
.mobile-menu.open { display: flex; }
.mobile-link   { display: block; padding: 12px 16px; font-size: 15px; color: var(--clr-muted); text-decoration: none; border-radius: 8px; font-weight: 500; transition: all .2s; border-bottom: 1px solid rgba(0,0,0,.04); }
.mobile-link:hover, .mobile-link.active { color: var(--clr-secondary); background: rgba(63,102,83,.05); }
.mobile-section-label { font-size: 11px; font-weight: 700; color: var(--clr-secondary); text-transform: uppercase; letter-spacing: .1em; padding: 16px 16px 4px; }

/* ── MAIN / PAGE CLEARANCE ───────────────────────────────── */
main.page-main { padding-top: 68px; }

/* ── HERO ───────────────────────────────────────────────── */
.page-hero {
  position: relative; min-height: 420px;
  display: flex; align-items: center;
  overflow: hidden;
  background: linear-gradient(135deg, #001840 0%, #0a2a5a 55%, #0d3a2a 100%);
}
.page-hero::before { content:''; position:absolute; top:-120px; right:-120px; width:480px; height:480px; background:rgba(232,199,106,.10); border-radius:50%; pointer-events:none; }
.page-hero::after  { content:''; position:absolute; bottom:-80px; left:-80px; width:320px; height:320px; background:rgba(63,102,83,.15); border-radius:50%; pointer-events:none; }
.page-hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:.22; }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,24,64,.88) 0%, rgba(0,24,64,.65) 55%, rgba(13,58,42,.55) 100%); }
.page-hero-content { position:relative; z-index:2; max-width:1280px; margin:0 auto; padding:80px 24px 64px; width:100%; }
.page-hero-breadcrumb { display:flex; align-items:center; gap:6px; font-size:12px; color:rgba(255,255,255,.55); margin-bottom:16px; flex-wrap:wrap; }
.page-hero-breadcrumb a { color:rgba(255,255,255,.65); transition:color .2s; }
.page-hero-breadcrumb a:hover { color:var(--clr-gold); }
.page-hero-breadcrumb .sep { color:rgba(255,255,255,.3); }
.page-hero-eyebrow { display:inline-flex; align-items:center; gap:6px; background:rgba(232,199,106,.18); border:1px solid rgba(232,199,106,.35); color:var(--clr-gold); padding:5px 14px; border-radius:100px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:16px; }
.page-hero-title { font-family:'Newsreader',serif; font-size:clamp(2rem,4.5vw,3.25rem); color:#fff; font-weight:700; line-height:1.1; margin-bottom:16px; max-width:760px; }
.page-hero-title em { color:var(--clr-gold); font-style:italic; }
.page-hero-sub { font-size:1.0625rem; color:rgba(255,255,255,.75); max-width:620px; line-height:1.7; }
.page-hero-chips { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.page-hero-chip { background:rgba(255,255,255,.1); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.18); border-radius:10px; padding:10px 16px; display:flex; align-items:center; gap:8px; }
.page-hero-chip .chip-icon { font-size:20px; color:var(--clr-gold); }
.page-hero-chip strong { color:#fff; font-size:13px; display:block; line-height:1.2; }
.page-hero-chip span { color:rgba(255,255,255,.6); font-size:11px; }

/* ── SECTION BASE ─────────────────────────────────────── */
.section     { padding: 80px 24px; }
.section-sm  { padding: 56px 24px; }
.section-alt { background: var(--clr-surface); }
.section-dark{ background: var(--clr-primary); }
.container   { max-width: 1280px; margin: 0 auto; }
.section-eyebrow { font-size:12px; font-weight:700; color:var(--clr-secondary); text-transform:uppercase; letter-spacing:.1em; margin-bottom:10px; }
.section-eyebrow.light { color:var(--clr-gold); }
.section-title{ font-family:'Newsreader',serif; font-size:clamp(1.75rem,3vw,2.75rem); color:var(--clr-primary); font-weight:700; line-height:1.15; margin-bottom:14px; }
.section-title.light { color:#fff; }
.rule-gold   { width:48px; height:3px; background:var(--clr-gold); border-radius:2px; margin-bottom:24px; }
.section-lead{ font-size:1.0625rem; color:var(--clr-muted); line-height:1.75; max-width:640px; }
.section-lead.light { color:rgba(255,255,255,.75); }
.section-header { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:48px; flex-wrap:wrap; }
/* sections pasted inside other sections: avoid doubled padding and width */
.section .section { padding: 0; }
.section .section .container { max-width: none; }
.section-header-text { flex:1; }

/* ── CARDS ────────────────────────────────────────────── */
.p-card { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:16px; overflow:hidden; transition:all .3s; }
.p-card:hover { box-shadow:0 12px 40px rgba(0,24,64,.10); transform:translateY(-3px); }
.p-card-body { padding:24px; }
.p-card-icon { width:48px; height:48px; background:rgba(63,102,83,.1); border-radius:10px; display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.p-card-icon .material-symbols-outlined { font-size:24px; color:var(--clr-secondary); }
.p-card-eyebrow { font-size:11px; font-weight:700; color:var(--clr-secondary); text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.p-card-title { font-size:1.0625rem; font-weight:700; color:var(--clr-primary); margin-bottom:10px; line-height:1.3; }
.p-card-body p { font-size:14px; color:var(--clr-muted); line-height:1.7; }
.p-card-link { display:inline-flex; align-items:center; gap:4px; color:var(--clr-secondary); font-size:13px; font-weight:600; margin-top:16px; transition:gap .2s; }
.p-card-link:hover { gap:8px; }
.p-card-h { display:flex; gap:20px; align-items:flex-start; background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:14px; padding:20px; transition:all .25s; }
.p-card-h:hover { box-shadow:0 6px 24px rgba(0,24,64,.08); }

/* ── STATS BAR ────────────────────────────────────────── */
.stats-bar  { background:#fff; border-bottom:1px solid rgba(0,0,0,.06); }
.stats-grid { max-width:1280px; margin:0 auto; padding:0 24px; display:grid; }
.stat-item  { text-align:center; padding:28px 20px; border-right:1px solid rgba(0,0,0,.06); }
.stat-item:last-child { border-right:none; }
.stat-number{ font-family:'Newsreader',serif; font-size:2.5rem; font-weight:700; color:var(--clr-primary); line-height:1; }
.stat-label { font-size:13px; color:var(--clr-muted); margin-top:6px; font-weight:500; }

/* ── TABS (smooth rebuild) ────────────────────────────── */
.tabs-wrapper { margin-top:8px; }
.tabs-nav,
.tab-bar { display:flex; gap:4px; border-bottom:2px solid rgba(0,0,0,.08); margin:0 0 40px; padding-bottom:0; overflow-x:auto; scrollbar-width:none; }
.tabs-nav::-webkit-scrollbar,
.tab-bar::-webkit-scrollbar { display:none; }
.tab-btn { padding:12px 22px; border:none; background:none; cursor:pointer; font-size:14px; font-weight:600; color:var(--clr-muted); border-bottom:2px solid transparent; margin-bottom:-2px; white-space:nowrap; transition:all .2s; flex-shrink:0; border-radius:4px 4px 0 0; }
.tab-btn:hover { color:var(--clr-primary); background:rgba(0,24,64,.03); }
.tab-btn.active { color:var(--clr-secondary); border-bottom-color:var(--clr-secondary); font-weight:700; background:rgba(63,102,83,.04); }
.tab-panel { display:none; animation:tabFade .25s ease both; }
.tab-panel.active { display:block; }
@keyframes tabFade { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* ── TABLE ────────────────────────────────────────────── */
.table-wrap  { overflow-x:auto; border-radius:14px; border:1px solid rgba(0,0,0,.08); box-shadow:0 2px 8px rgba(0,0,0,.04); }
.page-table  { width:100%; border-collapse:collapse; font-size:14px; background:#fff; }
.page-table thead th { background:var(--clr-primary); color:#fff; font-weight:700; font-size:12px; letter-spacing:.05em; text-transform:uppercase; padding:14px 16px; text-align:left; }
.page-table tbody tr { border-bottom:1px solid #f0f1f2; transition:background .15s; }
.page-table tbody tr:last-child { border-bottom:none; }
.page-table tbody tr:hover { background:#f8fafb; }
.page-table tbody td { padding:13px 16px; color:var(--clr-muted); vertical-align:top; }
.page-table tbody td:first-child { color:var(--clr-primary); font-weight:600; }

/* ── PERSON CARD ──────────────────────────────────────── */
.person-card { background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:16px; overflow:hidden; transition:all .3s; }
.person-card:hover { box-shadow:0 12px 40px rgba(0,24,64,.10); transform:translateY(-3px); }
.person-card-img  { width:100%; height:240px; object-fit:cover; object-position:top center; }
.person-card-body { padding:20px; }
.person-name { font-size:15px; font-weight:700; color:var(--clr-primary); margin-bottom:4px; }
.person-role { font-size:13px; font-weight:600; color:var(--clr-secondary); margin-bottom:6px; }
.person-dept { font-size:13px; color:var(--clr-muted); }
.person-quals{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.person-qual { background:rgba(63,102,83,.08); color:var(--clr-secondary); font-size:11px; font-weight:600; padding:3px 10px; border-radius:100px; }

/* ── DEPT SIDEBAR ─────────────────────────────────────── */
.dept-sidebar-wrap { display:grid; grid-template-columns:260px 1fr; gap:28px; align-items:start; }
.dept-sidebar { background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:16px; padding:12px; position:sticky; top:82px; max-height:calc(100vh - 100px); overflow-y:auto; }
.dept-sidebar::-webkit-scrollbar { width:4px; }
.dept-sidebar::-webkit-scrollbar-thumb { background:#c4c6d1; border-radius:4px; }
.dept-sidebar-heading { font-size:11px; font-weight:700; color:var(--clr-secondary); text-transform:uppercase; letter-spacing:.1em; padding:8px 12px 12px; border-bottom:1px solid #f0f1f2; margin-bottom:6px; display:block; }
.dept-btn { display:flex; align-items:center; justify-content:space-between; width:100%; text-align:left; padding:10px 12px; border-radius:8px; font-size:13px; font-weight:600; color:var(--clr-muted); background:none; border:none; cursor:pointer; transition:all .15s; }
.dept-btn:hover { background:#f3f4f5; color:var(--clr-primary); }
.dept-btn.active-dept { background:rgba(63,102,83,.10); color:var(--clr-secondary); border-left:3px solid var(--clr-secondary); padding-left:9px; }
.dept-panel-content { background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:16px; padding:36px; min-height:500px; }
.dept-mobile-select { display:none; }
.dept-mobile-select select { width:100%; border:1px solid rgba(0,0,0,.12); border-radius:10px; padding:12px 14px; font-size:15px; background:#fff; color:var(--clr-text); font-family:'Inter',sans-serif; }

/* ── GALLERY ──────────────────────────────────────────── */
.gallery-filter { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; }
.gallery-filter-btn { padding:7px 18px; border:1px solid rgba(0,0,0,.1); border-radius:100px; background:#fff; font-size:13px; font-weight:600; color:var(--clr-muted); cursor:pointer; transition:all .2s; }
.gallery-filter-btn:hover, .gallery-filter-btn.active { background:var(--clr-secondary); color:#fff; border-color:var(--clr-secondary); }
.gallery-masonry { columns:3; gap:14px; }
.gallery-item { break-inside:avoid; margin-bottom:14px; border-radius:12px; overflow:hidden; cursor:pointer; position:relative; box-shadow:0 2px 8px rgba(0,0,0,.06); transition:transform .25s ease,box-shadow .25s ease; }
.gallery-item:hover { transform:scale(1.02); box-shadow:0 8px 28px rgba(0,0,0,.14); }
.gallery-item img { display:block; width:100%; height:auto; }
.gallery-item-overlay { position:absolute; inset:0; background:rgba(0,24,64,.45); opacity:0; display:flex; align-items:center; justify-content:center; transition:opacity .25s; }
.gallery-item:hover .gallery-item-overlay { opacity:1; }
.gallery-item-overlay .material-symbols-outlined { font-size:32px; color:#fff; }

/* ── LOGIN PORTALS ────────────────────────────────────── */
.login-section { max-width:720px; margin:0 auto; }
.login-card    { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:20px; padding:40px; box-shadow:0 8px 32px rgba(0,24,64,.08); }
.login-portal  { display:flex; align-items:center; gap:16px; padding:18px 24px; border-radius:14px; background:var(--clr-surface); border:1px solid rgba(0,0,0,.07); color:var(--clr-primary); font-weight:700; font-size:15px; text-decoration:none; transition:all .25s; margin-bottom:12px; }
.login-portal:last-child { margin-bottom:0; }
.login-portal:hover { background:var(--clr-primary); color:#fff; transform:translateX(4px); box-shadow:0 6px 20px rgba(0,24,64,.18); }
.login-portal:hover .login-portal-icon { background:rgba(255,255,255,.15); color:#fff; }
.login-portal-icon  { width:44px; height:44px; border-radius:10px; background:rgba(63,102,83,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--clr-secondary); font-size:22px; transition:all .25s; }
.login-portal-label { flex:1; }
.login-portal-sub   { font-size:12px; font-weight:400; color:var(--clr-muted); margin-top:2px; }
.login-portal:hover .login-portal-sub { color:rgba(255,255,255,.65); }
.login-portal-arrow { margin-left:auto; font-size:20px; opacity:.4; transition:opacity .2s,transform .2s; }
.login-portal:hover .login-portal-arrow { opacity:1; transform:translateX(4px); }

/* ── CTA BANNER ───────────────────────────────────────── */
.cta-banner { background:linear-gradient(135deg,var(--clr-primary) 0%,#0a2a5a 55%,#0d3a2a 100%); padding:80px 24px; text-align:center; position:relative; overflow:hidden; }
.cta-banner::before { content:''; position:absolute; top:-100px; right:-100px; width:400px; height:400px; background:rgba(232,199,106,.12); border-radius:50%; pointer-events:none; }
.cta-banner::after  { content:''; position:absolute; bottom:-80px; left:-80px; width:300px; height:300px; background:rgba(63,102,83,.12); border-radius:50%; pointer-events:none; }
.cta-banner-inner { position:relative; z-index:1; max-width:700px; margin:0 auto; }
.cta-banner h2 { font-family:'Newsreader',serif; font-size:clamp(1.75rem,3.5vw,2.75rem); color:#fff; font-weight:700; margin-bottom:14px; }
.cta-banner p  { font-size:17px; color:rgba(255,255,255,.72); margin-bottom:32px; line-height:1.65; }
.cta-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }
.cta-btn-gold    { background:var(--clr-gold); color:var(--clr-primary); padding:14px 32px; border-radius:10px; font-size:15px; font-weight:700; text-decoration:none; transition:all .2s; display:inline-flex; align-items:center; gap:6px; }
.cta-btn-gold:hover { background:#f0d47a; transform:translateY(-1px); }
.cta-btn-outline { border:2px solid rgba(255,255,255,.35); color:#fff; padding:14px 32px; border-radius:10px; font-size:15px; font-weight:600; text-decoration:none; transition:all .2s; display:inline-flex; align-items:center; gap:6px; }
.cta-btn-outline:hover { border-color:#fff; background:rgba(255,255,255,.08); }

/* ── ACCORDION ────────────────────────────────────────── */
.accordion { display:flex; flex-direction:column; gap:8px; }
.acc-item   { border:1px solid rgba(0,0,0,.08); border-radius:12px; overflow:hidden; background:#fff; }
.acc-header { display:flex; align-items:center; justify-content:space-between; padding:18px 22px; cursor:pointer; font-weight:700; color:var(--clr-primary); font-size:15px; transition:background .15s; user-select:none; }
.acc-header:hover { background:#f8fafb; }
.acc-icon   { font-size:22px; color:var(--clr-secondary); transition:transform .25s ease; flex-shrink:0; }
.acc-item.open .acc-icon { transform:rotate(45deg); }
.acc-body   { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.acc-item.open .acc-body { max-height:3000px; }
.acc-body-inner { padding:0 22px 22px; color:var(--clr-muted); font-size:15px; line-height:1.75; }
.acc-body-inner ul { list-style:disc; padding-left:20px; }
.acc-body-inner li { margin-bottom:6px; }

/* ── FEATURE GRID ─────────────────────────────────────── */
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.feature-card { background:#fff; border:1px solid rgba(0,0,0,.07); border-radius:14px; padding:24px; transition:all .25s; }
.feature-card:hover { box-shadow:0 8px 28px rgba(0,24,64,.09); border-color:rgba(63,102,83,.25); transform:translateY(-2px); }
.feature-card .material-symbols-outlined { font-size:28px; color:var(--clr-secondary); margin-bottom:12px; display:block; }
.feature-card h4 { font-size:15px; font-weight:700; color:var(--clr-primary); margin-bottom:8px; }
.feature-card p  { font-size:14px; color:var(--clr-muted); line-height:1.65; }

/* ── INFO BOX ─────────────────────────────────────────── */
.info-box  { background:rgba(63,102,83,.06); border-left:4px solid var(--clr-secondary); border-radius:0 10px 10px 0; padding:18px 22px; margin:24px 0; }
.info-box h5 { font-weight:700; color:var(--clr-secondary); margin-bottom:6px; font-size:14px; }
.info-box p, .info-box li { font-size:14px; color:var(--clr-muted); line-height:1.7; }
.info-box ul { padding-left:20px; list-style:disc; }
.notice-box { background:rgba(232,199,106,.10); border-left:4px solid var(--clr-gold); border-radius:0 10px 10px 0; padding:18px 22px; margin:24px 0; }
.notice-box h5 { font-weight:700; color:#8a6a00; margin-bottom:6px; font-size:14px; }
.notice-box p  { font-size:14px; color:var(--clr-muted); line-height:1.7; }

/* ── CHIPS ────────────────────────────────────────────── */
.chip        { display:inline-flex; align-items:center; gap:4px; padding:4px 12px; border-radius:100px; font-size:12px; font-weight:600; }
.chip-green  { background:rgba(63,102,83,.10); color:var(--clr-secondary); }
.chip-navy   { background:rgba(0,24,64,.08);   color:var(--clr-primary);   }
.chip-gold   { background:rgba(232,199,106,.18); color:#8a6a00; }

/* ── SPLIT LAYOUT ─────────────────────────────────────── */
.split { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.split-img { border-radius:20px; overflow:hidden; position:relative; }
.split-img img { width:100%; height:100%; object-fit:cover; min-height:300px; }

/* ── FOOTER ───────────────────────────────────────────── */
.page-footer { background:var(--clr-primary); color:rgba(255,255,255,.72); }
.footer-top  { max-width:1280px; margin:0 auto; padding:64px 24px 40px; display:grid; grid-template-columns:2fr 1.5fr 1fr 1fr; gap:40px; }
.footer-brand { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; column-gap:14px; }
.footer-brand img { height:48px; margin-bottom:0; }
.footer-brand .footer-name { font-family:'Newsreader',serif; font-size:16px; font-weight:700; color:#fff; display:block; margin-bottom:0; line-height:1.3; }
.footer-brand p   { grid-column:1 / -1; margin-top:16px; font-size:14px; line-height:1.7; color:rgba(255,255,255,.58); max-width:320px; }
.footer-brand .footer-meta { grid-column:1 / -1; margin-top:12px; display:flex; flex-direction:column; gap:6px; font-size:13px; color:rgba(255,255,255,.62); }
.footer-brand .footer-meta span { display:flex; align-items:flex-start; gap:8px; }
.footer-brand .footer-meta .material-symbols-outlined { font-size:16px; color:rgba(255,255,255,.4); flex-shrink:0; margin-top:2px; }
.footer-brand .footer-meta a { color:rgba(255,255,255,.82); }
.footer-brand .footer-meta a:hover { color:#fff; }
.footer-heading   { font-size:11px; font-weight:700; color:var(--clr-gold); text-transform:uppercase; letter-spacing:.12em; margin-bottom:16px; display:block; }
.footer-links     { list-style:none; display:flex; flex-direction:column; gap:8px; }
.footer-links a   { font-size:13px; color:rgba(255,255,255,.62); text-decoration:none; transition:color .2s; line-height:1.4; }
.footer-links a:hover { color:#fff; }
.footer-contact-item { display:flex; align-items:flex-start; gap:8px; margin-bottom:10px; font-size:13px; color:rgba(255,255,255,.62); }
.footer-contact-item .material-symbols-outlined { font-size:16px; color:rgba(255,255,255,.4); flex-shrink:0; margin-top:2px; }
.footer-contact-item a { color:rgba(255,255,255,.8); }
.footer-contact-item a:hover { color:#fff; }
.footer-bottom { max-width:1280px; margin:0 auto; padding:20px 24px; border-top:1px solid rgba(255,255,255,.08); display:flex; justify-content:space-between; align-items:center; font-size:12px; color:rgba(255,255,255,.38); flex-wrap:wrap; gap:8px; }

/* ── RESPONSIVE ───────────────────────────────────────── */
@media(max-width:1024px){
  .nav-links { display:none; }
  .mobile-toggle { display:flex; }
  .footer-top { grid-template-columns:1fr 1fr; }
  .dept-sidebar-wrap { grid-template-columns:1fr; }
  .dept-sidebar { position:static; max-height:none; display:none; }
  .dept-mobile-select { display:block; margin-bottom:24px; }
  .feature-grid { grid-template-columns:1fr 1fr; }
  .split { grid-template-columns:1fr; gap:36px; }
}
@media(max-width:768px){
  .section { padding:56px 20px; }
  .section-sm { padding:40px 20px; }
  .page-hero-content { padding:72px 20px 48px; }
  .page-hero-chips { display:none; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2) { border-right:none; }
  .feature-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; gap:32px; }
  .login-card { padding:28px 20px; }
  .person-card-img { height:200px; }
  .dept-panel-content { padding:24px 16px; }
  .gallery-masonry { columns:2; }
}
@media(max-width:480px){
  .gallery-masonry { columns:1; }
  .cta-actions { flex-direction:column; align-items:center; }
  /* keep the brand from running under the Hospital button on phones */
  .nav-inner { padding: 0 14px; gap: 10px; }
  .nav-brand { gap: 8px; min-width: 0; }
  .nav-logo { height: 36px; }
  .nav-brand-name { font-size: 13px; }
  .nav-brand-sub { display: none; }
  .btn-nav-primary { padding: 7px 11px; font-size: 12px; }
}

/* Portal Login hidden site-wide (links kept in markup for easy re-enable) */
a[href$="/login.html"] { display: none !important; }
li:has(> a[href$="/login.html"]) { display: none !important; }
/* ── Material Symbols: CDN first, local fallback ──────────────
   font-display:block stops the ligature name (e.g. "menu_book")
   from showing as text while the icon font is still loading. */
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  font-weight: 100 700;
  font-display: block;
  src: url(https://fonts.gstatic.com/s/materialsymbolsoutlined/v371/kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsI.woff2) format('woff2'),
       url(../fonts/material-symbols-outlined.woff2) format('woff2');
}
.material-symbols-outlined {
  font-family: 'Material Symbols Outlined';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}