/* COMMON LEDGER, Brant Community Foundation evolution.
   WXZA token architecture: every value defined once here, components use tokens only.
   Fruit Chord: skin pale paper, flesh white, seed river blue, stem meadow green,
   ripeness light leaf, juice violet (sparing). */
:root{
  --skin:#F5F6FA; --flesh:#FFFFFF; --seed:#00568C; --seed-deep:#16163F; --stem:#71A042;
  --ripeness:#C3DAAD; --juice:#785CA6; --soft-blue:#92B4CE;
  --ink:#354353; --ink-soft:#5D6B7A; --line:#D8DEE6;
  --font-display:"DM Sans","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --font-body:"Roboto","Segoe UI",system-ui,-apple-system,Arial,sans-serif;
  --fs-xs:0.78rem; --fs-sm:0.9rem; --fs-md:1rem; --fs-lg:1.25rem; --fs-xl:1.7rem; --fs-2xl:2.4rem; --fs-hero:3rem;
  --s1:0.25rem; --s2:0.5rem; --s3:1rem; --s4:1.5rem; --s5:2.5rem; --s6:4rem;
  --r-sm:6px; --r-md:12px; --r-lg:20px;
  --touch:48px; --maxw:1180px;
  --m-fast:160ms; --m-med:320ms;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--skin);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-md);line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--seed)}
.wrap{max-width:var(--maxw);margin:0 auto;padding-left:var(--s4);padding-right:var(--s4)}
.skip{position:absolute;left:-9999px;top:0;background:var(--seed);color:var(--flesh);padding:var(--s2) var(--s3);z-index:50}
.skip:focus{left:var(--s2);top:var(--s2)}
h1,h2,h3{font-family:var(--font-display);color:var(--seed-deep);line-height:1.15;margin:0 0 var(--s3)}
h1{font-size:var(--fs-hero)} h2{font-size:var(--fs-xl)} h3{font-size:var(--fs-lg)}
.kicker{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:0.14em;text-transform:uppercase;color:var(--stem);font-weight:700;margin:0 0 var(--s2)}
.lede{font-size:var(--fs-lg);color:var(--ink);max-width:44rem}
.fineprint{font-size:var(--fs-sm);color:var(--ink-soft)}
.btn{display:inline-flex;align-items:center;min-height:var(--touch);padding:var(--s2) var(--s4);border-radius:var(--r-md);font-family:var(--font-display);font-weight:700;text-decoration:none;transition:transform var(--m-fast),background var(--m-fast)}
.btn-solid{background:var(--stem);color:var(--flesh)}
.btn-solid:hover{background:var(--seed)}
.btn-line{border:2px solid var(--seed);color:var(--seed);background:transparent}
.btn-line:hover{background:var(--ripeness)}
.site-head{background:var(--flesh);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.head-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:72px}
.brand{display:flex;flex-direction:column;text-decoration:none;gap:2px}
.brand img{width:171px}
.brand-sub{font-size:0.62rem;letter-spacing:0.18em;color:var(--ink-soft);font-family:var(--font-display)}
.main-nav{display:flex;gap:var(--s2)}
.main-nav a{display:inline-flex;align-items:center;min-height:var(--touch);padding:0 var(--s3);text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:600;border-radius:var(--r-sm)}
.main-nav a:hover,.main-nav a[aria-current="page"]{background:var(--ripeness);color:var(--seed-deep)}
.menu-btn{display:none;min-height:var(--touch);min-width:var(--touch);border:1px solid var(--line);background:var(--flesh);border-radius:var(--r-sm);font-family:var(--font-display);font-weight:700;color:var(--seed);padding:0 var(--s3)}
.mobile-menu{background:var(--flesh);border-bottom:1px solid var(--line);padding:var(--s2) var(--s4) var(--s3)}
.mobile-menu a{display:flex;align-items:center;min-height:var(--touch);text-decoration:none;color:var(--ink);font-family:var(--font-display);border-bottom:1px solid var(--line)}
.crumbs{padding-top:var(--s3);font-size:var(--fs-sm);color:var(--ink-soft)}
.crumbs a{color:var(--seed)}
.hero{background:linear-gradient(180deg,var(--flesh),var(--skin));padding:var(--s6) 0 var(--s5)}
.hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:var(--s5);align-items:center}
.hero-cta{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s4)}
.hero-photo{margin:0}
.hero-photo img{border-radius:var(--r-lg);width:100%}
.hero-photo figcaption{font-size:var(--fs-xs);color:var(--ink-soft);margin-top:var(--s2)}
.stats{padding:var(--s5) 0}
.ledger{border-top:2px solid var(--seed);margin:var(--s3) 0}
.ledger-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s4);padding:var(--s3) var(--s2);border-bottom:1px solid var(--line)}
.ledger-row dt{font-family:var(--font-display);color:var(--ink)}
.ledger-row dt span{display:block;font-family:var(--font-body);font-weight:400;color:var(--ink-soft);font-size:var(--fs-sm);margin-top:var(--s1)}
.ledger-row dd{margin:0;font-family:var(--font-display);font-weight:700;font-size:var(--fs-xl);color:var(--seed);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.ledger-row dd small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--ink-soft);font-family:var(--font-body)}
.roles,.involve{padding:var(--s5) 0}
.card-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s4)}
.card{background:var(--flesh);border:1px solid var(--line);border-top:4px solid var(--stem);border-radius:var(--r-md);padding:var(--s4)}
.card h3{color:var(--seed)}
.card a{font-family:var(--font-display);font-weight:700}
.photo-card{padding:0;overflow:hidden}
.photo-card img{width:100%}
.photo-card h3,.photo-card p,.photo-card a{margin-left:var(--s4);margin-right:var(--s4)}
.photo-card a{display:inline-flex;min-height:var(--touch);align-items:center;margin-bottom:var(--s3)}
.page-head{padding:var(--s5) 0 var(--s3)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);padding-bottom:var(--s4)}
.prose{max-width:46rem;padding-bottom:var(--s4)}
.prose h2{margin-top:var(--s5)}
.tick{list-style:none;padding:0}
.tick li{padding:var(--s2) 0 var(--s2) var(--s4);border-bottom:1px solid var(--line);position:relative}
.tick li::before{content:"";position:absolute;left:0;top:1.05em;width:10px;height:10px;border-radius:50%;background:var(--stem)}
.prog-list{display:grid;gap:var(--s4);padding-bottom:var(--s4)}
.prog{background:var(--flesh);border:1px solid var(--line);border-left:6px solid var(--seed);border-radius:var(--r-md);padding:var(--s4)}
.prog-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin:0}
.prog-meta dt{font-size:var(--fs-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--stem);font-family:var(--font-display);font-weight:700}
.prog-meta dd{margin:var(--s1) 0 0;font-variant-numeric:tabular-nums}
.apply{background:var(--ripeness);border-radius:var(--r-lg);padding:var(--s5);margin-bottom:var(--s5)}
.apply h2{color:var(--seed-deep)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);padding-bottom:var(--s4)}
.msg-form{display:grid;gap:var(--s3);max-width:34rem}
.msg-form label{display:grid;gap:var(--s1);font-family:var(--font-display);font-weight:600}
.msg-form input,.msg-form textarea{min-height:var(--touch);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--s2) var(--s3);font:inherit;font-size:16px;background:var(--flesh)}
.msg-form button{justify-self:start;border:0;cursor:pointer}
.nextstep{background:var(--seed);color:var(--flesh);padding:var(--s5) 0;margin-top:var(--s5)}
.nextstep h2{color:var(--flesh)}
.nextstep .kicker{color:var(--ripeness)}
.nextstep .btn-solid{background:var(--flesh);color:var(--seed)}
.site-foot{background:var(--seed-deep);color:var(--soft-blue);padding:var(--s5) 0}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--s5)}
.foot-addr{margin-top:var(--s3)}
.foot-nav{display:grid;gap:var(--s1)}
.foot-nav a{color:var(--soft-blue);text-decoration:none;display:inline-flex;align-items:center;min-height:36px}
.foot-nav a:hover{color:var(--flesh)}
.chip{display:inline-block;border:1px solid var(--juice);color:var(--ripeness);border-radius:var(--r-sm);padding:0 var(--s2);font-size:var(--fs-xs);letter-spacing:0.12em;margin-right:var(--s2)}
.concept{color:var(--soft-blue)}
@media (max-width:820px){
  h1{font-size:var(--fs-2xl)}
  .main-nav{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .hero-grid,.two-col{grid-template-columns:1fr}
  .card-row,.contact-grid,.prog-meta{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .ledger-row dd{font-size:var(--fs-lg)}
  .wrap{padding-left:var(--s3);padding-right:var(--s3)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
