/* Color-only theme layer: keeps the approved layout and typography intact. */
:root { --page-white:#f7f9fc; --topbar-white:rgba(247,250,253,.94); --modern-ink:#10243f; --muted-blue:#5c7086; --modern-line:#d3dde8; }
body { background:var(--page-white); color:var(--modern-ink); }
.site-header { background:var(--topbar-white); border-bottom-color:var(--modern-line); box-shadow:0 1px 0 rgba(8,43,86,.04); }
.site-header { background:#0055A2; border-bottom-color:#0055A2; }
.site-header .wordmark, .site-header .main-nav, .site-header .full-name { color:#fff; }
.site-header .wordmark i { color:#E5A823; }
.events-empty{grid-column:1/-1;display:grid;place-items:center;min-height:210px;margin:0;padding:30px 20px;text-align:center;color:#5c7086;font-size:16px}
#press-grid:empty::before{content:'No spotlight stories yet';display:block;grid-column:1/-1;width:100%;padding:55px 20px;text-align:center;color:#5c7086;font-size:16px}
.project-grid:not(.expanded) .project-card:nth-child(n+5){display:none}.project-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap}
.site-header .wordmark i { border-left-color:#E5A823; }
.site-header .active-nav, .site-header .main-nav a:hover { color:#E5A823; }
.site-header .nav-cta { background:#E5A823; color:#082b56!important; }
.main-nav { color:var(--modern-ink); }
.full-name, .hero-deck, .officer-hero>p { color:var(--muted-blue); }
.hero-image { box-shadow:28px 28px 0 #e7eef6; }
.hero-image { position:relative; }
.hero-image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,35,78,.32),rgba(0,35,78,.04) 48%,rgba(0,35,78,.18)); pointer-events:none; }
.about, .events { background:#f2f1ed; }
.community, .press, .officer-board { background:var(--page-white); }
.community-list { border-top-color:var(--modern-line); }
.community-list article, .press-card { border-bottom-color:var(--modern-line); }
.project-card, .event-card, .officer-profile { box-shadow:0 8px 24px rgba(8,43,86,.06); }
.project-card p, .event-card p, .press-card p, .community-list p { color:var(--muted-blue); }
.section-tint { background:#eaf1f7; }
.site-footer { background:#071f3e; }
.officer-role-group { width:100%; }
.officer-role-heading { border-top:1px solid #d3dde8; padding-top:14px; margin-bottom:14px; }
.officer-role-heading .tag { margin:0; }
.officer-people { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.officer-level-chair .officer-role-group { max-width:300px; margin:0 auto; }
.officer-level-chair .officer-people, .officer-level-vp .officer-people { grid-template-columns:1fr; }
.officer-level-vp { display:grid; grid-template-columns:repeat(3,1fr); max-width:980px; margin:0 auto 80px; gap:28px; }
.officer-level-team { display:grid; grid-template-columns:repeat(2,1fr); max-width:1100px; margin:0 auto; gap:34px 28px; }
.officer-profile { min-height:0; }
.officer-profile>div:last-child { padding:14px 16px; }
.officer-profile h3 { font-size:18px; }
@media(max-width:800px){.officer-level-vp,.officer-level-team{grid-template-columns:repeat(2,1fr)}.officer-people{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.officer-level-vp,.officer-level-team,.officer-people{grid-template-columns:1fr}}
@media(max-width:800px){.mobile-menu-open{overflow:hidden}.mobile-drawer{display:block;position:fixed;inset:0;z-index:30;visibility:hidden;pointer-events:none}.mobile-drawer.is-open{visibility:visible;pointer-events:auto}.mobile-drawer-backdrop{position:absolute;inset:0;background:rgba(3,19,37,.52);opacity:0;transition:opacity .28s ease}.mobile-drawer-panel{position:absolute;top:0;right:0;width:min(88vw,390px);height:100%;padding:28px 25px 34px;background:#f7f9fc;color:#10243f;box-shadow:-18px 0 44px rgba(2,20,40,.2);transform:translateX(102%);transition:transform .32s cubic-bezier(.22,.8,.25,1);display:flex;flex-direction:column}.mobile-drawer.is-open .mobile-drawer-backdrop{opacity:1}.mobile-drawer.is-open .mobile-drawer-panel{transform:translateX(0)}.mobile-drawer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:26px;border-bottom:1px solid #d3dde8}.mobile-drawer-label{font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#154f93}.mobile-drawer-close{width:42px;height:42px;border:1px solid #c7d3df;border-radius:50%;background:#fff;color:#082b56;font:29px/1 var(--sans);cursor:pointer}.mobile-drawer-links{display:flex;flex-direction:column;padding-top:20px;gap:5px}.mobile-drawer-links a{display:flex;align-items:center;justify-content:space-between;padding:17px 4px;border-bottom:1px solid #d3dde8;color:#10243f;font-size:18px;font-weight:600}.mobile-drawer-links a::after{content:none}.mobile-drawer-links a span{display:none}.mobile-drawer-links a.nav-cta{margin-top:18px;padding:17px 18px;background:#0055A2;color:#fff!important;border:0}}
 .button span,.text-link span,.main-nav span{display:none!important}
 .mobile-drawer{display:none}
@media(max-width:800px){.mobile-drawer.is-open{display:block}}

/* Images remain visible while content is fetched. The API can replace these
   sources after it responds, but a slow database request must not blank the page. */
html.neon-loading img { visibility:visible !important; }
html.neon-loading .hero-image,
html.neon-loading .community-feature,
html.neon-loading .join>img,
html.neon-loading .photo-strip { animation:none; }
.image-missing { visibility:hidden !important; }
