/* ─────────────────────────────────────────────────────────────
   ODYA — homepage
   Layout follows the client wireframe: logo · centred wordmark ·
   Login, a button nav row, poster hero + vertical sponsor rail,
   then the two oval entry points.
   Palette derived from the association crest — green structural,
   flag red as the single accent, Oklahoma blue used sparingly.
   ───────────────────────────────────────────────────────────── */
:root{
  --green-900: oklch(26% 0.065 158);
  --green-800: oklch(32% 0.085 158);
  --green-700: oklch(38% 0.100 158);
  --green-600: oklch(46% 0.105 158);
  --green-050: oklch(95% 0.020 158);

  --red:       oklch(53% 0.200 27);
  --red-050:   oklch(95% 0.030 27);
  --blue:      oklch(45% 0.180 262);

  --bg:        oklch(97.5% 0.012 85);
  --surface:   oklch(99.5% 0.006 85);
  --fg:        oklch(21% 0.020 150);
  --muted:     oklch(47% 0.015 150);
  --faint:     oklch(62% 0.012 150);
  --border:    oklch(89% 0.012 90);
  --border-str:oklch(80% 0.018 90);

  --font-display: 'Iowan Old Style','Charter','Palatino Linotype',Palatino,Georgia,serif;
  --font-body: -apple-system, BlinkMacSystemFont,'Segoe UI',system-ui,'Helvetica Neue',sans-serif;
  --font-mono: ui-monospace,'SF Mono','IBM Plex Mono','JetBrains Mono',Menlo,monospace;

  --wrap: 1240px;
  --gut: clamp(1.1rem, 3.5vw, 2.25rem);
  --r: 4px;
}

.odya-home *,.odya-home *::before,.odya-home *::after,
.odya-embed-home *,.odya-embed-home *::before,.odya-embed-home *::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body.odya-home{
  margin:0; background:var(--bg); color:var(--fg);
  font-family:var(--font-body); font-size:16.5px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
body.odya-home img{max-width:100%; display:block}
body.odya-home a{color:inherit}
body.odya-home h1,body.odya-home h2,body.odya-home h3,body.odya-home h4{font-family:var(--font-display); font-weight:600; margin:0; line-height:1.1; text-wrap:balance}
body.odya-home p{margin:0; text-wrap:pretty}
body.odya-home button{font:inherit}
body.odya-home ul{margin:0; padding:0}

.wrap{max-width:var(--wrap); margin-inline:auto; padding-inline:var(--gut)}
.eyebrow{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); margin:0 0 .9rem;
}
.eyebrow span{color:var(--red)}

/* ── buttons ───────────────────────────────────────────────── */
.btn{
  display:inline-flex; align-items:center; gap:.5rem; justify-content:center;
  min-height:46px; padding:.62rem 1.35rem; border-radius:var(--r);
  font-size:.92rem; font-weight:600; text-decoration:none;
  border:1px solid transparent; cursor:pointer;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.btn-primary{background:var(--green-700); color:#fff; border-color:var(--green-700)}
.btn-primary:hover{background:var(--green-800); border-color:var(--green-800)}
.btn-accent{background:var(--red); color:#fff; border-color:var(--red)}
.btn-accent:hover{background:oklch(47% .19 27); border-color:oklch(47% .19 27)}
.btn-ghost{background:transparent; color:var(--green-800); border-color:var(--border-str)}
.btn-ghost:hover{border-color:var(--green-700); background:var(--green-050)}
.btn-ghost-light{background:transparent; color:oklch(96% .015 158); border-color:oklch(100% 0 0 / .34)}
.btn-ghost-light:hover{background:oklch(100% 0 0 / .1); border-color:oklch(100% 0 0 / .6)}

/* Anything sitting on solid green keeps white text. Needed as a guard because
   the shortcode embeds render inside the host theme's content wrapper, where
   rules like `.entry-content a` would otherwise win and repaint these dark. */
.odya-home .btn-primary,.odya-embed-home .btn-primary,
.odya-home .nav a,.odya-embed-home .nav a,
.odya-home .svc,.odya-embed-home .svc,
.odya-home .menu-toggle,.odya-embed-home .menu-toggle{color:#fff !important}

/* ═══ 1 · MASTHEAD ═══════════════════════════════════════════
   logo left · wordmark plaque centre · Login + Support Us right */
.masthead{background:var(--surface); border-bottom:1px solid var(--border)}
.masthead-inner{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center; gap:clamp(1rem,3vw,2.5rem); padding-block:1.15rem 1rem;
}
.crest{display:flex; align-items:center; gap:.75rem; text-decoration:none}
.crest img{width:78px; height:78px; border-radius:50%; flex:0 0 auto; object-fit:cover}
.crest-tag{font-family:var(--font-mono); font-size:.58rem; letter-spacing:.17em; text-transform:uppercase; color:var(--faint); line-height:1.6}
.crest-tag b{display:block; color:var(--green-700); font-weight:400}

.wordmark{
  text-align:center; border:1px solid var(--green-600); border-radius:2px;
  padding:.75rem 1.5rem; background:var(--bg);
}
.wordmark .line{
  font-family:var(--font-display); font-weight:600; line-height:1.05;
  font-size:clamp(1.35rem, 3.1vw, 2.5rem); letter-spacing:-.01em;
}
.wordmark .g{color:var(--green-700)}
.wordmark .r{color:var(--red)}
.wordmark .b{color:var(--blue)}
.wordmark .creed{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.28em;
  text-transform:uppercase; color:var(--faint); margin-top:.5rem;
}
.wordmark .creed i{font-style:normal; color:var(--red)}

.masthead-cta{display:flex; flex-direction:column; gap:.5rem; align-items:stretch; min-width:9.5rem}
.masthead-cta .btn{min-height:42px; padding:.45rem 1.1rem; font-size:.88rem; border-radius:999px}

/* ═══ 2 · NAV BUTTON ROW ═════════════════════════════════════ */
.navbar{background:var(--bg); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:60}
.navbar-inner{display:flex; align-items:center; gap:.5rem; padding-block:.7rem}
.nav{display:flex; gap:.45rem; flex:1 1 auto; flex-wrap:wrap}
.nav a{
  flex:1 1 auto; text-align:center; text-decoration:none;
  padding:.6rem 1.05rem; border-radius:3px; font-size:.92rem; font-weight:600;
  background:var(--green-700); color:#fff;
  border:1px solid var(--green-700); border-bottom:3px solid var(--green-800);
  transition:background .16s ease, border-color .16s ease;
  min-height:44px; display:inline-flex; align-items:center; justify-content:center;
}
.nav a:hover{background:var(--green-800)}
.nav a[aria-current="page"]{background:var(--green-800); border-bottom-color:var(--red)}
.nav-mini{display:none; gap:.45rem}
.nav-mini .btn{flex:1 1 auto; min-height:42px; padding:.45rem 1rem; font-size:.85rem; border-radius:999px}
.menu-toggle{
  display:none; width:46px; height:46px; flex:0 0 auto;
  border:1px solid var(--green-700); border-radius:3px; background:var(--green-700);
  align-items:center; justify-content:center; cursor:pointer;
}
.menu-toggle span{display:block; width:18px; height:2px; background:#fff; position:relative}
.menu-toggle span::before,.menu-toggle span::after{content:''; position:absolute; left:0; width:18px; height:2px; background:#fff}
.menu-toggle span::before{top:-6px} .menu-toggle span::after{top:6px}
.menu-label{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--muted); display:none;
}

/* ═══ 3 · HERO — poster + sponsor rail ═══════════════════════ */
.hero{padding-block:clamp(1.4rem,3vw,2.2rem) clamp(2rem,4vw,3rem)}
.hero-grid{display:grid; grid-template-columns:minmax(0,3.35fr) minmax(0,1fr); gap:1rem; align-items:stretch}

.poster{
  position:relative; overflow:hidden; border-radius:var(--r);
  background:var(--green-800); color:oklch(96% .015 158);
  min-height:clamp(340px, 33vw, 450px); display:flex;
}
.poster-art{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:3}
.poster::before{ /* flag ribbon */
  content:''; position:absolute; inset-block-start:0; inset-inline:0; height:5px; z-index:2;
  background:linear-gradient(90deg, var(--red) 0 33.3%, oklch(96% .01 158) 33.3% 66.6%, var(--blue) 66.6% 100%);
}
.poster::after{ /* the flag disc, quietly — single decisive flourish */
  content:''; position:absolute; inset-inline-end:-6rem; inset-block-start:-6rem;
  width:26rem; height:26rem; border-radius:50%;
  background:radial-gradient(circle, oklch(53% .2 27 / .30) 0 62%, transparent 63%);
  pointer-events:none;
}
.poster-body{position:relative; z-index:1; padding:clamp(1.4rem,3vw,2.4rem); display:flex; flex-direction:column; width:100%}
.poster-top{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; align-items:flex-start}
.badge-250{
  border:1px solid oklch(100% 0 0 /.34); border-radius:2px; padding:.4rem .7rem;
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.13em; text-transform:uppercase;
  line-height:1.5; color:oklch(90% .03 158);
}
.badge-250 b{display:block; font-size:1.15rem; letter-spacing:.02em; color:#fff; font-weight:600}
.poster-kicker{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:oklch(80% .06 158)}
.poster-kicker b{color:oklch(80% .14 27); font-weight:500}

.poster-title{margin-top:auto; padding-top:1.4rem}
.poster-title h1{font-size:clamp(2.1rem,4.6vw,3.6rem); letter-spacing:-.02em; color:#fff; line-height:1}
.poster-title h1 em{font-style:normal; display:block; color:oklch(84% .12 27); font-size:.44em; letter-spacing:.01em; margin-top:.5rem}
.poster-feats{display:flex; gap:.5rem; flex-wrap:wrap; margin-top:1rem}
.poster-feats span{
  border:1px solid oklch(100% 0 0 /.28); border-radius:999px; padding:.28rem .8rem;
  font-size:.76rem; color:oklch(92% .02 158);
}
.poster-meta{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr)); gap:.9rem 1.6rem;
  margin-top:1.5rem; padding-top:1.15rem; border-top:1px solid oklch(100% 0 0 /.2);
}
.poster-meta dt{font-family:var(--font-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:oklch(76% .05 158); margin-bottom:.25rem}
.poster-meta dd{margin:0; font-size:.92rem; line-height:1.4}
.poster-meta dd b{font-family:var(--font-mono); font-variant-numeric:tabular-nums; font-weight:600; color:#fff}
.poster-actions{display:flex; gap:.6rem; flex-wrap:wrap; margin-top:1.4rem}

/* sponsor rail */
.rail{display:flex; flex-direction:column; gap:1rem}
.rail-head{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--faint); display:flex; justify-content:space-between; align-items:baseline; gap:.5rem;
}
.rail-head a{color:var(--green-700); text-decoration:none; border-bottom:1px solid currentColor}
.slot{
  flex:1 1 0; min-height:110px; border:1px dashed var(--border-str); border-radius:var(--r);
  background:oklch(97% .008 85); display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:.25rem; text-decoration:none;
  transition:border-color .16s ease, background .16s ease; padding:.75rem; overflow:hidden;
}
.slot:hover{border-color:var(--green-600); background:var(--green-050)}
.slot b{font-family:var(--font-mono); font-size:.66rem; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); font-weight:500; text-align:center}
.slot small{font-size:.68rem; color:var(--faint)}
.slot.filled{border-style:solid; background:var(--surface)}
.slot.filled img{max-height:78px; width:auto; object-fit:contain}

/* ═══ 4 · THE TWO OVAL ENTRY POINTS ══════════════════════════ */
.ovals{padding-bottom:clamp(2.5rem,5vw,4rem)}
.ovals-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(1rem,2.5vw,2rem)}
.oval{
  border:1.5px solid var(--green-600); border-radius:999px;
  padding:clamp(1.6rem,3.5vw,2.4rem) clamp(2rem,4vw,3.5rem);
  text-align:center; text-decoration:none; background:var(--surface);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.5rem;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.oval:hover{background:var(--green-050); border-color:var(--green-700); transform:translateY(-2px)}
.oval h2{
  font-size:clamp(1.15rem,2.2vw,1.65rem); letter-spacing:.02em; text-transform:uppercase;
  color:var(--green-800); font-weight:700;
}
.oval p{font-size:.86rem; color:var(--muted); max-width:34ch}
.oval .go{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--red)}

/* ═══ generic section ════════════════════════════════════════ */
.section{padding:clamp(3rem,6vw,5rem) 0}
.section-head{max-width:56ch; margin-bottom:clamp(1.8rem,3.5vw,2.75rem)}
.section-head h2{font-size:clamp(1.8rem,3.2vw,2.5rem); letter-spacing:-.018em; margin-bottom:.8rem}
.section-head p{color:var(--muted); font-size:1.02rem}
.tint{background:var(--surface); border-block:1px solid var(--border)}

/* headings that used to carry inline styles */
.section-h{font-size:clamp(1.8rem,3.2vw,2.5rem); letter-spacing:-.018em; margin-bottom:1rem}
.section-h.sm{font-size:clamp(1.65rem,2.9vw,2.25rem); margin-bottom:.85rem}
.muted{color:var(--muted)}
.mt-lg{margin-top:1.5rem}

/* mission */
.mission-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4.5rem); align-items:start}
.mission-body p + p{margin-top:1.05rem}
.mission-body p{color:var(--muted); font-size:1.02rem}
.mission-body .lead{
  font-family:var(--font-display); font-size:clamp(1.28rem,2vw,1.55rem); line-height:1.35;
  color:var(--fg); border-inline-start:3px solid var(--red); padding-inline-start:1.15rem;
}
.mission-list{list-style:none; margin:0; padding:0; border-top:1px solid var(--border)}
.mission-list li{padding:1.1rem 0; border-bottom:1px solid var(--border); display:grid; grid-template-columns:2.4rem 1fr; gap:1rem; align-items:start}
.mission-list .num{font-family:var(--font-mono); font-size:.7rem; color:var(--red); letter-spacing:.08em; padding-top:.32rem}
.mission-list h3{font-size:1.06rem; margin-bottom:.28rem}
.mission-list p{font-size:.9rem; color:var(--muted)}

/* know bangladesh */
.kb-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,5vw,4rem); align-items:center}
.flag-card{
  aspect-ratio:5/3; background:var(--green-700); border-radius:var(--r);
  display:flex; align-items:center; justify-content:center; position:relative; margin:0;
}
.flag-card .disc{width:42%; aspect-ratio:1; border-radius:50%; background:var(--red); transform:translateX(-6%)}
.flag-card figcaption{
  position:absolute; inset-block-end:-1.9rem; inset-inline-start:0;
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--faint);
}
.kb-facts{display:grid; grid-template-columns:repeat(2,1fr); gap:1.05rem 2rem; margin-top:1.7rem; border-top:1px solid var(--border); padding-top:1.4rem}
.kb-facts dt{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); margin-bottom:.22rem}
.kb-facts dd{margin:0; font-family:var(--font-display); font-size:1.1rem; color:var(--green-800)}

/* fund / ledger */
.ledger-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(2rem,5vw,4rem); align-items:center}
.ledger-panel{border:1px solid var(--border-str); border-radius:var(--r); background:var(--surface); overflow:hidden}
.ledger-head{
  display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;
  padding:.9rem 1.25rem; border-bottom:1px solid var(--border); background:oklch(96.5% .012 85);
}
.ledger-head strong{font-size:.86rem}
.tag{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.24rem .5rem; border-radius:2px; background:var(--red-050); color:var(--red); border:1px solid oklch(88% .06 27);
}
.stat-row{display:grid; grid-template-columns:repeat(3,1fr); margin:0}
.stat{padding:1.3rem 1.25rem; border-inline-end:1px solid var(--border); border-bottom:1px solid var(--border)}
.stat:last-child{border-inline-end:0}
.stat dt{font-family:var(--font-mono); font-size:.6rem; letter-spacing:.13em; text-transform:uppercase; color:var(--faint); margin-bottom:.45rem}
.stat dd{margin:0; font-family:var(--font-display); font-size:1.85rem; color:var(--green-800); font-variant-numeric:tabular-nums; line-height:1}
.ledger-table{width:100%; border-collapse:collapse; font-size:.87rem}
.ledger-table th{
  text-align:start; font-family:var(--font-mono); font-weight:400; font-size:.6rem;
  letter-spacing:.13em; text-transform:uppercase; color:var(--faint); padding:.8rem 1.25rem;
}
.ledger-table td{padding:.7rem 1.25rem; border-top:1px solid var(--border)}
.ledger-table td:last-child,.ledger-table th:last-child{text-align:end; font-family:var(--font-mono); font-variant-numeric:tabular-nums}
.ledger-foot{padding:.85rem 1.25rem; border-top:1px solid var(--border); background:oklch(96.5% .012 85); font-size:.75rem; color:var(--faint)}
.checklist{list-style:none; margin:1.4rem 0 1.7rem; padding:0}
.checklist li{position:relative; padding-inline-start:1.6rem; margin-bottom:.65rem; font-size:.95rem; color:var(--muted)}
.checklist li::before{content:''; position:absolute; inset-inline-start:0; top:.55rem; width:7px; height:7px; border-radius:50%; background:var(--green-600)}

/* citizen services */
.services{background:var(--green-900); color:oklch(94% .02 158)}
.services .section-head h2{color:#fff}
.services .section-head p{color:oklch(82% .04 158)}
.services .eyebrow{color:oklch(76% .05 158)}
.services .eyebrow span{color:oklch(78% .14 27)}
.svc-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); gap:1px; background:oklch(100% 0 0 /.14); border:1px solid oklch(100% 0 0 /.14)}
.svc{background:var(--green-900); padding:1.45rem 1.35rem; text-decoration:none; display:block; transition:background .18s ease}
.svc:hover{background:var(--green-800)}
.svc h3{font-size:1.02rem; color:#fff; margin-bottom:.38rem}
.svc p{font-size:.85rem; color:oklch(80% .04 158); line-height:1.5}
.svc .go{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.13em; text-transform:uppercase; color:oklch(78% .14 27); margin-top:.85rem; display:inline-block}
.svc-note{font-size:.78rem; color:oklch(74% .04 158); margin-top:1.3rem; max-width:64ch}

/* gallery */
.gallery-grid{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:150px; gap:.9rem}
.tile{
  border:1px solid var(--border); border-radius:var(--r); position:relative; overflow:hidden;
  display:flex; align-items:flex-end; padding:1rem; text-decoration:none;
  background:linear-gradient(160deg, oklch(94% .022 158) 0%, oklch(97% .012 85) 100%);
}
.tile:nth-child(3n){background:linear-gradient(160deg, oklch(95% .028 27) 0%, oklch(97% .012 85) 100%)}
.tile:nth-child(4n){background:linear-gradient(160deg, oklch(94% .026 262) 0%, oklch(97% .012 85) 100%)}
.tile.big{grid-column:span 2; grid-row:span 2}
.tile .cap{font-size:.82rem; font-weight:600; color:var(--green-900); position:relative; z-index:2}
.tile .cap small{display:block; font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--faint); font-weight:400; margin-top:.2rem}
.tile::after{
  content:'Photo slot'; position:absolute; top:.7rem; inset-inline-end:.7rem;
  font-family:var(--font-mono); font-size:.55rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--faint); border:1px solid var(--border-str); padding:.15rem .35rem; border-radius:2px; background:oklch(100% 0 0 /.5);
}
.tile:hover{border-color:var(--green-600)}
/* real photographs replace the placeholder treatment */
.tile.has-photo::after{content:none}
.tile.has-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0}
.tile.has-photo::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, transparent 45%, oklch(20% .04 150 / .74) 100%);
}
.tile.has-photo .cap{color:#fff}
.gallery-foot{margin-top:1.5rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap}
.gallery-foot p{font-size:.8rem; color:var(--faint)}

/* support band */
.support{background:var(--green-800); color:#fff; padding:clamp(2.8rem,5.5vw,4.2rem) 0}
.support-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:clamp(2rem,5vw,4rem); align-items:center}
.support h2{font-size:clamp(1.75rem,3vw,2.4rem); color:#fff; letter-spacing:-.018em; margin-bottom:.85rem}
.support p{color:oklch(88% .03 158); max-width:48ch}
.support .eyebrow{color:oklch(78% .05 158)}
.support .eyebrow span{color:oklch(80% .14 27)}
.support-actions{display:flex; flex-direction:column; gap:.65rem}
.support-actions .btn{width:100%}
.support-actions small{font-size:.73rem; color:oklch(80% .04 158); line-height:1.5; margin-top:.2rem}

/* footer */
.site-footer{background:var(--green-900); color:oklch(86% .025 158); padding:clamp(2.8rem,5vw,3.8rem) 0 2rem; border-top:4px solid var(--red)}
.foot-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:2.4rem}
.foot-brand{display:flex; gap:.9rem; align-items:flex-start; margin-bottom:1.05rem}
.foot-brand img{width:56px; height:56px; border-radius:50%; background:#fff; object-fit:cover}
.foot-brand .fn{font-family:var(--font-display); font-size:1.02rem; line-height:1.15; color:#fff}
.site-footer p{font-size:.85rem; color:oklch(80% .03 158); max-width:34ch}
.site-footer h4{font-family:var(--font-mono); font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:oklch(74% .05 158); font-weight:400; margin-bottom:.95rem}
.foot-links{list-style:none; margin:0; padding:0}
.foot-links li{margin-bottom:.5rem}
.foot-links a,.foot-links span{font-size:.88rem; text-decoration:none; color:oklch(88% .025 158)}
.foot-links a:hover{color:#fff; text-decoration:underline; text-underline-offset:3px}
.foot-bottom{
  margin-top:2.5rem; padding-top:1.35rem; border-top:1px solid oklch(100% 0 0 /.14);
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
  font-size:.76rem; color:oklch(72% .03 158);
}

/* reveal */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1; transform:none; transition:none}
  html{scroll-behavior:auto}
  .oval:hover{transform:none}
}

/* the admin bar must not sit on top of the sticky nav */
body.admin-bar .navbar{top:32px}
@media screen and (max-width:782px){body.admin-bar .navbar{top:46px}}

/* ── responsive ────────────────────────────────────────────── */
@media (max-width:1100px){
  .nav a{font-size:.85rem; padding:.55rem .7rem}
  .crest img{width:64px; height:64px}
}
@media (max-width:900px){
  .masthead-inner{grid-template-columns:auto 1fr; gap:1rem; row-gap:.9rem}
  .wordmark{padding:.6rem 1rem}
  .masthead-cta{grid-column:1 / -1; flex-direction:row; min-width:0}
  .masthead-cta .btn{flex:1 1 0}
  .hero-grid{grid-template-columns:1fr}
  .poster{min-height:0}
  .rail{flex-direction:row; flex-wrap:wrap}
  .rail-head{flex-basis:100%}
  .slot{flex:1 1 8rem; min-height:88px}
  .mission-grid,.kb-grid,.ledger-grid,.support-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:repeat(2,1fr); grid-auto-rows:135px}
  .foot-grid{grid-template-columns:1fr 1fr; gap:2rem}
  .support-actions{max-width:22rem}
}
@media (max-width:760px){
  .menu-toggle{display:flex}
  .menu-label{display:block; flex:1 1 auto}
  .navbar-inner{flex-wrap:wrap}
  .nav{display:none; flex-basis:100%; flex-direction:column; padding-bottom:.6rem}
  .nav.open{display:flex}
  .nav a{flex:1 1 auto; justify-content:flex-start; text-align:start}
  .nav-mini{display:flex; flex-basis:100%}
  .masthead-cta{display:none}
  .ovals-grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .crest img{width:52px; height:52px}
  .crest-tag{display:none}
  .wordmark .creed{letter-spacing:.16em}
  .poster-actions .btn{flex:1 1 100%}
  .stat-row{grid-template-columns:1fr}
  .stat{border-inline-end:0}
  .kb-facts{grid-template-columns:1fr}
  .tile.big{grid-column:span 2; grid-row:span 1}
  .foot-grid{grid-template-columns:1fr}
}
