/* Shared styles of the public site (landing page, committee, …): colours, fonts, header, footer.
   Page-specific styles stay in each page. */
:root {
    /* Latin letters in Plus Jakarta Sans (as on the rest of the site); Bangla falls through to Noto Sans
       Bengali, which stays clean at every weight. Big Bangla headlines use Anek Bangla (a display face). */
    --font-ui: 'Plus Jakarta Sans', 'Noto Sans Bengali', system-ui, sans-serif;
    --font-display: 'Anek Bangla', 'Noto Sans Bengali', sans-serif;
    /* Brand Color Palette */
    --deep-ak-blue: #073B82;
    --royal-blue: #145DBF;
    --sky-blue: #4EA3E8;
    --soft-blue: #EEF6FF;
    --dark-text: #102033;
    --pure-white: #FFFFFF;
    --heritage-gold: #D6A84F;
    --heritage-gold-dark: #B88933;
    --slate-muted: #64748B;
    --border-light: rgba(20, 93, 191, 0.12);
    --shadow-subtle: 0 10px 30px -5px rgba(7, 59, 130, 0.08);
    --shadow-elevated: 0 20px 40px -10px rgba(7, 59, 130, 0.16);
}

/* ---------------------------------------------------------------- Base */
* { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
    font-family: var(--font-ui);
    color: var(--dark-text);
    background-color: #FAFCFF;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.container { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; }

/* ---------------------------------------------------------------- Footer */
.site-footer {
  background: var(--dark-text); color: rgba(255, 255, 255, 0.75);
  padding: 60px 0 30px; border-top: 3px solid var(--heritage-gold); font-size: 14px; font-family: var(--font-ui);
}
.site-footer .sf-container { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.site-footer .sf-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 48px; margin-bottom: 40px; }
.site-footer h3 { font-family: var(--font-display); font-size: 20px; font-weight: 700; color: #FFFFFF; margin: 0 0 10px; }
.site-footer p { font-size: 14px; color: rgba(255, 255, 255, 0.65); max-width: 400px; line-height: 1.7; margin: 0; }
.site-footer h4 { font-size: 15px; font-weight: 600; color: var(--heritage-gold); margin: 0 0 18px; }
.site-footer ul { list-style: none; display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; }
.site-footer a { color: rgba(255, 255, 255, 0.75); text-decoration: none; transition: color 0.2s; }
.site-footer a:hover, .site-footer a:focus-visible { color: #FFFFFF; }
.site-footer .sf-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 24px;
  display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px;
}
.site-footer .sf-bottom a { color: var(--heritage-gold); }
@media (max-width: 900px) { .site-footer .sf-grid { grid-template-columns: 1fr; gap: 32px; } }
