:root {
  --emerald-950:#052f27; --emerald-900:#064638; --emerald-800:#075b46;
  --emerald-700:#0b7055; --gold:#d8b35d; --gold-light:#f2df9f;
  --cream:#fbf8ef; --ink:#182b25; --muted:#65736d;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:1rem; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.65; }
img,svg,video { max-width:100%; height:auto; }
a { text-underline-offset:.2em; }
.site-header { background:linear-gradient(110deg,var(--emerald-950),var(--emerald-800)); border-bottom:1px solid rgba(216,179,93,.45); }
.navbar-brand { color:#fff; white-space:normal; }
.brand-mark { width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;color:var(--gold-light);font-size:1.7rem; }
.brand-subtitle { color:var(--gold-light);letter-spacing:.22em;font-size:.62rem; }
.navbar .nav-link { color:rgba(255,255,255,.88); }
.navbar .nav-link:hover,.navbar .nav-link:focus { color:var(--gold-light); }
.btn-gold { color:var(--emerald-950); background:linear-gradient(135deg,var(--gold-light),var(--gold));border:1px solid #c69c3f;font-weight:700; }
.btn-gold:hover,.btn-gold:focus { color:var(--emerald-950);filter:brightness(1.04); }
.btn-outline-green { border:1px solid var(--emerald-800);color:var(--emerald-800); }
.hero-section { position:relative;overflow:hidden;color:#fff;background:radial-gradient(ellipse at 80% 45%,rgba(16,111,82,.72),transparent 46%),linear-gradient(120deg,var(--emerald-950),var(--emerald-900)); }
.hero-pattern { position:absolute;inset:0;opacity:.13;pointer-events:none;background-image:repeating-linear-gradient(45deg,transparent 0 28px,rgba(242,223,159,.2) 29px 30px),repeating-linear-gradient(-45deg,transparent 0 28px,rgba(242,223,159,.15) 29px 30px);mask-image:linear-gradient(90deg,transparent,#000); }
.eyebrow { color:var(--gold-light);letter-spacing:.19em;font-size:.75rem;font-weight:800; }
.eyebrow-green { color:var(--emerald-700); }
h1,h2,h3 { line-height:1.2;letter-spacing:-.025em; }
h1 { font-size:clamp(2.25rem,5vw,4.6rem);font-weight:750;max-width:13ch; }
h2 { font-size:clamp(1.8rem,3vw,2.8rem);font-weight:720; }
h3 { font-size:1.25rem;font-weight:700; }
.gold-text { color:var(--gold-light); }
.hero-copy { max-width:42rem;font-size:clamp(1rem,1.7vw,1.2rem);color:rgba(255,255,255,.83); }
.emblem-card { width:min(100%,350px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#0d6a50,#04372d 70%);box-shadow:0 24px 70px #001e18aa,inset 0 0 0 1px #f2df9f55; }
.emblem-ring { width:86%;height:86%;border:2px solid var(--gold);border-radius:50%;padding:10px;display:grid;place-items:center; }
.emblem-inner { width:100%;height:100%;border:1px solid #f2df9f88;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem; }
.emblem-calligraphy { font-size:clamp(3.5rem,10vw,5.5rem);line-height:1;color:var(--gold-light);font-family:serif; }
.emblem-label { font-size:.7rem;letter-spacing:.17em;font-weight:800;color:#fff;margin-top:.8rem; }
.emblem-rule { width:48px;height:2px;background:var(--gold);margin:.8rem 0; }
.emblem-tagline { color:var(--gold-light);font-size:.72rem; }
.section-light { background:#fffdf7; }
.lead-copy { color:#53645c;font-size:1.12rem; }
.section-heading { max-width:760px; }
.initiative-card { border:1px solid #e9dfc3;border-radius:1.1rem;padding:1.5rem;background:rgba(255,255,255,.82);box-shadow:0 8px 28px rgba(10,59,43,.045); }
.initiative-card p { color:var(--muted); }
.initiative-icon { width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#edf4e9;color:var(--emerald-800);font-size:1.4rem;margin-bottom:1.2rem; }
.status-label { display:inline-block;font-size:.75rem;font-weight:700;color:#70561b;background:#f8efcf;border-radius:999px;padding:.25rem .65rem; }
.principles-section { color:#fff;background:linear-gradient(110deg,var(--emerald-950),var(--emerald-800)); }
.principles-section p { color:rgba(255,255,255,.74); }
.contact-copy { max-width:660px; }
.site-footer { background:#03271f;color:#fff;border-top:1px solid rgba(216,179,93,.45); }
:focus-visible { outline:3px solid #e6bd55;outline-offset:3px; }
@media (max-width:575.98px) {
  .hero-section .container { padding-top:2.5rem!important;padding-bottom:2.5rem!important; }
  .hero-section .btn { width:100%; }
  .emblem-card { max-width:270px; }
  .initiative-card { padding:1.2rem; }
  .site-footer .container { align-items:flex-start!important; }
}
@media print {
  .site-header,.site-footer,.btn { display:none!important; }
  body { background:#fff;color:#000; }
}

.auth-page { min-height:100vh; display:flex; flex-direction:column; }
.auth-wrap { flex:1; display:flex; align-items:center; justify-content:center; }
.auth-card { width:100%; max-width:520px; background:#fffdf7; border:1px solid #e9dfc3; border-radius:1.25rem; padding:clamp(1.25rem,4vw,2.5rem); box-shadow:0 16px 50px rgba(10,59,43,.08); }
.auth-title { font-size:clamp(2rem,5vw,3rem); }
.auth-card .form-control { min-width:0; }
.dashboard-title { font-size:clamp(1.8rem,4vw,3rem); overflow-wrap:anywhere; }


/* Phase 08: shared central-branding display */
.brand-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: min(56px, 16vw);
  max-height: 56px;
  object-fit: contain;
  flex: 0 0 auto;
}
.navbar-brand { min-width: 0; overflow-wrap: anywhere; }
.navbar-brand strong { overflow-wrap: anywhere; }
.brand-subtitle { letter-spacing: .08em; overflow-wrap: anywhere; }
@media (max-width: 575.98px) {
  .brand-logo { max-width: 44px; max-height: 44px; }
  .brand-mark { width: 38px; height: 38px; font-size: 1.4rem; flex: 0 0 auto; }
  .navbar-brand { gap: .5rem !important; font-size: .95rem; }
  .brand-subtitle { font-size: .58rem; letter-spacing: .04em; }
}
