@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap');
/* ---- styles.css ---- */
:root{--green:#126b3a;--leaf:#66a93f;--gold:#b67521;--ink:#102018;--muted:#5c6a60;--paper:#fbfcf7;--line:#dde6dc;--shade:#edf5ec;--white:#fff;--shadow:0 18px 45px rgba(16,32,24,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{color:inherit}img{max-width:100%;display:block}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:12px clamp(16px,4vw,44px);background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:max-content}.brand img{width:58px;height:54px;object-fit:contain}.brand strong{display:block;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-size:14px}.brand em{display:block;font-style:normal;font-weight:800;text-transform:uppercase;color:var(--green);font-size:13px}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}.site-nav a,.site-nav button{border:0;background:transparent;text-decoration:none;font:700 13px/1.2 inherit;text-transform:uppercase;color:var(--ink);padding:12px 10px;border-radius:8px;cursor:pointer}.site-nav a:hover,.site-nav button:hover,.site-nav a.active{background:var(--shade);color:var(--green)}.has-menu{position:relative}.has-menu button span{display:inline-block;margin-left:6px;border:4px solid transparent;border-top-color:currentColor;transform:translateY(3px)}.has-menu ul{position:absolute;top:100%;left:0;display:none;min-width:230px;padding:8px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.has-menu:hover ul,.has-menu:focus-within ul{display:block}.has-menu ul a{display:block;text-transform:none}.menu-toggle{display:none;margin-left:auto;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:var(--white)}.menu-toggle span{display:block;width:19px;height:2px;background:var(--green);margin:4px auto}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,520px);gap:36px;align-items:center;padding:clamp(44px,7vw,92px) clamp(18px,5vw,72px);background:linear-gradient(130deg,#f7fbf3 0%,#fff 58%,#fff6e6 100%);overflow:hidden}.hero-copy{max-width:780px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-weight:800;font-size:12px}.hero h1,.page-title h1{font-size:clamp(36px,7vw,80px);line-height:.98;margin:10px 0 18px;color:var(--green);letter-spacing:0}.hero p,.page-title p{font-size:clamp(17px,2vw,22px);color:var(--muted);max-width:760px}.hero img{border-radius:8px;box-shadow:var(--shadow);aspect-ratio:4/3;object-fit:cover}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:var(--green);color:white;text-decoration:none;font-weight:800;padding:12px 18px;box-shadow:0 10px 22px rgba(18,107,58,.2);cursor:pointer}.btn:hover{background:#0d552e}.page-title{padding:64px clamp(18px,5vw,72px) 28px}.page-title h1{font-size:clamp(32px,6vw,64px)}.content-grid,.cards,.leader-grid,.contact-layout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px clamp(18px,5vw,72px) 56px}.panel,.cards article,.leader-grid article,.post-list article,details{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 8px 24px rgba(16,32,24,.06)}.panel h2,.cards h3,.leader-grid h2{margin-top:0;color:var(--green)}.band{display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:center;margin:30px clamp(18px,5vw,72px);padding:28px;background:var(--green);color:white;border-radius:8px}.band p{color:#ecf5e8}.band img{border-radius:8px;aspect-ratio:4/3;object-fit:cover}.cards article{padding:0;overflow:hidden}.cards img{height:220px;width:100%;object-fit:cover}.cards h3,.cards p{margin-left:20px;margin-right:20px}.cards p{margin-bottom:22px;color:var(--muted)}.feed,.values,.crew-links,.download-grid,.faq-list,.gallery,.video-frame,.law,.post-list,.map{padding:28px clamp(18px,5vw,72px) 58px}.feed{background:var(--shade);text-align:center}.values span,.crew-links a,.download-grid a,.socials a{display:inline-flex;margin:6px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--white);text-decoration:none;font-weight:700}.crew-links a,.download-grid a{border-radius:8px}.leader-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.avatar{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--shade);color:var(--green);font-size:26px;font-weight:900}.contact-layout{grid-template-columns:1fr 1fr}.form input,.form textarea{width:100%;margin-bottom:12px;border:1px solid var(--line);border-radius:8px;padding:13px 14px;font:inherit}.form textarea{min-height:140px;resize:vertical}.map iframe,.video-frame iframe{width:100%;border:0;border-radius:8px;min-height:360px;box-shadow:var(--shadow)}.faq-list{display:grid;gap:12px}.faq-list summary{font-weight:800;cursor:pointer;color:var(--green)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery button{border:0;padding:0;background:transparent;cursor:zoom-in}.gallery img{width:100%;height:270px;object-fit:cover;border-radius:8px}.video-frame{text-align:center}.video-frame .btn{margin-top:16px}.law ol{columns:2;gap:28px}.post-list{display:grid;gap:16px}.post-list article p{margin:0;color:var(--gold);font-weight:800}.post-list article h2{margin:.25rem 0;color:var(--green)}.footer{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:24px;padding:34px clamp(18px,5vw,72px);background:#102018;color:white}.footer p,.footer a,.credit{color:#d7e5d8}.credit{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:18px;text-align:center}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.84);display:grid;place-items:center;padding:28px}.lightbox[hidden]{display:none}.lightbox img{max-height:86vh;border-radius:8px}.lightbox button{position:absolute;top:18px;right:18px;width:44px;height:44px;border:0;border-radius:50%;font-size:30px;line-height:1;background:white;cursor:pointer}.download-note{padding:0 clamp(18px,5vw,72px)}@media (max-width:980px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:79px;background:white;border-bottom:1px solid var(--line);padding:12px 18px}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav a,.site-nav button{width:100%;display:flex;justify-content:space-between;text-align:left}.has-menu ul{position:static;display:block;box-shadow:none;border:0;padding-left:14px}.hero,.band,.contact-layout{grid-template-columns:1fr}.content-grid,.cards,.leader-grid,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.band img{width:100%}}@media (max-width:620px){.topbar{padding:10px 14px}.brand img{width:48px;height:46px}.hero{padding:36px 18px}.content-grid,.cards,.leader-grid,.gallery{grid-template-columns:1fr}.gallery img,.cards img{height:220px}.law ol{columns:1}.footer{grid-template-columns:1fr}.page-title{padding-top:38px}}
.video-grid,.anthem-panel,.shop-note,.product-grid{padding:28px clamp(18px,5vw,72px) 58px}.audio-links a{display:inline-flex;margin:6px;padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--white);text-decoration:none;font-weight:700}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.video-grid article,.product-grid article,.anthem-panel,.shop-note{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 8px 24px rgba(16,32,24,.06)}.video-grid iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:8px;background:#000}.video-grid h2,.product-grid h2,.anthem-panel h2,.shop-note h2{font-size:16px;margin:14px 0 6px;color:var(--green)}.video-grid a{font-weight:800;color:var(--gold)}.anthem-panel,.shop-note{margin:0 clamp(18px,5vw,72px) 20px;padding:24px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-image{position:relative;background:var(--shade);border-radius:8px;overflow:hidden;aspect-ratio:1/1;display:grid;place-items:center}.product-image img{width:100%;height:100%;object-fit:cover}.product-image span{position:absolute;top:10px;left:10px;background:var(--gold);color:white;border-radius:999px;padding:5px 10px;font-weight:900;font-size:12px}.product-grid p{font-weight:900;color:var(--gold)}.product-grid .btn{width:100%;box-shadow:none}@media (max-width:980px){.video-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:620px){.video-grid,.product-grid{grid-template-columns:1fr}}


/* ---- recruitment-theme.css ---- */

:root {
  --green: #1e3a5f;
  --leaf: #2563eb;
  --gold: #d97706;
  --ink: #2c2a27;
  --muted: #747167;
  --paper: #fdfaf2;
  --line: #e8e4d8;
  --shade: #eef2f6;
  --primary-hover: #152943;
  --secondary-hover: #b45309;
  --shadow: 0 10px 30px -5px rgba(44, 42, 39, .05), 0 1px 3px rgba(44, 42, 39, .02);
  --shadow-hover: 0 20px 40px -10px rgba(44, 42, 39, .1), 0 2px 8px rgba(44, 42, 39, .04);
}

body {
  font-family: "Instrument Sans", "Segoe UI", system-ui, sans-serif;
  background: var(--paper);
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}

.topbar {
  min-height: 76px;
  background: var(--green);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
}

.brand img {
  background: #fff;
  border-radius: 7px;
  padding: 3px;
}

.brand strong,
.brand em,
.site-nav a,
.site-nav button {
  color: #fff;
}

.brand strong {
  color: #fff;
}

.brand em {
  color: #d8e1eb;
}

.site-nav a:hover,
.site-nav button:hover,
.site-nav a.active {
  background: rgba(255, 255, 255, .15);
  color: #fff;
}

.has-menu ul {
  background: #fdfbf7;
  border-color: var(--line);
}

.has-menu ul a {
  color: var(--ink);
}

.has-menu ul a:hover {
  background: rgba(30, 58, 95, .05);
  color: var(--green);
}

.menu-toggle {
  border-color: rgba(255, 255, 255, .35);
  background: rgba(255, 255, 255, .1);
}

.menu-toggle span {
  background: #fff;
}

.hero {
  min-height: 520px;
  position: relative;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 440px);
  background: linear-gradient(145deg, rgba(30, 58, 95, .96), rgba(21, 41, 67, .98));
  color: #fff;
}

.hero:before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 20% 20%, rgba(217, 119, 6, .18), transparent 36%);
  pointer-events: none;
}

.hero > * {
  position: relative;
  z-index: 1;
}

.hero h1 {
  font-family: "Instrument Sans", "Segoe UI", system-ui, sans-serif;
  color: #fff;
  letter-spacing: -.02em;
}

.hero p {
  color: #e8eef5;
}

.eyebrow {
  color: #fff;
  background: rgba(13, 58, 95, .28);
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 7px;
  padding: 7px 12px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .28);
}

.hero img {
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, .2);
  box-shadow: 0 24px 70px rgba(10, 28, 48, .36);
}

.btn {
  background: var(--green);
  border-radius: 8px;
  font-weight: 650;
  box-shadow: none;
}

.hero .btn:first-child,
.product-image span,
.btn:hover {
  background: var(--gold);
}

.hero .btn:first-child:hover,
.btn:hover {
  background: var(--secondary-hover);
}

.page-title h1,
.section-heading h2,
.panel h2,
.cards h3,
.leader-grid h2,
.video-grid h2,
.product-grid h2,
.anthem-panel h2,
.shop-note h2,
.post-list article h2 {
  font-family: "Instrument Sans", "Segoe UI", system-ui, sans-serif;
  color: var(--green);
}

.panel,
.cards article,
.leader-grid article,
.post-list article,
details,
.video-grid article,
.product-grid article,
.anthem-panel,
.shop-note {
  border-radius: 14px;
  box-shadow: var(--shadow);
  transition: transform .22s ease, box-shadow .22s ease;
}

.cards article:hover,
.leader-grid article:hover,
.video-grid article:hover,
.product-grid article:hover,
.panel:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-hover);
}

.band,
.footer {
  background: var(--green);
}

.feed,
.steps,
.values span,
.crew-links a,
.download-grid a,
.audio-links a {
  background: #fff;
}

.avatar,
.feature-icon {
  background: var(--shade);
  color: var(--green);
  border-radius: 10px;
}

input:focus,
select:focus,
textarea:focus {
  outline: 0;
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(30, 58, 95, .1);
}

@media (max-width: 980px) {
  .site-nav {
    background: var(--green);
    border-bottom-color: rgba(255, 255, 255, .12);
  }

  .has-menu ul {
    background: transparent;
  }

  .has-menu ul a {
    color: #e8eef5;
  }
}

.footer {
  display: block;
  padding: 0;
  background: #152943;
  color: #fff;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.15fr;
  gap: 28px;
  padding: 46px clamp(18px, 5vw, 72px) 34px;
}

.footer section {
  min-width: 0;
}

.footer strong {
  display: block;
  font-family: "Instrument Sans", "Segoe UI", system-ui, sans-serif;
  font-size: 24px;
  line-height: 1.15;
  margin-bottom: 12px;
}

.footer h2 {
  margin: 0 0 12px;
  font: 750 13px/1.2 "Instrument Sans", system-ui, sans-serif;
  color: #f6b15b;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.footer p {
  margin: 0;
  color: #d8e1eb;
}

.footer a {
  color: #d8e1eb;
  text-decoration: none;
}

.footer a:hover {
  color: #fff;
  text-decoration: underline;
}

.footer .socials {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.footer .socials a {
  margin: 0;
  padding: 9px 12px;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  font-size: 13px;
}

.footer .socials a:hover {
  background: #fff;
  color: #152943;
  text-decoration: none;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 18px clamp(18px, 5vw, 72px);
  border-top: 1px solid rgba(255, 255, 255, .14);
  color: #bccad8;
  font-size: 13px;
}

.credit {
  display: none;
}

@media (max-width: 900px) {
  .footer-main {
    grid-template-columns: 1fr 1fr;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

@media (max-width: 560px) {
  .footer-main {
    grid-template-columns: 1fr;
    padding-top: 34px;
  }
}


/* ---- compact-redesign.css ---- */
/* Site-wide compact redesign pass */
:root {
  --page-x: clamp(16px, 4vw, 56px);
  --section-y: clamp(26px, 4vw, 48px);
  --content-max: 1180px;
}

body {
  font-size: 16px;
  line-height: 1.58;
}

.topbar {
  min-height: 68px;
  padding: 8px var(--page-x);
  gap: 18px;
}

.brand img {
  width: 50px;
  height: 44px;
}

.brand strong {
  font-size: 13px;
  letter-spacing: .05em;
}

.brand em {
  font-size: 12px;
}

.site-nav a,
.site-nav button {
  padding: 10px 8px;
  font-size: 12px;
}

.hero {
  min-height: auto;
  grid-template-columns: minmax(0, .98fr) minmax(280px, 440px);
  gap: clamp(20px, 4vw, 40px);
  padding: clamp(34px, 6vw, 64px) var(--page-x);
}

.hero-copy {
  max-width: 690px;
}

.hero h1 {
  max-width: 760px;
  font-size:clamp(30px, 5vw, 54px);
  line-height: 1.04;
  margin-bottom: 14px;
}

.hero p {
  max-width: 650px;
  font-size: clamp(16px, 1.6vw, 19px);
}

.hero img {
  max-height: 360px;
  width: 100%;
}

.hero-actions {
  margin-top: 22px;
}

.btn {
  min-height: 42px;
  padding: 10px 15px;
  font-size: 14px;
}

.eyebrow {
  padding: 5px 10px;
  font-size: 11px;
  letter-spacing: .1em;
}

.page-title {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 42px var(--page-x) 14px;
}

.page-title h1 {
  font-size:clamp(26px, 4vw, 44px);
  line-height: 1.08;
  margin: 8px 0 10px;
}

.page-title p {
  font-size: clamp(15px, 1.5vw, 18px);
}

.content-grid,
.cards,
.leader-grid,
.contact-layout,
.gallery,
.video-grid,
.product-grid,
.post-list,
.faq-list,
.download-grid,
.values,
.crew-links,
.law,
.map,
.video-frame {
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  padding: 16px var(--page-x) var(--section-y);
}

.content-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cards {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.leader-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.panel,
.cards article,
.leader-grid article,
.post-list article,
details,
.video-grid article,
.product-grid article {
  padding: 18px;
  border-radius: 12px;
}

.cards article {
  padding: 0;
}

.panel h2,
.cards h3,
.leader-grid h2,
.post-list h2,
.video-grid h2,
.product-grid h2 {
  font-size:16px;
  line-height: 1.2;
}

.panel p,
.cards p,
.leader-grid p,
.post-list p,
details p {
  font-size: 15px;
}

.cards img {
  height: 180px;
}

.cards h3,
.cards p {
  margin-left: 16px;
  margin-right: 16px;
}

.band {
  max-width: var(--content-max);
  grid-template-columns: minmax(0, 1fr) minmax(250px, 360px);
  margin: 22px auto;
  padding: 24px var(--page-x);
  border-radius: 12px;
}

.band h2 {
  margin-top: 0;
  font-size:clamp(20px, 3vw, 30px);
}

.band img {
  max-height: 280px;
  width: 100%;
}

.feed {
  padding: 32px var(--page-x);
}

.feed h2,
.values h2,
.crew-links h2,
.law h2,
.map h2 {
  font-size:22px;
  margin: 0 0 14px;
}

.values span,
.crew-links a,
.download-grid a,
.socials a,
.audio-links a {
  margin: 4px;
  padding: 8px 12px;
  font-size: 14px;
}

.gallery {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.gallery img {
  height: 190px;
}

.video-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.video-grid article {
  padding: 14px;
}

.video-grid h2 {
  font-size:13px;
  margin: 10px 0 4px;
}

.anthem-panel,
.shop-note {
  max-width: calc(var(--content-max) - (var(--page-x) * 2));
  margin: 0 auto 14px;
  padding: 18px;
}

.product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.product-grid article {
  padding: 14px;
}

.product-grid h2 {
  min-height: 48px;
  font-size:13px;
  margin: 12px 0 4px;
}

.product-grid p {
  margin: 0 0 12px;
}

.product-image {
  aspect-ratio: 4 / 3;
}

.contact-layout {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.map iframe,
.video-frame iframe {
  min-height: 300px;
}

.law ol {
  margin-top: 0;
  columns: 2;
}

.footer-main {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 36px var(--page-x) 28px;
}

.footer-bottom {
  padding: 16px var(--page-x);
}

@media (max-width: 980px) {
  .site-nav {
    top: 61px;
  }

  .hero,
  .band,
  .contact-layout {
    grid-template-columns: 1fr;
  }

  .hero img,
  .band img {
    max-height: 320px;
  }

  .content-grid,
  .cards,
  .leader-grid,
  .gallery,
  .video-grid,
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .topbar {
    min-height: 62px;
  }

  .brand img {
    width: 44px;
    height: 40px;
  }

  .hero {
    padding-top: 30px;
  }

  .hero h1 {
    font-size:clamp(26px, 11vw, 38px);
  }

  .page-title {
    padding-top: 30px;
  }

  .content-grid,
  .cards,
  .leader-grid,
  .gallery,
  .video-grid,
  .product-grid {
    grid-template-columns: 1fr;
  }

  .gallery img,
  .cards img {
    height: 210px;
  }

  .product-image {
    aspect-ratio: 16 / 10;
  }

  .product-grid h2 {
    min-height: 0;
  }

  .law ol {
    columns: 1;
  }
}

/* Final scale correction after reviewing the local pages */
:root {
  --page-x: clamp(14px, 3.4vw, 44px);
  --section-y: clamp(20px, 3.2vw, 38px);
  --content-max: 1120px;
}

.hero {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 380px);
  gap: clamp(18px, 3vw, 32px);
  padding: clamp(28px, 4.8vw, 48px) var(--page-x);
}

.hero h1 {
  max-width: 640px;
  font-size:clamp(28px, 4vw, 42px);
  line-height: 1.08;
  margin-bottom: 12px;
}

.hero p {
  max-width: 610px;
  font-size: clamp(15px, 1.25vw, 17px);
}

.hero img {
  max-height: 300px;
}

.page-title {
  padding: 28px var(--page-x) 8px;
}

.page-title h1 {
  font-size:clamp(24px, 3vw, 34px);
  line-height: 1.12;
  margin: 6px 0 8px;
}

.page-title p {
  max-width: 680px;
  font-size: 15px;
  margin-top: 0;
}

.content-grid,
.cards,
.leader-grid,
.contact-layout,
.gallery,
.video-grid,
.product-grid,
.post-list,
.faq-list,
.download-grid,
.values,
.crew-links,
.law,
.map,
.video-frame {
  gap: 14px;
  padding-top: 12px;
  padding-bottom: var(--section-y);
}

.panel,
.leader-grid article,
.post-list article,
details,
.video-grid article,
.product-grid article {
  padding: 14px;
}

.panel h2,
.cards h3,
.leader-grid h2,
.post-list h2,
.video-grid h2,
.product-grid h2,
.anthem-panel h2,
.shop-note h2 {
  font-size:14px;
}

.panel p,
.cards p,
.leader-grid p,
.post-list p,
details p,
.shop-note p,
.anthem-panel p {
  font-size: 14px;
}

.cards img {
  height: 155px;
}

.cards h3,
.cards p {
  margin-left: 14px;
  margin-right: 14px;
}

.gallery img {
  height: 160px;
}

.product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.product-image {
  aspect-ratio: 16 / 11;
}

.product-grid h2 {
  min-height: 42px;
  font-size:12px;
}

.band {
  margin: 16px auto;
  padding: 20px var(--page-x);
}

.band h2,
.feed h2,
.values h2,
.crew-links h2,
.law h2,
.map h2 {
  font-size:clamp(18px, 2.4vw, 24px);
}

.band img {
  max-height: 230px;
}

.feed {
  padding-top: 24px;
  padding-bottom: 24px;
}

.social-feed {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  align-items: center;
  gap: clamp(22px, 4vw, 54px);
  max-width: 1240px;
  margin: 0 auto var(--section-y);
  padding: clamp(28px, 5vw, 52px) var(--page-x);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(4, 62, 30, .96), rgba(13, 72, 38, .9)),
    #043e20;
  color: #fff;
  text-align: left;
}

.social-feed h2 {
  color: #fff;
  font-size:clamp(24px, 4.2vw, 44px);
  line-height: 1.02;
}

.social-feed p {
  max-width: 520px;
  color: rgba(255, 255, 255, .84);
}

.social-feed .story-link {
  color: #f4ba41;
}

.social-feed-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin-top: 20px;
}

.social-feed-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.social-frame {
  overflow: hidden;
  width: 100%;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 24px 52px rgba(0, 0, 0, .2);
}

.social-frame h3 {
  margin: 0;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(4, 62, 30, .12);
  color: #12361f;
  font-size:0.75rem;
}

.social-frame iframe {
  display: block;
  width: 100%;
  border: 0;
}

.facebook-frame {
  min-height: 500px;
}

.facebook-frame iframe {
  min-height: 620px;
}

.instagram-frame {
  min-height: 500px;
  display: flex;
  flex-direction: column;
}

.instagram-frame iframe {
  min-height: 420px;
  flex: 1;
}

.instagram-frame p {
  margin: 0;
  padding: 14px 16px 0;
  color: #5c6a60;
  font-size: .92rem;
  line-height: 1.5;
}

.instagram-frame .btn {
  align-self: flex-start;
  margin: 14px 16px 16px;
  box-shadow: none;
}

.social-link-card {
  min-height: 190px;
  display: flex;
  flex-direction: column;
}

.social-link-card p {
  margin: 0;
  padding: 18px 18px 0;
  color: #5c6a60;
  font-size: .94rem;
  line-height: 1.55;
}

.social-link-card .btn {
  align-self: flex-start;
  margin: auto 18px 18px;
  box-shadow: none;
}

.social-tabs-section {
  display: block;
  max-width: 1240px;
  margin-bottom: var(--section-y);
  padding: clamp(22px, 4vw, 36px) var(--page-x) clamp(42px, 5vw, 62px);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #0f315f;
  text-align: center;
}

.social-tab-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.social-tabs-section .social-feed-intro {
  max-width: none;
}

.social-tabs-section .social-feed-intro h2 {
  margin: 0;
  font-size:clamp(22px, 3.6vw, 46px);
  line-height: 1;
  color: #0f315f;
  text-transform: capitalize;
}

.social-tab {
  min-width: 0;
  min-height: 0;
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  padding: 12px;
  border: 1px solid #dbe4dd;
  border-radius: 16px;
  color: #0f315f;
  text-decoration: none;
  background: #fff;
  box-shadow: 0 18px 40px rgba(16, 32, 24, .08);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.social-tab-head {
  display: flex;
  align-items: center;
  gap: 10px;
  color: inherit;
  text-decoration: none;
}

.social-tab:hover {
  transform: translateY(-4px);
  border-color: rgba(231, 126, 0, .5);
  background: #fffdf8;
}

.social-tab span {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #f4ba41;
  color: #06331b;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}

.social-tab strong {
  color: #0f315f;
  font-size: .96rem;
  line-height: 1.1;
}

.social-tab p {
  margin: 0;
  color: #5c6a60;
  font-size: .72rem;
  line-height: 1.25;
  text-align: left;
}

.social-preview {
  width: 100%;
  height: clamp(76px, 8vw, 132px);
  overflow: hidden;
  border: 1px solid #dde6dc;
  border-radius: 12px;
  background: #f7faf5;
}

.social-preview iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.x-preview {
  padding: 10px;
  text-align: left;
}

.x-preview a {
  color: #0f315f;
  font-size: .82rem;
}

.youtube-preview {
  background: #000;
}

.social-open {
  margin-top: auto;
  min-width: 0;
  overflow-wrap: anywhere;
  color: #df7300;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.3;
  text-decoration: none;
}

.social-open:hover {
  text-decoration: underline;
}

.anthem-panel,
.shop-note {
  padding: 14px;
}

.map iframe,
.video-frame iframe {
  min-height: 260px;
}

.footer-main {
  padding-top: 28px;
  padding-bottom: 22px;
}

@media (max-width: 980px) {
  .hero {
    grid-template-columns: 1fr;
  }

  .hero img,
  .band img {
    max-height: 260px;
  }

  .page-title {
    padding-top: 24px;
  }
}

@media (max-width: 640px) {
  .hero {
    padding-top: 24px;
    padding-bottom: 28px;
  }

  .hero h1 {
    font-size:clamp(24px, 9.5vw, 32px);
  }

  .page-title h1 {
    font-size:clamp(21px, 8vw, 28px);
  }

  .gallery img,
  .cards img {
    height: 185px;
  }
}

.home-landing {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: clamp(128px, 15vh, 170px) var(--page-x) clamp(78px, 10vh, 120px);
  color: #fff;
  background: #082919;
  overflow: hidden;
  text-align: center;
}

.hero-slideshow {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-slideshow img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--hero-position, center 60%);
  opacity: 0;
  transform: scale(1.2);
  filter: saturate(1.05) contrast(1.02);
  animation: heroFade 60s infinite;
  animation-delay: calc(var(--slide-index) * -6s);
  animation-fill-mode: both;
}

.hero-slideshow img.active {
  opacity: 1;
}

@keyframes heroFade {
  0%,
  8% {
    opacity: 1;
    transform: scale(1.16);
  }

  11%,
  96% {
    opacity: 0;
    transform: scale(1.22);
  }

  100% {
    opacity: 1;
    transform: scale(1.18);
  }
}

.home-landing::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(rgba(0, 0, 0, .46), rgba(0, 0, 0, .52)),
    linear-gradient(90deg, rgba(2, 18, 10, .18), rgba(2, 18, 10, .08));
  pointer-events: none;
}

.home-landing > * {
  position: relative;
  z-index: 1;
  width: min(100%, var(--content-max));
  margin-left: auto;
  margin-right: auto;
}

.hero-inner {
  display: block;
  max-width: 1120px;
}

.home-landing .hero-copy {
  max-width: 1040px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .42);
}

.home-landing .eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 20px;
  border-radius: 999px;
  background: rgba(4, 42, 24, .66);
  color: #f4ba41;
  font-size: .78rem;
  letter-spacing: .12em;
}

.home-landing h1 {
  max-width: 1060px;
  margin: 26px auto 18px;
  color: #fff;
  font-size:clamp(37px, 6.9vw, 87px);
  line-height: .98;
}

.home-landing p {
  margin-left: auto;
  margin-right: auto;
  color: rgba(255, 255, 255, .88);
  max-width: 820px;
  font-size: clamp(16px, 1.95vw, 25px);
}

.home-landing .hero-actions {
  justify-content: center;
  margin-top: clamp(24px, 4vw, 42px);
}

.home-landing .btn {
  background: #f4ba41;
  color: #12361f;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
}

.home-landing .btn:hover {
  background: #ffd36b;
}

.home-landing .btn + .btn {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .34);
  box-shadow: none;
}

.home-landing .btn + .btn:hover {
  background: rgba(255, 255, 255, .2);
}

.hero-photo-stack {
  display: none;
}

.hero-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: clamp(30px, 5vw, 58px);
}

.home-landing .hero-highlights,
.home-landing .landing-steps {
  margin-top: clamp(28px, 5vw, 48px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.home-landing .highlight-card,
.home-landing .landing-steps article {
  min-height: 102px;
  padding: 14px 16px;
  border-color: rgba(255, 255, 255, .28);
  background: rgba(3, 31, 18, .48);
  backdrop-filter: blur(8px);
}

.hero-dots span {
  width: 34px;
  height: 4px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, .35);
}

.hero-dots span::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #f4ba41;
  transform: scaleX(0);
  transform-origin: left;
  animation: dotFill 30s infinite;
  animation-delay: calc(var(--slide-index) * 6s);
}

@keyframes dotFill {
  0%,
  18% {
    transform: scaleX(1);
  }

  25%,
  100% {
    transform: scaleX(0);
  }
}

.landing-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: clamp(28px, 5vw, 48px);
}

.landing-steps article {
  min-height: 102px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 8px;
  background: rgba(2, 25, 14, .5);
  backdrop-filter: blur(10px);
}

.landing-steps span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-bottom: 10px;
  border-radius: 999px;
  background: #f4ba41;
  color: #143d24;
  font-weight: 900;
}

.landing-steps strong {
  display: block;
  color: #fff;
  font-size: 17px;
  line-height: 1.2;
}

.landing-steps p {
  margin: 5px 0 0;
  color: rgba(255, 255, 255, .78);
  font-size: 13px;
}

@media (max-width: 980px) {
  .home-landing {
    min-height: 88vh;
    padding-top: 120px;
  }
}

@media (max-width: 720px) {
  .landing-steps {
    grid-template-columns: 1fr;
  }

  .landing-steps article {
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .home-landing {
    min-height: 84vh;
    padding-top: 112px;
    padding-bottom: 58px;
  }

  .home-landing h1 {
    font-size:clamp(32px, 12vw, 52px);
  }
}

.about-hero,
.about-timeline,
.about-story,
.sdg-section,
.library-shell {
  width: min(100% - 28px, var(--content-max));
  margin-left: auto;
  margin-right: auto;
}

.about-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 410px);
  gap: clamp(20px, 4vw, 42px);
  align-items: center;
  padding: 34px 0 24px;
}

.about-hero h1 {
  max-width: 680px;
  margin: 8px 0 12px;
  color: var(--green);
  font-size:clamp(30px, 4.8vw, 54px);
  line-height: 1.02;
}

.about-hero p {
  max-width: 660px;
  color: var(--muted);
  font-size: 16px;
}

.about-hero img {
  width: 100%;
  min-height: 280px;
  max-height: 360px;
  border-radius: 12px;
  object-fit: cover;
  box-shadow: var(--shadow);
}

.about-timeline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 8px 0 24px;
}

.about-timeline article,
.about-story article,
.sdg-grid article,
.library-docs article {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  box-shadow: 0 8px 24px rgba(16, 32, 24, .06);
}

.about-timeline article {
  padding: 16px;
}

.about-timeline span {
  display: block;
  color: var(--gold);
  font-size: 25px;
  font-weight: 900;
  line-height: 1;
}

.about-timeline p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.about-story {
  display: grid;
  grid-template-columns: 1.2fr .85fr .85fr;
  gap: 14px;
  padding-bottom: 24px;
}

.about-story article {
  padding: 18px;
}

.about-story h2 {
  margin: 0 0 8px;
  color: var(--green);
  font-size:17px;
}

.about-story p {
  color: var(--muted);
  font-size: 14px;
}

.about-values {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  align-items: start;
  gap: 18px;
  padding-top: 18px;
}

.about-values h2,
.section-heading h2 {
  margin: 4px 0 0;
  color: var(--green);
  font-size:clamp(20px, 3vw, 30px);
}

.about-crews {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.section-heading {
  max-width: 760px;
  margin-bottom: 18px;
}

.section-heading p {
  color: var(--muted);
}

.sdg-section {
  padding: 22px 0 38px;
}

.sdg-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.sdg-grid article {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  padding: 18px;
}

.sdg-grid h3 {
  margin: 0 0 8px;
  color: var(--green);
  font-size:15px;
}

.sdg-grid p {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 14px;
}

.sdg-grid a {
  margin-top: auto;
  color: var(--gold);
  font-weight: 900;
  text-decoration: none;
}

.sdg-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 14px;
}

.sdg-tags span {
  border-radius: 999px;
  background: #edf5ec;
  color: #174627;
  padding: 6px 9px;
  font-size: 12px;
  font-weight: 800;
}

.library-shell {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 16px;
  padding: 12px 0 42px;
}

.library-tabs {
  position: sticky;
  top: 84px;
  align-self: start;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  box-shadow: 0 8px 24px rgba(16, 32, 24, .06);
}

.library-tabs button {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font: 800 14px/1.2 inherit;
  padding: 12px 14px;
  text-align: left;
}

.library-tabs button:hover,
.library-tabs button.active {
  background: var(--green);
  color: #fff;
}

.library-panel {
  display: none;
}

.library-panel.active {
  display: block;
}

.library-panel-head {
  margin-bottom: 12px;
}

.library-panel-head h2 {
  margin: 5px 0 0;
  color: var(--green);
  font-size:22px;
}

.library-docs {
  display: grid;
  gap: 10px;
}

.library-docs article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px;
}

.library-docs h3 {
  margin: 0 0 5px;
  color: var(--ink);
  font-size:13px;
}

.library-docs p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}

.doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.btn.ghost {
  background: #edf5ec;
  color: var(--green);
  box-shadow: none;
}

.shop-hero {
  display: grid;
  border-color: rgba(18, 107, 58, .2);
  background: linear-gradient(135deg, #fff 0%, #edf5ec 100%);
}

.shop-hero h2 {
  margin: 4px 0 8px;
  color: var(--green);
  font-size:clamp(22px, 3vw, 34px);
}

.shop-grid article {
  transition: transform .18s ease, box-shadow .18s ease;
}

.shop-grid article:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(16, 32, 24, .1);
}

.shop-open {
  width: 100%;
}

.shop-modal {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 18px;
  background: rgba(5, 25, 15, .72);
}

.shop-modal[hidden] {
  display: none;
}

.shop-dialog {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, 360px) minmax(0, 1fr);
  gap: 22px;
  width: min(100%, 780px);
  border-radius: 14px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 26px 80px rgba(0, 0, 0, .26);
}

.shop-dialog img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: 10px;
  object-fit: cover;
  background: var(--shade);
}

.shop-dialog h2 {
  margin: 5px 0 8px;
  color: var(--green);
  font-size:clamp(20px, 3vw, 30px);
}

.shop-price {
  display: block;
  margin-bottom: 10px;
  color: var(--gold);
  font-size: 18px;
}

.shop-desc {
  color: var(--muted);
}

.shop-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: #edf5ec;
  color: var(--green);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.footer-links {
  display: grid;
  gap: 8px;
}

.footer-links a {
  text-decoration: none;
}

.footer .socials {
  display: grid;
  gap: 8px;
}

.footer .socials a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  margin: 0;
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .08);
}

.social-icon {
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #f4ba41;
  color: #12361f;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .about-hero,
  .about-story,
  .about-values,
  .library-shell,
  .shop-dialog {
    grid-template-columns: 1fr;
  }

  .about-timeline,
  .sdg-grid {
    grid-template-columns: 1fr;
  }

  .library-tabs {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .about-hero {
    padding-top: 24px;
  }

  .about-hero img {
    min-height: 210px;
  }

  .library-tabs,
  .library-docs article {
    grid-template-columns: 1fr;
  }

  .doc-actions {
    justify-content: stretch;
  }

  .doc-actions .btn {
    flex: 1 1 130px;
  }
}

/* Finished footer redesign */
.footer {
  display: block;
  margin-top: 34px;
  padding: 0;
  background:
    radial-gradient(circle at 12% 0%, rgba(244, 186, 65, .16), transparent 30%),
    linear-gradient(135deg, #082b1a 0%, #10361f 52%, #071f14 100%);
  color: #fff;
}

.footer-wrap {
  width: min(100% - 32px, 1120px);
  margin: 0 auto;
  padding: 28px 0 16px;
}

.footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 0 22px;
  border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  text-decoration: none;
}

.footer-logo img {
  width: 54px;
  height: 50px;
  border-radius: 12px;
  background: #fff;
  object-fit: contain;
  padding: 5px;
}

.footer-logo strong {
  display: block;
  color: #fff;
  font-size: clamp(20px, 2.4vw, 28px);
  line-height: 1.05;
}

.footer-logo em {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .7);
  font-style: normal;
  font-size: 14px;
}

.footer-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.footer-actions .btn {
  min-height: 40px;
  background: #f4ba41;
  color: #15351f;
  box-shadow: none;
}

.footer-actions .btn.ghost {
  border: 1px solid rgba(255, 255, 255, .25);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.25fr .72fr .78fr 1.04fr 1fr;
  gap: clamp(18px, 3vw, 34px);
  max-width: none;
  padding: 24px 0 22px;
}

.footer section {
  min-width: 0;
}

.footer-brand h2 {
  max-width: 260px;
  margin: 0 0 10px;
  color: #fff;
  font-size:18px;
  line-height: 1.15;
}

.footer-brand p,
.footer-contact span {
  max-width: 280px;
  margin: 0;
  color: rgba(255, 255, 255, .72);
  font-size: 14px;
}

.footer h2 {
  margin: 0 0 12px;
  color: #f4ba41;
  font-size:8px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.footer-links,
.footer-contact {
  display: grid;
  gap: 8px;
}

.footer-links a,
.footer-contact a {
  color: rgba(255, 255, 255, .84);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.footer-links a:hover,
.footer-contact a:hover {
  color: #f4ba41;
}

.footer .socials {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.footer .socials a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 10px;
  background: rgba(255, 255, 255, .07);
  color: #fff;
  padding: 9px 10px;
  text-decoration: none;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.footer .socials a:hover {
  border-color: rgba(244, 186, 65, .7);
  background: rgba(244, 186, 65, .13);
  color: #fff;
  transform: translateY(-1px);
}

.social-icon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  border-radius: 8px;
  background: #f4ba41;
  color: #12361f;
}

.social-icon svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid rgba(255, 255, 255, .16);
  padding: 14px 0 0;
  color: rgba(255, 255, 255, .6);
  font-size: 13px;
}

@media (max-width: 1060px) {
  .footer-main {
    grid-template-columns: 1.3fr 1fr 1fr;
  }

  .footer-social {
    grid-column: span 2;
  }

  .footer .socials {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .footer-cta,
  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-actions {
    justify-content: flex-start;
  }

  .footer-main,
  .footer .socials {
    grid-template-columns: 1fr;
  }

  .footer-social {
    grid-column: auto;
  }
}

/* About values and crews — system theme */
.values-crews {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  gap: 18px;
  width: min(100% - 28px, var(--content-max));
  margin: 10px auto 34px;
}

.values-card,
.crews-card {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(24, 54, 88, .12);
  border-radius: 18px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 14px 34px rgba(22, 39, 58, .07);
}

.values-card::before,
.crews-card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #153a62 0 48%, #e7a800 48% 76%, #17643a 76% 100%);
}

.values-card .eyebrow,
.crews-card .eyebrow {
  display: inline-flex;
  width: auto;
  margin: 0 0 10px;
  padding: 7px 11px;
  border: 1px solid rgba(231, 168, 0, .26);
  border-radius: 999px;
  background: rgba(231, 168, 0, .08);
  color: #b36b00;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.values-card h2,
.crews-card h2 {
  margin: 4px 0 8px;
  color: #12385f;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.08;
}

.values-card > p:not(.eyebrow),
.crews-card > p:not(.eyebrow) {
  max-width: 640px;
  margin: 0 0 18px;
  color: var(--muted);
}

.value-cloud {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.value-cloud span {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid rgba(24, 54, 88, .11);
  border-radius: 12px;
  background: #fff;
  color: #183652;
  font-size: 14px;
  font-weight: 800;
  box-shadow: 0 5px 16px rgba(22, 39, 58, .04);
}

.value-cloud strong {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 9px;
  background: rgba(231, 168, 0, .12);
  color: #a95f00;
  border: 1px solid rgba(231, 168, 0, .22);
  font-size: 12px;
  font-weight: 900;
}

.crew-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}

.crew-card-grid a {
  position: relative;
  min-height: 88px;
  padding: 15px 16px;
  border: 1px solid rgba(24, 54, 88, .11);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 5px 16px rgba(22, 39, 58, .04);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.crew-card-grid a::after {
  content: "View";
  position: absolute;
  right: 14px;
  bottom: 13px;
  color: #b36b00;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.crew-card-grid a:hover {
  transform: translateY(-2px);
  border-color: rgba(231, 168, 0, .42);
  box-shadow: 0 10px 24px rgba(22, 39, 58, .08);
}

.crew-card-grid strong {
  display: block;
  color: #12385f;
  font-size: 18px;
  line-height: 1.15;
}

.crew-card-grid span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.crew-card-grid a:last-child {
  grid-column: 1 / -1;
}

@media (max-width: 920px) {
  .values-crews { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .value-cloud,
  .crew-card-grid { grid-template-columns: 1fr; }
  .crew-card-grid a:last-child { grid-column: auto; }
}

/* Finished header and clean logo treatment */
.topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  min-height: 72px;
  padding: 10px var(--page-x);
  background: rgba(253, 250, 242, .94);
  color: var(--ink);
  border-bottom: 1px solid rgba(30, 58, 95, .1);
  box-shadow: 0 14px 36px rgba(20, 31, 48, .08);
  backdrop-filter: blur(18px);
}

.brand {
  gap: 10px;
}

.brand img,
.footer-logo img {
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}

.brand img {
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.brand span {
  display: grid;
  gap: 1px;
}

.brand strong,
.brand em {
  color: var(--green);
  letter-spacing: .08em;
}

.brand strong {
  font-size: 12px;
  font-weight: 900;
}

.brand em {
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
}

.site-nav {
  margin-left: auto;
}

.site-nav > ul {
  gap: 4px;
}

.site-nav a,
.site-nav button {
  border-radius: 999px;
  color: #263342;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .02em;
  padding: 10px 11px;
}

.site-nav a:hover,
.site-nav button:hover,
.site-nav a.active {
  background: #1e3a5f;
  color: #fff;
}

.has-menu button span {
  border-top-color: currentColor;
}

.has-menu ul {
  min-width: 244px;
  padding: 10px;
  border: 1px solid rgba(30, 58, 95, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 20px 48px rgba(20, 31, 48, .14);
}

.has-menu ul a {
  border-radius: 10px;
  color: var(--ink);
  padding: 11px 12px;
  text-transform: none;
}

.has-menu ul a:hover {
  background: #eef2f6;
  color: var(--green);
}

.site-nav button.active-parent {
  background: var(--green);
  color: #fff;
}

.menu-toggle {
  border-color: rgba(30, 58, 95, .18);
  background: #fff;
  box-shadow: 0 8px 20px rgba(20, 31, 48, .08);
}

.menu-toggle span {
  background: var(--green);
}

.eyebrow {
  display: inline-flex;
  width: auto;
  max-width: 100%;
  border: 0;
  border-radius: 999px;
  background: rgba(217, 119, 6, .12);
  color: var(--gold);
  padding: 6px 10px;
  text-shadow: none;
}

.home-landing .eyebrow,
.values-card .eyebrow {
  background: rgba(255, 255, 255, .14);
  color: #f4ba41;
}

.footer-logo img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

@media (max-width: 1100px) {
  .site-nav a,
  .site-nav button {
    padding-inline: 8px;
    font-size: 11px;
  }
}

@media (max-width: 980px) {
  .site-nav {
    top: 72px;
    padding: 12px var(--page-x);
    background: rgba(253, 250, 242, .98);
    border-bottom: 1px solid rgba(30, 58, 95, .1);
    box-shadow: 0 18px 36px rgba(20, 31, 48, .12);
  }

  .site-nav a,
  .site-nav button {
    width: 100%;
    justify-content: space-between;
    border-radius: 10px;
    color: var(--ink);
    padding: 12px 10px;
  }

  .site-nav a:hover,
  .site-nav button:hover,
  .site-nav a.active {
    background: #1e3a5f;
    color: #fff;
  }

  .has-menu ul {
    background: rgba(30, 58, 95, .04);
    border: 0;
    box-shadow: none;
    padding: 5px 0 6px 12px;
  }

  .has-menu ul a {
    color: var(--ink);
  }
}

@media (max-width: 560px) {
  .topbar {
    min-height: 66px;
  }

  .brand img {
    width: 44px;
    height: 44px;
  }

  .brand strong,
  .brand em {
    font-size: 11px;
  }

  .site-nav {
    top: 66px;
  }
}

body:has(.home-landing) .topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  border-bottom: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  box-shadow: none;
}

body:has(.home-landing) .brand strong,
body:has(.home-landing) .site-nav a,
body:has(.home-landing) .site-nav button {
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .42);
}

body:has(.home-landing) .brand em {
  color: #f4ba41;
}

body:has(.home-landing) .site-nav a.active,
body:has(.home-landing) .site-nav a:hover,
body:has(.home-landing) .site-nav button:hover,
body:has(.home-landing) .site-nav button.active-parent {
  background: #f4ba41;
  color: #12361f;
  text-shadow: none;
}

body:has(.home-landing) .menu-toggle {
  border-color: rgba(255, 255, 255, .28);
  background: rgba(255, 255, 255, .16);
}

body:has(.home-landing) .menu-toggle span {
  background: #fff;
}

@media (max-width: 980px) {
  body:has(.home-landing) .site-nav {
    background: rgba(8, 41, 25, .96);
    border-bottom-color: rgba(255, 255, 255, .12);
  }

  body:has(.home-landing) .site-nav a,
  body:has(.home-landing) .site-nav button {
    color: #fff;
  }
}

/* Projects section redesign */
.project-hero,
.project-tabs,
.project-stats,
.project-pillars,
.project-docs,
.project-detail,
.project-sdgs {
  width: min(100% - 28px, var(--content-max));
  margin-left: auto;
  margin-right: auto;
}

.project-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  gap: clamp(22px, 4vw, 44px);
  align-items: center;
  padding: 34px 0 16px;
}

.project-hero h1 {
  max-width: 680px;
  margin: 10px 0 12px;
  color: var(--green);
  font-size:clamp(32px, 5vw, 58px);
  line-height: 1.02;
}

.project-hero p {
  max-width: 660px;
  color: var(--muted);
  font-size: 16px;
}

.project-hero img {
  width: 100%;
  min-height: 280px;
  max-height: 360px;
  border-radius: 16px;
  object-fit: cover;
  box-shadow: var(--shadow-hover);
}

.project-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.project-tabs {
  position: sticky;
  top: 72px;
  z-index: 15;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(30, 58, 95, .11);
  border-radius: 16px;
  background: rgba(253, 250, 242, .9);
  box-shadow: 0 12px 32px rgba(20, 31, 48, .08);
  backdrop-filter: blur(16px);
}

.project-tabs a {
  flex: 1 1 130px;
  border-radius: 12px;
  color: var(--green);
  padding: 11px 14px;
  text-align: center;
  text-decoration: none;
  font-weight: 900;
}

.project-tabs a:hover,
.project-tabs a.active {
  background: var(--green);
  color: #fff;
}

.project-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 14px 0 8px;
}

.project-stats article {
  border: 1px solid rgba(30, 58, 95, .12);
  border-radius: 14px;
  background: #fff;
  padding: 18px;
  box-shadow: var(--shadow);
}

.project-stats strong {
  display: block;
  color: #d97706;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1;
}

.project-stats span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-weight: 800;
}

.project-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 14px 0 24px;
}

.project-pillars article {
  display: flex;
  min-height: 260px;
  flex-direction: column;
  border: 1px solid rgba(30, 58, 95, .12);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .78)),
    linear-gradient(145deg, #fff 0%, #eef2f6 100%);
  padding: 20px;
  box-shadow: var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.project-pillars article:hover {
  transform: translateY(-3px);
  border-color: rgba(217, 119, 6, .42);
  box-shadow: var(--shadow-hover);
}

.project-pillars span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #f6b15b;
  color: #142842;
  font-weight: 950;
}

.project-pillars h2 {
  margin: 18px 0 8px;
  color: var(--green);
  font-size:19px;
  line-height: 1.1;
}

.project-pillars p {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 14px;
}

.project-pillars a {
  margin-top: auto;
  color: #d97706;
  font-weight: 950;
  text-decoration: none;
}

.project-docs {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 28px;
  border: 1px solid rgba(30, 58, 95, .12);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  box-shadow: var(--shadow);
}

.project-docs h2 {
  margin: 8px 0 0;
  color: var(--green);
  font-size:22px;
  line-height: 1.1;
}

.project-doc-list {
  display: grid;
  gap: 10px;
}

.project-doc-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fdfaf2;
  padding: 14px;
}

.project-doc-list strong {
  display: block;
  color: var(--ink);
  font-size: 16px;
}

.project-doc-list span {
  display: block;
  color: var(--muted);
  font-size: 13px;
}

.project-doc-list article > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.project-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 16px;
  padding: 18px 0 34px;
}

.project-detail article,
.project-detail aside {
  border: 1px solid rgba(30, 58, 95, .12);
  border-radius: 16px;
  background: #fff;
  padding: 20px;
  box-shadow: var(--shadow);
}

.project-detail h2 {
  margin: 8px 0 10px;
  color: var(--green);
  font-size:22px;
}

.project-detail p {
  color: var(--muted);
}

.project-side-links {
  display: grid;
  gap: 8px;
}

.project-side-links a {
  border-radius: 10px;
  background: #eef2f6;
  color: var(--green);
  padding: 11px 12px;
  text-decoration: none;
  font-weight: 850;
}

.project-side-links a:hover {
  background: var(--green);
  color: #fff;
}

.project-sdgs .sdg-grid article {
  min-height: 280px;
}

@media (max-width: 920px) {
  .project-hero,
  .project-docs,
  .project-detail {
    grid-template-columns: 1fr;
  }

  .project-pillars,
  .project-stats {
    grid-template-columns: 1fr;
  }

  .project-tabs {
    position: static;
  }
}

@media (max-width: 620px) {
  .project-hero {
    padding-top: 24px;
  }

  .project-hero img {
    min-height: 220px;
  }

  .project-doc-list article {
    grid-template-columns: 1fr;
  }

  .project-doc-list article > div {
    justify-content: stretch;
  }

  .project-doc-list .btn {
    flex: 1 1 130px;
  }
}

/* Footer social fit correction */
.footer-social .socials {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.footer-social .socials a {
  min-width: 0;
  gap: 7px;
  border-radius: 9px;
  padding: 7px 8px;
  font-size: 12px;
  line-height: 1.1;
}

.footer-social .socials a > span:last-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.footer-social .social-icon {
  width: 24px;
  height: 24px;
  min-width: 24px;
  border-radius: 7px;
}

.footer-social .social-icon svg {
  width: 14px;
  height: 14px;
}

@media (max-width: 420px) {
  .footer-social .socials {
    grid-template-columns: 1fr;
  }
}

/* Audio-only anthem refinement */
.audio-only-anthem {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  align-items: stretch;
  gap: 16px;
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(4, 62, 30, .97), rgba(12, 92, 47, .92)),
    linear-gradient(180deg, #063e20, #102b1c);
  border-color: rgba(251, 186, 49, .28);
  color: #fff;
}

.audio-only-anthem .anthem-copy h2,
.audio-only-anthem .anthem-copy p {
  color: #fff;
}

.audio-only-anthem .eyebrow {
  background: rgba(251, 186, 49, .16);
  color: #fbba31;
}

.anthem-audio-list {
  display: grid;
  gap: 12px;
}

.audio-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, .1);
  box-shadow: 0 18px 34px rgba(0, 0, 0, .12);
}

.audio-card span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 8px;
  border-radius: 999px;
  padding: 4px 9px;
  background: #fbba31;
  color: #05351b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
}

.audio-card h3 {
  margin: 0 0 5px;
  color: #fff;
  font-size:16px;
}

.audio-card p,
.audio-card small {
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: 13px;
  line-height: 1.55;
}

.audio-card audio {
  width: 100%;
  min-height: 44px;
  border-radius: 999px;
}

.audio-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.audio-actions .btn {
  min-height: 40px;
  padding: 10px 16px;
  border-radius: 999px;
  box-shadow: none;
}

.anthem-lyrics {
  margin: 0 clamp(16px, 5vw, 72px) 26px;
  border: 1px solid rgba(4, 62, 30, .12);
  border-radius: 18px;
  padding: clamp(18px, 3vw, 28px);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(247, 250, 246, .92)),
    #fff;
  box-shadow: 0 16px 38px rgba(22, 44, 30, .08);
}

.anthem-lyrics h2 {
  margin: 7px 0 16px;
  color: var(--green);
  font-size:clamp(20px, 3vw, 30px);
}

.anthem-lyrics article {
  display: grid;
  gap: 10px;
  max-width: 820px;
  border-left: 4px solid #fbba31;
  padding-left: 18px;
}

.anthem-lyrics p {
  margin: 0;
  color: #334236;
  font-size: 16px;
  line-height: 1.7;
}

@media (max-width: 820px) {
  .audio-only-anthem {
    grid-template-columns: 1fr;
  }
}

/* Activities hub */
.activities-hub {
  margin: 34px clamp(16px, 5vw, 72px);
  padding: clamp(18px, 3vw, 30px);
  border: 1px solid rgba(4, 62, 30, .12);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 246, .94)),
    #fff;
  box-shadow: 0 18px 44px rgba(20, 42, 28, .08);
}

.activities-hub .section-heading {
  max-width: 760px;
  margin-bottom: 18px;
}

.activities-hub .section-heading h2 {
  margin: 8px 0 8px;
  color: var(--green);
  font-size:clamp(24px, 4vw, 42px);
  line-height: 1.06;
}

.activities-hub .section-heading p:last-child {
  margin: 0;
  color: var(--muted);
  font-size: 16px;
}

.activity-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.activity-tabs button {
  border: 1px solid rgba(4, 62, 30, .14);
  border-radius: 999px;
  background: #fff;
  color: var(--green);
  padding: 10px 15px;
  font: 850 13px/1.1 inherit;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

.activity-tabs button:hover,
.activity-tabs button.active {
  transform: translateY(-1px);
  background: var(--green);
  color: #fff;
}

.activity-stage {
  position: relative;
  min-height: 292px;
}

.activity-panel {
  display: none;
  grid-template-columns: minmax(240px, 390px) minmax(0, 1fr);
  gap: clamp(16px, 3vw, 28px);
  align-items: center;
  border: 1px solid rgba(4, 62, 30, .12);
  border-radius: 16px;
  padding: 14px;
  background:
    linear-gradient(135deg, rgba(4, 62, 30, .04), rgba(251, 186, 49, .08)),
    #fff;
}

.activity-panel.active {
  display: grid;
}

.activity-panel img {
  width: 100%;
  height: 264px;
  border-radius: 13px;
  object-fit: cover;
  box-shadow: 0 16px 34px rgba(20, 42, 28, .12);
}

.activity-panel span {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(251, 186, 49, .18);
  color: #ba6500;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.activity-panel h3 {
  margin: 12px 0 8px;
  color: var(--green);
  font-size:clamp(20px, 3vw, 30px);
  line-height: 1.08;
}

.activity-panel p {
  max-width: 680px;
  margin: 0 0 18px;
  color: #435047;
  font-size: 16px;
}

.activity-widgets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.activity-widgets article {
  border-radius: 14px;
  padding: 14px;
  background: #063e20;
  color: #fff;
}

.activity-widgets strong {
  display: block;
  color: #fbba31;
  font-size: 22px;
  line-height: 1.1;
}

.activity-widgets span {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .84);
  font-size: 13px;
}

.activity-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.activity-card-grid a {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(4, 62, 30, .12);
  border-radius: 14px;
  background: #fff;
  color: var(--green);
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
}

.activity-card-grid a:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(20, 42, 28, .1);
}

.activity-card-grid img {
  width: 100%;
  height: 118px;
  object-fit: cover;
}

.activity-card-grid span,
.activity-card-grid strong {
  display: block;
  margin: 0 12px;
}

.activity-card-grid span {
  margin-top: 10px;
  color: #ba6500;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.activity-card-grid strong {
  margin-top: 3px;
  margin-bottom: 13px;
  font-size: 15px;
  line-height: 1.2;
}

@media (max-width: 920px) {
  .activity-panel,
  .activity-widgets,
  .activity-card-grid {
    grid-template-columns: 1fr;
  }

  .activity-stage {
    min-height: 0;
  }

  .activity-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .activities-hub {
    margin: 24px 14px;
    padding: 15px;
    border-radius: 16px;
  }

  .activity-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .activity-tabs button {
    width: 100%;
    padding: 10px 8px;
  }

  .activity-panel {
    padding: 10px;
  }

  .activity-panel img {
    height: 210px;
  }

  .activity-card-grid {
    grid-template-columns: 1fr;
  }
}

/* Site library */
.site-library-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  padding: 22px clamp(16px, 5vw, 72px) 58px;
}

.site-library-grid article {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  align-items: flex-start;
  border: 1px solid rgba(4, 62, 30, .12);
  border-radius: 16px;
  padding: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 246, .94)),
    #fff;
  box-shadow: 0 16px 36px rgba(20, 42, 28, .08);
}

.site-library-grid span {
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(251, 186, 49, .16);
  color: #ba6500;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.site-library-grid h2 {
  margin: 13px 0 8px;
  color: var(--green);
  font-size:18px;
  line-height: 1.12;
}

.site-library-grid p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: 14px;
}

.site-library-grid .btn {
  margin-top: auto;
  box-shadow: none;
}

@media (max-width: 1020px) {
  .site-library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .site-library-grid {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }
}

/* Library system redesign */
.library-masthead {
  max-width: var(--content-max);
  margin: 24px auto 0;
  padding: clamp(22px, 4vw, 38px) var(--page-x);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px);
  gap: 24px;
  align-items: end;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(4, 62, 30, .96), rgba(8, 91, 47, .9)),
    linear-gradient(180deg, #063e20, #102b1c);
  color: #fff;
  box-shadow: 0 22px 48px rgba(4, 40, 20, .16);
}

.library-masthead h1 {
  margin: 9px 0 10px;
  color: #fff;
  font-size:clamp(30px, 5vw, 54px);
  line-height: 1.02;
}

.library-masthead p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, .82);
  font-size: 16px;
}

.library-masthead .eyebrow {
  background: rgba(251, 186, 49, .16);
  color: #fbba31;
}

.library-counts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.library-counts span {
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 12px;
  padding: 12px 10px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  font-weight: 850;
  text-align: center;
}

.library-counts span:last-child {
  grid-column: 1 / -1;
}

.library-nav-strip {
  max-width: var(--content-max);
  margin: 14px auto 8px;
  padding: 0 var(--page-x);
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.library-nav-strip a {
  min-width: 0;
  border: 1px solid rgba(4, 62, 30, .12);
  border-radius: 14px;
  padding: 12px;
  background: #fff;
  color: var(--green);
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(20, 42, 28, .06);
  transition: transform .18s ease, background .18s ease, color .18s ease;
}

.library-nav-strip a:hover,
.library-nav-strip a.active {
  transform: translateY(-2px);
  background: #063e20;
  color: #fff;
}

.library-nav-strip span {
  display: block;
  color: #ba6500;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}

.library-nav-strip a:hover span,
.library-nav-strip a.active span {
  color: #fbba31;
}

.library-nav-strip strong {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
}

.library-home-grid {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 18px var(--page-x) 14px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.library-home-grid a {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(4, 62, 30, .12);
  border-radius: 18px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 246, .94)),
    #fff;
  color: var(--green);
  text-decoration: none;
  box-shadow: 0 16px 36px rgba(20, 42, 28, .08);
  transition: transform .18s ease, box-shadow .18s ease;
}

.library-home-grid a:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 44px rgba(20, 42, 28, .12);
}

.library-home-grid span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  background: #fbba31;
  color: #07361d;
  font-weight: 950;
}

.library-home-grid h2 {
  margin: 18px 0 8px;
  color: var(--green);
  font-size:18px;
  line-height: 1.12;
}

.library-home-grid p {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.library-home-grid strong {
  margin-top: auto;
  color: #ba6500;
  font-size: 13px;
}

.library-feature-row {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 var(--page-x) var(--section-y);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.library-feature-row article {
  border-radius: 18px;
  padding: 22px;
  background: #063e20;
  color: #fff;
}

.library-feature-row article:nth-child(2) {
  background: #fff;
  color: var(--green);
  border: 1px solid rgba(4, 62, 30, .12);
}

.library-feature-row h2 {
  margin: 8px 0;
  font-size:20px;
}

.library-feature-row p {
  color: inherit;
  opacity: .82;
}

.library-feature-row .ghost {
  background: #f4f7f2;
  color: var(--green);
}

.has-menu ul {
  min-width: 250px;
  border-radius: 14px;
  padding: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 246, .96)),
    #fff;
}

.has-menu ul a {
  border-radius: 10px;
  padding: 11px 12px;
  font-weight: 850;
}

@media (max-width: 1050px) {
  .library-home-grid,
  .library-nav-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .library-masthead,
  .library-feature-row {
    grid-template-columns: 1fr;
  }

  .library-home-grid,
  .library-nav-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .library-masthead {
    margin: 14px 14px 0;
    padding: 20px 16px;
    border-radius: 18px;
  }

  .library-nav-strip,
  .library-home-grid,
  .library-feature-row {
    padding-inline: 14px;
    grid-template-columns: 1fr;
  }
}

/* Activities tab redesign */
.activities-hub {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  grid-template-areas:
    "heading heading"
    "tabs stage"
    "widgets cards";
  gap: 14px;
  border-radius: 24px;
  padding: clamp(18px, 3vw, 28px);
  background:
    linear-gradient(135deg, rgba(4, 62, 30, .05), rgba(251, 186, 49, .08)),
    #fff;
}

.activities-hub .section-heading {
  grid-area: heading;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  max-width: none;
  margin: 0;
  border-bottom: 1px solid rgba(4, 62, 30, .1);
  padding-bottom: 14px;
}

.activities-hub .section-heading::after {
  content: "4 active areas";
  border-radius: 999px;
  padding: 8px 12px;
  background: #063e20;
  color: #fbba31;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.activity-tabs {
  grid-area: tabs;
  display: grid;
  gap: 9px;
  align-self: stretch;
  margin: 0;
}

.activity-tabs button {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  grid-template-areas:
    "num label"
    "num detail";
  column-gap: 10px;
  align-items: center;
  min-height: 74px;
  width: 100%;
  border: 1px solid rgba(4, 62, 30, .12);
  border-radius: 16px;
  padding: 12px 13px;
  background: rgba(255, 255, 255, .84);
  color: var(--green);
  text-align: left;
  box-shadow: 0 12px 28px rgba(20, 42, 28, .06);
}

.activity-tabs button::after {
  content: "";
  position: absolute;
  inset: auto 12px 10px 56px;
  height: 3px;
  border-radius: 999px;
  background: rgba(4, 62, 30, .1);
}

.activity-tabs button span {
  grid-area: num;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(251, 186, 49, .2);
  color: #9b5600;
  font-size: 12px;
  font-weight: 950;
}

.activity-tabs button strong {
  grid-area: label;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 15px;
  line-height: 1.15;
}

.activity-tabs button em {
  grid-area: detail;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.2;
}

.activity-tabs button:hover,
.activity-tabs button.active {
  transform: translateY(-1px);
  border-color: rgba(251, 186, 49, .45);
  background: #063e20;
  color: #fff;
}

.activity-tabs button:hover span,
.activity-tabs button.active span {
  background: #fbba31;
  color: #063e20;
}

.activity-tabs button:hover em,
.activity-tabs button.active em {
  color: rgba(255, 255, 255, .78);
}

.activity-tabs button:hover::after,
.activity-tabs button.active::after {
  background: #fbba31;
}

.activity-stage {
  grid-area: stage;
  min-height: auto;
}

.activity-panel {
  min-height: 344px;
  grid-template-columns: minmax(260px, 42%) minmax(0, 1fr);
  border-radius: 20px;
  padding: 12px;
  background:
    linear-gradient(135deg, rgba(6, 62, 32, .96), rgba(20, 116, 62, .88)),
    #063e20;
  color: #fff;
  overflow: hidden;
}

.activity-panel img {
  height: 320px;
  border-radius: 16px;
}

.activity-panel > div {
  padding: clamp(14px, 2.5vw, 24px);
}

.activity-panel span {
  background: rgba(251, 186, 49, .18);
  color: #fbba31;
}

.activity-panel h3 {
  color: #fff;
}

.activity-panel p {
  color: rgba(255, 255, 255, .84);
}

.activity-panel .btn {
  background: #fbba31;
  color: #063e20;
}

.activity-widgets {
  grid-area: widgets;
  grid-template-columns: 1fr;
  margin: 0;
}

.activity-card-grid {
  grid-area: cards;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

@media (max-width: 980px) {
  .activities-hub {
    grid-template-columns: 1fr;
    grid-template-areas:
      "heading"
      "tabs"
      "stage"
      "widgets"
      "cards";
  }

  .activity-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .activity-panel {
    grid-template-columns: 1fr;
  }

  .activity-panel img {
    height: 250px;
  }

  .activity-widgets {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .activities-hub .section-heading {
    grid-template-columns: 1fr;
  }

  .activities-hub .section-heading::after {
    width: fit-content;
  }

  .activity-tabs,
  .activity-widgets,
  .activity-card-grid {
    grid-template-columns: 1fr;
  }

  .activity-tabs button {
    min-height: 68px;
  }
}

/* Final activities redesign: nonprofit story-card treatment. */
.activities-hub.activity-stories {
  display: block;
  max-width: none;
  margin: 0;
  padding: clamp(42px, 6vw, 76px) var(--page-x);
  background:
    linear-gradient(180deg, rgba(250, 249, 239, .96), rgba(246, 248, 239, .98)),
    var(--cream);
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.activity-stories .section-heading {
  display: block;
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
  border: 0;
}

.activity-stories .section-heading::after {
  content: none;
}

.activity-stories .section-heading h2 {
  margin: 8px 0 10px;
  color: #113315;
  font-size:clamp(1.75rem, 4vw, 3.4rem);
  line-height: .98;
}

.activity-stories .section-heading p:last-child {
  max-width: 670px;
  margin: 0 auto;
  color: #40533d;
  font-size: 1rem;
}

.activity-stories .activity-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 760px;
  margin: 0 auto 32px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.activity-stories .activity-tabs button {
  flex: 0 0 auto;
  width: auto;
  min-height: 0;
  padding: 12px 22px;
  background: #fff;
  border: 1px solid rgba(20, 79, 38, .18);
  border-radius: 14px;
  color: #244223;
  box-shadow: 0 12px 26px rgba(38, 55, 25, .06);
}

.activity-stories .activity-tabs button::after {
  content: none;
}

.activity-stories .activity-tabs button strong {
  display: block;
  color: inherit;
  font-size: .9rem;
  letter-spacing: 0;
}

.activity-stories .activity-tabs button span,
.activity-stories .activity-tabs button em {
  display: none;
}

.activity-stories .activity-tabs button:hover,
.activity-stories .activity-tabs button.active {
  background: #0b3d1d;
  border-color: #0b3d1d;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgba(11, 61, 29, .18);
}

.activity-stories .activity-stage {
  max-width: 1180px;
  margin: 0 auto;
}

.activity-stories .activity-panel {
  display: none;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(20, 79, 38, .16);
  border-radius: 22px;
  box-shadow: 0 26px 70px rgba(38, 55, 25, .09);
}

.activity-stories .activity-panel.active {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.activity-stories .activity-story-card {
  display: flex;
  flex-direction: column;
  gap: 22px;
  min-width: 0;
  padding: clamp(20px, 3.2vw, 44px);
  border-right: 1px solid rgba(20, 79, 38, .14);
}

.activity-stories .activity-story-card:last-child {
  border-right: 0;
}

.activity-stories .activity-story-card img {
  width: 100%;
  height: clamp(220px, 28vw, 345px);
  object-fit: cover;
  border-radius: 14px;
  box-shadow: none;
}

.activity-stories .activity-panel > div {
  padding: clamp(20px, 3.2vw, 44px);
}

.activity-stories .activity-story-card > div {
  padding: 0;
}

.activity-stories .activity-panel span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 12px;
  padding: 7px 12px;
  background: #f8ebd8;
  border-radius: 999px;
  color: #c66700;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.activity-stories .activity-panel h3 {
  margin: 0 0 10px;
  color: #102f14;
  font-size:clamp(1.1rem, 2.1vw, 1.75rem);
  line-height: 1.08;
}

.activity-stories .activity-panel p {
  margin: 0 0 22px;
  color: #40533d;
  font-size: .98rem;
  line-height: 1.7;
}

.activity-stories .story-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #0b3418;
  font-weight: 900;
  text-decoration: none;
}

.activity-stories .story-link:hover {
  color: #c66700;
}

.activity-stories .activity-widgets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 920px;
  margin: 22px auto 0;
}

.activity-stories .activity-widgets article {
  padding: 18px 20px;
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(20, 79, 38, .14);
  border-radius: 16px;
  box-shadow: 0 16px 34px rgba(38, 55, 25, .06);
}

.activity-stories .activity-widgets strong {
  color: #0a3218;
  font-size: 1.1rem;
}

.activity-stories .activity-widgets span {
  color: #52614c;
}

@media (max-width: 860px) {
  .activity-stories .activity-panel.active,
  .activity-stories .activity-widgets {
    grid-template-columns: 1fr;
  }

  .activity-stories .activity-story-card {
    border-right: 0;
    border-bottom: 1px solid rgba(20, 79, 38, .14);
  }

  .activity-stories .activity-story-card:last-child {
    border-bottom: 0;
  }

  .activity-stories .activity-tabs {
    max-width: 520px;
  }
}

@media (max-width: 520px) {
  .activity-stories .activity-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 100%;
  }

  .activity-stories .activity-tabs button {
    width: 100%;
    padding: 10px 8px;
  }

  .activity-stories .activity-story-card img {
    height: 210px;
  }
}

/* Final library redesign: cleaner media hub without repeated bulky controls. */
.library-masthead.library-home-hero {
  max-width: 1180px;
  margin: 28px auto 0;
  padding: clamp(18px, 3vw, 34px);
  grid-template-columns: minmax(0, .95fr) minmax(320px, .72fr);
  align-items: stretch;
  gap: clamp(18px, 3vw, 34px);
  background:
    linear-gradient(135deg, rgba(4, 62, 30, .98), rgba(11, 78, 39, .94)),
    #063e20;
  border: 1px solid rgba(251, 186, 49, .18);
  border-radius: 20px;
  box-shadow: 0 22px 52px rgba(20, 42, 28, .13);
}

.library-home-hero > div {
  align-self: center;
  padding: clamp(6px, 1.5vw, 18px);
}

.library-home-hero h1 {
  max-width: 720px;
  margin: 10px 0 12px;
  font-size:clamp(2.15rem, 5vw, 4.15rem);
  letter-spacing: 0;
}

.library-home-hero p {
  max-width: 640px;
  font-size: 1.04rem;
  line-height: 1.7;
}

.library-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.library-hero-actions .btn {
  box-shadow: none;
}

.library-hero-actions .ghost {
  background: rgba(255, 255, 255, .1);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, .22);
}

.library-home-hero figure {
  position: relative;
  min-height: 300px;
  margin: 0;
  overflow: hidden;
  border-radius: 16px;
  background: rgba(255, 255, 255, .08);
}

.library-home-hero figure img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
  display: block;
}

.library-home-hero figcaption {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(4, 34, 18, .78);
  color: #fff;
  font-size: .86rem;
  font-weight: 800;
}

.library-masthead.library-sub-hero {
  max-width: 1180px;
  margin: 22px auto 0;
  padding: clamp(18px, 3vw, 30px);
  display: block;
  border-radius: 18px;
}

.library-sub-hero h1 {
  font-size:clamp(1.85rem, 4vw, 3.2rem);
}

.library-home-grid {
  max-width: 1180px;
  padding: 24px var(--page-x) 18px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.library-home-grid .library-home-card {
  grid-column: span 2;
  min-height: 0;
  display: grid;
  grid-template-rows: 168px 1fr;
  padding: 0;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(20, 79, 38, .14);
  box-shadow: 0 18px 42px rgba(38, 55, 25, .08);
}

.library-home-grid .library-home-card:nth-child(1),
.library-home-grid .library-home-card:nth-child(2) {
  grid-column: span 3;
  grid-template-rows: 230px 1fr;
}

.library-home-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.library-home-card > div {
  padding: 20px;
}

.library-home-card span {
  width: auto;
  height: auto;
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f8ebd8;
  color: #c66700;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.library-home-card h2 {
  margin: 14px 0 8px;
  color: #102f14;
  font-size:clamp(0.97rem, 1.8vw, 1.45rem);
}

.library-home-card p {
  min-height: 0;
  color: #4a5946;
  font-size: .96rem;
  line-height: 1.62;
}

.library-home-card strong {
  display: inline-flex;
  margin-top: 6px;
  color: #0b3d1d;
  font-size: .88rem;
}

.library-feature-row {
  max-width: 1180px;
  gap: 16px;
}

.library-feature-row article {
  min-height: 190px;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(6, 62, 32, .98), rgba(14, 86, 44, .96)),
    #063e20;
  box-shadow: 0 18px 42px rgba(38, 55, 25, .08);
}

.library-feature-row article:nth-child(2) {
  background: #fff;
}

.library-feature-row h2 {
  color: inherit;
  font-size:clamp(1.2rem, 2.2vw, 1.75rem);
}

@media (max-width: 900px) {
  .library-masthead.library-home-hero {
    grid-template-columns: 1fr;
  }

  .library-home-grid,
  .library-home-grid .library-home-card,
  .library-home-grid .library-home-card:nth-child(1),
  .library-home-grid .library-home-card:nth-child(2) {
    grid-column: auto;
  }

  .library-home-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .library-masthead.library-home-hero {
    margin: 16px 14px 0;
    padding: 16px;
  }

  .library-home-hero figure,
  .library-home-hero figure img {
    min-height: 220px;
  }

  .library-home-grid {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }

  .library-home-grid .library-home-card,
  .library-home-grid .library-home-card:nth-child(1),
  .library-home-grid .library-home-card:nth-child(2) {
    grid-template-rows: 190px 1fr;
  }
}

/* Blog redesign */
.blog-hero {
  max-width: 1180px;
  margin: 28px auto 0;
  padding: 0 var(--page-x);
  display: grid;
  grid-template-columns: minmax(0, .78fr) minmax(360px, .62fr);
  gap: 20px;
  align-items: stretch;
}

.blog-hero > div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 360px;
  padding: clamp(26px, 4vw, 48px);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(4, 62, 30, .98), rgba(12, 86, 43, .93)),
    #063e20;
  color: #fff;
  box-shadow: 0 22px 52px rgba(20, 42, 28, .13);
}

.blog-hero h1 {
  max-width: 680px;
  margin: 12px 0 14px;
  color: #fff;
  font-size:clamp(2.1rem, 5vw, 4.55rem);
  line-height: .98;
  letter-spacing: 0;
}

.blog-hero p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, .84);
  font-size: 1.04rem;
  line-height: 1.72;
}

.blog-hero article {
  display: grid;
  grid-template-rows: 1fr auto;
  overflow: hidden;
  border-radius: 20px;
  background: #fff;
  border: 1px solid rgba(20, 79, 38, .14);
  box-shadow: 0 18px 42px rgba(38, 55, 25, .08);
}

.blog-hero article img {
  width: 100%;
  height: 100%;
  min-height: 230px;
  object-fit: cover;
}

.blog-hero article div {
  padding: 22px;
}

.blog-hero article span,
.blog-grid article p {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #f8ebd8;
  color: #c66700;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.blog-hero article h2 {
  margin: 0 0 8px;
  color: #102f14;
  font-size:clamp(1.1rem, 2.2vw, 1.75rem);
  line-height: 1.08;
}

.blog-hero article p {
  color: #53604f;
  font-size: .94rem;
}

.post-list.blog-grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 22px var(--page-x) var(--section-y);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.blog-grid article {
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(20, 79, 38, .14);
  box-shadow: 0 16px 36px rgba(38, 55, 25, .07);
  transition: transform .18s ease, box-shadow .18s ease;
}

.blog-grid article:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 44px rgba(38, 55, 25, .11);
}

.blog-grid article img {
  width: 100%;
  height: 170px;
  object-fit: cover;
}

.blog-grid article div {
  padding: 18px;
}

.blog-grid article h2 {
  margin: 0 0 10px;
  color: #102f14;
  font-size:0.93rem;
  line-height: 1.16;
}

.blog-grid article span {
  display: block;
  color: #566451;
  font-size: .9rem;
}

.blog-grid article a {
  display: inline-flex;
  margin-top: 18px;
  color: #0b3d1d;
  font-weight: 900;
  text-decoration: none;
}

.blog-grid article a:hover {
  color: #c66700;
}

@media (max-width: 980px) {
  .blog-hero {
    grid-template-columns: 1fr;
  }

  .blog-hero > div {
    min-height: 280px;
  }

  .post-list.blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .blog-hero {
    padding-inline: 14px;
  }

  .blog-hero > div {
    min-height: 0;
    padding: 24px 18px;
  }

  .post-list.blog-grid {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }
}

/* Photo library gallery refinement */
.gallery-intro {
  max-width: 1180px;
  margin: 24px auto 0;
  padding: clamp(24px, 4vw, 44px) var(--page-x);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(4, 62, 30, .98), rgba(11, 78, 39, .94)),
    #063e20;
  color: #fff;
  box-shadow: 0 22px 52px rgba(20, 42, 28, .12);
}

.gallery-intro h1 {
  max-width: 760px;
  margin: 10px 0 12px;
  color: #fff;
  font-size:clamp(1.95rem, 4.8vw, 3.75rem);
  line-height: 1;
}

.gallery-intro p:not(.eyebrow) {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, .84);
  font-size: 1.04rem;
  line-height: 1.7;
}

.gallery {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px var(--page-x) var(--section-y);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.gallery button {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 34px rgba(38, 55, 25, .08);
}

.gallery button:nth-child(1),
.gallery button:nth-child(10) {
  grid-column: span 2;
  grid-row: span 2;
}

.gallery img {
  width: 100%;
  height: 220px;
  border-radius: 16px;
  object-fit: cover;
  transition: transform .22s ease, filter .22s ease;
}

.gallery button:nth-child(1) img,
.gallery button:nth-child(10) img {
  height: 454px;
}

.gallery button:hover img {
  transform: scale(1.035);
  filter: saturate(1.08);
}

@media (max-width: 980px) {
  .social-feed {
    grid-template-columns: 1fr;
  }

  .social-feed-grid {
    grid-template-columns: 1fr;
  }

  .social-tab-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gallery button:nth-child(1),
  .gallery button:nth-child(10) {
    grid-column: span 2;
  }
}

@media (max-width: 560px) {
  .social-feed {
    margin-inline: 14px;
    padding: 24px 16px;
    border-radius: 14px;
  }

  .facebook-frame {
    min-height: 430px;
  }

  .facebook-frame iframe,
  .instagram-frame iframe {
    min-height: 500px;
  }

  .social-tab-grid {
    grid-template-columns: 1fr;
  }

  .social-tab {
    aspect-ratio: auto;
    min-height: 260px;
  }

  .gallery-intro {
    margin: 16px 14px 0;
    padding: 24px 18px;
  }

  .gallery {
    grid-template-columns: 1fr;
    padding-inline: 14px;
  }

  .gallery button:nth-child(1),
  .gallery button:nth-child(10) {
    grid-column: auto;
    grid-row: auto;
  }

  .gallery img,
  .gallery button:nth-child(1) img,
  .gallery button:nth-child(10) img {
    height: 235px;
  }
}

/* Final blog card layout matching the SDG-style records. */
.blog-head {
  max-width: 1180px;
  margin: 28px auto 0;
  padding: 34px var(--page-x) 10px;
}

.blog-head h1 {
  margin: 8px 0 8px;
  color: #0b3767;
  font-size:clamp(2.1rem, 5vw, 4.15rem);
  line-height: 1;
}

.blog-head p:not(.eyebrow) {
  max-width: 680px;
  margin: 0;
  color: #59645a;
  font-size: 1.02rem;
}

.post-list.blog-grid.blog-record-grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 20px var(--page-x) var(--section-y);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.blog-record-grid article {
  min-height: 300px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(20, 79, 38, .14);
  box-shadow: 0 18px 42px rgba(38, 55, 25, .07);
  transition: transform .18s ease, box-shadow .18s ease;
}

.blog-record-grid article:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 50px rgba(38, 55, 25, .1);
}

.blog-record-grid article img {
  display: none;
}

.blog-record-grid .blog-card-body {
  flex: 1;
  padding: clamp(22px, 3vw, 30px);
}

.blog-record-grid h2 {
  margin: 0 0 14px;
  color: #0b3767;
  font-size:clamp(1rem, 2vw, 1.35rem);
  line-height: 1.22;
}

.blog-record-grid .blog-card-body > p {
  margin: 0;
  color: #59645a;
  font-size: 1rem;
  line-height: 1.65;
}

.blog-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.blog-tags span,
.blog-grid.blog-record-grid article p {
  display: inline-flex;
  width: fit-content;
  margin: 0;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eaf3e8;
  color: #043e20;
  font-size: .84rem;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}

.blog-record-grid footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 clamp(22px, 3vw, 30px) clamp(22px, 3vw, 28px);
}

.blog-record-grid footer a {
  color: #d46900;
  font-size: 1.02rem;
  font-weight: 900;
  text-decoration: none;
}

.blog-record-grid footer a:hover {
  color: #0b3767;
}

.blog-record-grid footer span {
  color: #516055;
  font-size: .92rem;
  font-weight: 800;
  text-align: right;
}

@media (max-width: 780px) {
  .post-list.blog-grid.blog-record-grid {
    grid-template-columns: 1fr;
  }

  .blog-record-grid article {
    min-height: 0;
  }
}

@media (max-width: 520px) {
  .blog-head {
    padding-inline: 14px;
  }

  .post-list.blog-grid.blog-record-grid {
    padding-inline: 14px;
  }

  .blog-record-grid footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .blog-record-grid footer span {
    text-align: left;
  }
}

/* Final homepage hero: full image behind centered words, matching the requested reference. */
body:has(.home-landing) .home-landing {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  padding: clamp(118px, 16vh, 172px) var(--page-x) clamp(72px, 10vh, 112px) !important;
  text-align: center !important;
}

body:has(.home-landing) .hero-inner {
  display: block !important;
  width: min(100%, 1080px) !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}

body:has(.home-landing) .home-landing .hero-copy {
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body:has(.home-landing) .home-landing h1 {
  width: 100% !important;
  max-width: 1040px !important;
  margin: 24px auto 18px !important;
  font-size:clamp(39px, 6.7vw, 83px) !important;
  line-height: .98 !important;
  text-align: center !important;
}

body:has(.home-landing) .home-landing p {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body:has(.home-landing) .home-landing .hero-actions,
body:has(.home-landing) .hero-dots {
  justify-content: center !important;
}

body:has(.home-landing) .hero-slideshow img {
  object-position: var(--hero-position, center 58%) !important;
  transform: scale(1.12) !important;
  filter: saturate(1.08) contrast(1.04) brightness(1.06) !important;
  animation-delay: calc(var(--slide-index) * -6s) !important;
}

body:has(.home-landing) .home-landing::after {
  background:
    linear-gradient(rgba(0, 0, 0, .34), rgba(0, 0, 0, .44)),
    linear-gradient(90deg, rgba(2, 18, 10, .14), rgba(2, 18, 10, .04)) !important;
}

body:has(.home-landing) .hero-photo-stack,
body:has(.home-landing) .landing-steps {
  display: none !important;
}

@media (max-width: 720px) {
  body:has(.home-landing) .home-landing {
    min-height: 86vh !important;
    padding-top: 108px !important;
    padding-bottom: 58px !important;
  }

  body:has(.home-landing) .home-landing h1 {
    font-size:clamp(34px, 12vw, 54px) !important;
  }
}

.page-home .topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 30;
  border-bottom: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  box-shadow: none;
}

.page-home .brand strong,
.page-home .site-nav a,
.page-home .site-nav button {
  color: #fff;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .42);
}

.page-home .brand em {
  color: #f4ba41;
}

.page-home .site-nav a.active,
.page-home .site-nav a:hover,
.page-home .site-nav button:hover,
.page-home .site-nav button.active-parent {
  background: #f4ba41;
  color: #12361f;
  text-shadow: none;
}

.page-home .home-landing {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 100vh !important;
  padding: clamp(118px, 16vh, 172px) var(--page-x) clamp(72px, 10vh, 112px) !important;
  background-image:
    linear-gradient(rgba(0, 0, 0, .28), rgba(0, 0, 0, .38)),
    var(--hero-image) !important;
  background-position: center 58% !important;
  background-size: cover !important;
  text-align: center !important;
}

.page-home .hero-slideshow {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.page-home .hero-inner {
  position: absolute !important;
  top: 52% !important;
  left: 50% !important;
  z-index: 2 !important;
  display: block !important;
  width: min(92vw, 1040px) !important;
  max-width: 1040px !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
}

.page-home .home-landing .hero-copy {
  width: 100% !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.page-home .home-landing h1 {
  width: 100% !important;
  max-width: 1040px !important;
  margin: 24px auto 18px !important;
  font-size:clamp(39px, 6.7vw, 83px) !important;
  line-height: .98 !important;
  text-align: center !important;
}

.page-home .home-landing p {
  max-width: 780px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.page-home .home-landing .hero-actions,
.page-home .hero-dots {
  justify-content: center !important;
}

body.page-home .home-landing .hero-slideshow img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  object-position: var(--hero-position, center 52%) !important;
  transform: scale(1.12) !important;
  filter: saturate(1.03) contrast(1.02) brightness(.84) !important;
  animation-delay: calc(var(--slide-index) * -6s) !important;
}

body.page-home .home-landing::after {
  background:
    linear-gradient(rgba(0, 0, 0, .44), rgba(0, 0, 0, .56)),
    linear-gradient(90deg, rgba(2, 18, 10, .24), rgba(2, 18, 10, .10)) !important;
}

.page-home .site-nav .has-menu ul {
  background: rgba(255, 255, 255, .98) !important;
  border: 1px solid rgba(18, 54, 31, .14) !important;
  box-shadow: 0 24px 58px rgba(0, 0, 0, .24) !important;
}

.page-home .site-nav .has-menu ul a,
.page-home .site-nav .has-menu ul a:visited {
  display: block !important;
  color: #12361f !important;
  background: transparent !important;
  text-shadow: none !important;
}

.page-home .site-nav .has-menu ul a:hover,
.page-home .site-nav .has-menu ul a:focus {
  background: rgba(244, 186, 65, .20) !important;
  color: #0b2b18 !important;
}

.page-home .hero-photo-stack,
.page-home .landing-steps {
  display: none !important;
}

@media (max-width: 980px) {
  .page-home .site-nav {
    background: rgba(8, 41, 25, .96);
    border-bottom-color: rgba(255, 255, 255, .12);
  }
}

@media (max-width: 720px) {
  .page-home .home-landing {
    min-height: 86vh !important;
    padding-top: 108px !important;
    padding-bottom: 58px !important;
  }

  .page-home .home-landing h1 {
    font-size:clamp(34px, 12vw, 54px) !important;
  }
}

/* Production hardening/accessibility additions */
.skip-link{position:fixed;left:12px;top:12px;z-index:99999;padding:10px 14px;background:#fff;color:#0f315f;border-radius:8px;transform:translateY(-160%);box-shadow:0 8px 24px rgba(0,0,0,.2)}.skip-link:focus{transform:translateY(0)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form label{display:block;font-weight:800;margin:10px 0 5px}.form input,.form textarea,.form select{width:100%;box-sizing:border-box}.form-status{padding:10px 12px;border-radius:8px;background:#e5f6e9;color:#155f2b;font-weight:700}.form-status.error{background:#ffe7e7;color:#8b1d1d}.modal-open{overflow:hidden}.blog-article{max-width:900px;margin-left:auto;margin-right:auto}.blog-article>img{width:100%;max-height:520px;object-fit:cover;border-radius:16px;margin:12px 0 20px}.shop-grid:empty::after{content:'No products are currently published. Please contact Flamingo Rovers for current availability.';display:block;padding:24px;border:1px dashed #cfd9d1;border-radius:14px;color:#65736b}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.hero-slideshow img{animation:none!important}}


/* Footer administration shortcut */
.footer-copyright {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.footer-manage-link {
  color: rgba(255, 255, 255, .82);
  text-decoration: none;
  font-weight: 700;
  padding-left: 8px;
  border-left: 1px solid rgba(255, 255, 255, .28);
}

.footer-manage-link:hover,
.footer-manage-link:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* 2026-09-06 final consistency: one typeface across the public website. */
html,
body,
button,
input,
select,
textarea,
optgroup,
option {
  font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.brand,
.site-nav,
.btn,
.eyebrow {
  font-family: "Instrument Sans", "Segoe UI", Arial, sans-serif !important;
}

/* Social feeds: give embeds more breathing room without becoming oversized. */
.social-tabs-section {
  max-width: 1480px;
  margin-inline: auto;
  padding-inline: clamp(18px, 4vw, 54px);
}

.social-tab-grid {
  gap: clamp(16px, 1.7vw, 24px);
}

.social-tab {
  aspect-ratio: auto;
  min-height: 390px;
  padding: 16px;
  gap: 12px;
}

.social-tab strong {
  font-size: 1.02rem;
}

.social-tab p {
  font-size: .82rem;
  line-height: 1.45;
}

.social-preview {
  height: 220px;
  min-height: 220px;
}

.social-preview iframe {
  width: 100% !important;
  height: 100% !important;
}

.x-preview {
  min-height: 220px;
  padding: 12px;
}

.social-open {
  font-size: .8rem;
}

@media (max-width: 1180px) {
  .social-tab-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .social-tab-grid {
    grid-template-columns: 1fr;
  }

  .social-tab {
    min-height: 370px;
  }

  .social-preview,
  .x-preview {
    height: 210px;
    min-height: 210px;
  }
}

/* ============================================================
   Library visual refresh — light editorial media centre
   Keeps Flamingo brand accents without large solid-green panels.
   ============================================================ */
body:has(.library-masthead),
body:has(.gallery-intro),
body:has(.library-shell) {
  background:
    radial-gradient(circle at 8% 10%, rgba(251,186,49,.08), transparent 22rem),
    radial-gradient(circle at 92% 28%, rgba(83,45,105,.045), transparent 24rem),
    #fbfaf6;
}

.library-masthead,
.library-masthead.library-home-hero,
.library-masthead.library-sub-hero {
  position: relative;
  overflow: hidden;
  max-width: 1180px;
  margin: 26px auto 0;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(11,54,93,.10);
  border-radius: 22px;
  background: #fff;
  color: #0b365d;
  box-shadow: 0 18px 48px rgba(20,38,56,.08);
}

.library-masthead::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 4px;
  background: linear-gradient(90deg, #0b365d 0 40%, #f2a900 40% 72%, #175d38 72% 100%);
}

.library-masthead::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  right: -110px;
  top: -125px;
  border-radius: 50%;
  border: 34px solid rgba(242,169,0,.075);
  pointer-events: none;
}

.library-masthead h1,
.library-home-hero h1,
.library-sub-hero h1 {
  position: relative;
  z-index: 1;
  margin: 10px 0 12px;
  color: #0b365d;
  font-size: clamp(2rem, 4.4vw, 3.55rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.library-masthead p,
.library-home-hero p,
.library-sub-hero p {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0;
  color: #5a6670;
  font-size: 1rem;
  line-height: 1.7;
}

.library-masthead .eyebrow,
.gallery-intro .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid rgba(242,169,0,.25);
  border-radius: 999px;
  background: #fff8e8;
  color: #a66100;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.library-masthead .eyebrow::before,
.gallery-intro .eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f2a900;
}

.library-masthead.library-home-hero {
  grid-template-columns: minmax(0, 1fr) minmax(300px, .66fr);
  gap: clamp(24px, 4vw, 46px);
  align-items: center;
}

.library-home-hero > div {
  padding: 0;
}

.library-home-hero figure {
  position: relative;
  min-height: 300px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(11,54,93,.08);
  border-radius: 18px;
  background: #f2f4f5;
  box-shadow: none;
}

.library-home-hero figure img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
}

.library-home-hero figcaption {
  left: 12px;
  right: auto;
  bottom: 12px;
  max-width: calc(100% - 24px);
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 10px;
  background: rgba(8,31,50,.76);
  backdrop-filter: blur(9px);
  color: #fff;
  font-size: .78rem;
  font-weight: 650;
}

.library-hero-actions {
  margin-top: 24px;
}

.library-hero-actions .btn {
  background: #0b365d;
  color: #fff;
  border-color: #0b365d;
}

.library-hero-actions .ghost {
  background: #fff;
  color: #0b365d;
  border: 1px solid rgba(11,54,93,.18);
}

.library-nav-strip {
  max-width: 1180px;
  margin: 14px auto 16px;
  padding: 0 var(--page-x);
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.library-nav-strip a {
  position: relative;
  min-height: 72px;
  padding: 13px 14px;
  border: 1px solid rgba(11,54,93,.10);
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  color: #0b365d;
  box-shadow: 0 8px 24px rgba(20,38,56,.045);
}

.library-nav-strip a::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: -1px;
  height: 3px;
  border-radius: 4px 4px 0 0;
  background: transparent;
}

.library-nav-strip a:hover {
  transform: translateY(-2px);
  background: #fff;
  color: #0b365d;
  border-color: rgba(11,54,93,.22);
}

.library-nav-strip a.active {
  transform: none;
  background: #f5f8fb;
  color: #0b365d;
  border-color: rgba(11,54,93,.22);
  box-shadow: inset 0 0 0 1px rgba(11,54,93,.03);
}

.library-nav-strip a.active::after {
  background: linear-gradient(90deg, #f2a900, #175d38);
}

.library-nav-strip span,
.library-nav-strip a:hover span,
.library-nav-strip a.active span {
  color: #a66100;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .07em;
}

.library-nav-strip strong {
  margin-top: 5px;
  color: inherit;
  font-size: .88rem;
  font-weight: 720;
}

.gallery-intro {
  position: relative;
  overflow: hidden;
  max-width: 1180px;
  margin: 26px auto 0;
  padding: clamp(26px, 4vw, 42px) clamp(24px, 4vw, 46px);
  border: 1px solid rgba(11,54,93,.09);
  border-radius: 20px;
  background:
    linear-gradient(120deg, rgba(255,248,232,.65), rgba(255,255,255,.96) 38%),
    #fff;
  color: #0b365d;
  box-shadow: 0 14px 38px rgba(20,38,56,.055);
}

.gallery-intro::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 5px;
  background: linear-gradient(180deg, #f2a900, #175d38);
}

.gallery-intro h1,
.gallery-intro h2 {
  max-width: 760px;
  margin: 12px 0 10px;
  color: #0b365d;
  font-size: clamp(1.75rem, 3.8vw, 2.65rem);
  line-height: 1.06;
  letter-spacing: -.025em;
}

.gallery-intro p:not(.eyebrow) {
  max-width: 820px;
  margin: 0;
  color: #58656e;
  font-size: 1rem;
  line-height: 1.72;
}

.gallery {
  padding-top: 20px;
  gap: 12px;
}

.gallery button {
  border: 1px solid rgba(11,54,93,.08);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(20,38,56,.065);
  transition: transform .18s ease, box-shadow .18s ease;
}

.gallery button:hover {
  transform: translateY(-3px);
  box-shadow: 0 17px 36px rgba(20,38,56,.12);
}

.gallery button img {
  transition: transform .3s ease;
}

.gallery button:hover img {
  transform: scale(1.025);
}

/* Other library content panels: neutral surfaces with restrained brand accents. */
.library-shell,
.library-content,
.video-library-grid article,
.audio-library-card,
.books-grid article,
.site-library-grid article {
  border-color: rgba(11,54,93,.09);
}

.library-shell,
.audio-library-card,
.video-library-grid article,
.books-grid article,
.site-library-grid article {
  background: #fff;
  box-shadow: 0 12px 34px rgba(20,38,56,.055);
}

.library-tabs button.active,
.library-tabs button:hover {
  background: #0b365d;
  color: #fff;
  border-color: #0b365d;
}

@media (max-width: 860px) {
  .library-masthead.library-home-hero {
    grid-template-columns: 1fr;
  }

  .library-home-hero figure,
  .library-home-hero figure img {
    min-height: 240px;
  }

  .library-nav-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .library-masthead,
  .library-masthead.library-home-hero,
  .library-masthead.library-sub-hero,
  .gallery-intro {
    margin-top: 14px;
    border-radius: 16px;
  }

  .library-nav-strip {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .library-nav-strip a {
    min-height: 66px;
    padding: 11px 12px;
  }

  .gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Library refinement — compact header/navigation and media-first gallery. */
.library-masthead.library-sub-hero {
  min-height: 0;
  max-width: 1180px;
  margin: 18px auto 0;
  padding: 22px 28px 20px;
  border-radius: 16px;
}

.library-masthead.library-sub-hero > div {
  max-width: 820px;
}

.library-masthead.library-sub-hero .eyebrow {
  margin-bottom: 7px;
}

.library-masthead.library-sub-hero h1 {
  margin: 0 0 5px;
  font-size: clamp(1.8rem, 3.2vw, 2.55rem);
  line-height: 1.02;
}

.library-masthead.library-sub-hero p:not(.eyebrow) {
  margin: 0;
  font-size: .92rem;
  line-height: 1.5;
}

.library-nav-strip {
  margin-top: 9px;
  margin-bottom: 12px;
  gap: 8px;
}

.library-nav-strip a {
  min-height: 50px;
  padding: 9px 12px;
  border-radius: 11px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.library-nav-strip span,
.library-nav-strip a:hover span,
.library-nav-strip a.active span {
  font-size: .61rem;
  line-height: 1;
}

.library-nav-strip strong {
  margin-top: 4px;
  font-size: .8rem;
  line-height: 1.15;
}

/* The former second Photo Library intro card is intentionally removed. */
.gallery-intro { display: none !important; }

.website-media-gallery {
  max-width: 1180px;
  margin: 18px auto 0;
  padding: 0 var(--page-x) 26px;
}

@media (max-width: 860px) {
  .library-masthead.library-sub-hero {
    padding: 18px 20px 17px;
  }
  .library-nav-strip a { min-height: 48px; }
}

@media (max-width: 520px) {
  .library-masthead.library-sub-hero {
    margin-top: 10px;
    padding: 16px 17px 15px;
  }
  .library-nav-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .library-nav-strip a {
    min-height: 45px;
    padding: 8px 10px;
  }
  .website-media-gallery {
    margin-top: 12px;
  }
}

/* ============================================================
   2026-09-06 — LIGHT CONTENT SURFACE STANDARD
   Large solid-green content panels are intentionally retired.
   Green remains an accent; main content surfaces stay light.
   ============================================================ */

/* Icons8 social icon normalization retained from the social icon update. */
.social-icon,
.social-brand-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.social-icon img,
.social-brand-icon img {
  display: block;
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.social-tab-head .social-brand-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(10, 32, 55, .12);
}
.social-tab-head .social-brand-icon img { width: 26px; height: 26px; }
.footer-social .social-icon {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #fff;
  padding: 3px;
}
.footer-social .social-icon img { width: 26px; height: 26px; }
.icons8-credit {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  opacity: .82;
}
.icons8-credit:hover { opacity: 1; }

/* Shared light panel language */
.library-masthead,
.library-masthead.library-home-hero,
.library-masthead.library-sub-hero,
.library-feature-row article,
.blog-hero > div,
.social-feed,
.audio-only-anthem,
.activity-panel,
.activity-widgets article {
  background: #fff !important;
  color: #0b365d !important;
  border: 1px solid rgba(11, 54, 93, .10) !important;
  box-shadow: 0 14px 38px rgba(20, 38, 56, .055) !important;
}

/* Library: compact, clean, media-first. */
.library-masthead.library-sub-hero {
  min-height: 0 !important;
  max-width: 1180px;
  margin: 16px auto 0 !important;
  padding: 20px 26px 18px !important;
  border-radius: 16px !important;
  position: relative;
  overflow: hidden;
}
.library-masthead.library-sub-hero::before,
.library-masthead.library-home-hero::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #f2a900, #175d38);
}
.library-masthead h1,
.library-home-hero h1,
.library-sub-hero h1 {
  color: #0b365d !important;
}
.library-masthead p,
.library-home-hero p,
.library-sub-hero p:not(.eyebrow) {
  color: #5a6670 !important;
}
.library-home-hero .ghost {
  background: #f5f7f9 !important;
  color: #0b365d !important;
  border-color: rgba(11, 54, 93, .12) !important;
}
.library-nav-strip {
  margin-top: 8px !important;
  margin-bottom: 12px !important;
  gap: 8px !important;
}
.library-nav-strip a {
  min-height: 48px !important;
  padding: 8px 11px !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #0b365d !important;
  border: 1px solid rgba(11,54,93,.10) !important;
  box-shadow: 0 8px 20px rgba(20,38,56,.045) !important;
}
.library-nav-strip a:hover,
.library-nav-strip a.active {
  transform: translateY(-1px);
  background: #f3f6f9 !important;
  color: #0b365d !important;
  border-color: rgba(242,169,0,.5) !important;
  box-shadow: inset 0 -3px 0 #f2a900, 0 8px 20px rgba(20,38,56,.06) !important;
}
.library-nav-strip span,
.library-nav-strip a:hover span,
.library-nav-strip a.active span {
  color: #b66b00 !important;
  font-size: .61rem !important;
}
.library-nav-strip strong { font-size: .8rem !important; }
.library-feature-row article h2 { color: #0b365d !important; }
.library-feature-row article p { color: #5a6670 !important; }

/* This duplicate gallery information panel must stay removed. */
.gallery-intro { display: none !important; }
.website-media-gallery {
  max-width: 1180px;
  margin: 14px auto 0;
  padding: 0 var(--page-x) 30px;
}

/* Activities: no solid green stage/cards. */
.activity-panel h3 { color: #0b365d !important; }
.activity-panel p { color: #56636d !important; }
.activity-panel span {
  background: #fff6df !important;
  color: #a86000 !important;
}
.activity-panel .btn {
  background: #0b365d !important;
  color: #fff !important;
}
.activity-widgets article {
  border-radius: 14px;
}
.activity-widgets strong { color: #bd7200 !important; }
.activity-widgets span { color: #5b6670 !important; }
.activities-hub .section-heading::after {
  background: #fff6df !important;
  color: #a86000 !important;
  border: 1px solid rgba(242,169,0,.28);
}
.activity-tabs button:hover,
.activity-tabs button.active {
  background: #0b365d !important;
  color: #fff !important;
  border-color: #0b365d !important;
}
.activity-tabs button:hover span,
.activity-tabs button.active span {
  background: #f2a900 !important;
  color: #0b365d !important;
}

/* Blog: light editorial header rather than a green slab. */
.blog-hero > div {
  position: relative;
  overflow: hidden;
}
.blog-hero > div::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, #0b365d, #f2a900, #175d38);
}
.blog-hero h1 { color: #0b365d !important; }
.blog-hero > div > p:not(.eyebrow) { color: #59656e !important; }

/* Social feeds: light card system. */
.social-feed {
  text-align: left !important;
}
.social-feed h2 { color: #0b365d !important; }
.social-feed p { color: #59656e !important; }

/* Audio library: white card with restrained brand accents. */
.audio-only-anthem .anthem-copy h2 { color: #0b365d !important; }
.audio-only-anthem .anthem-copy p { color: #59656e !important; }
.audio-only-anthem .eyebrow {
  background: #fff6df !important;
  color: #a86000 !important;
}

@media (max-width: 560px) {
  .library-masthead.library-sub-hero {
    margin: 10px 14px 0 !important;
    padding: 16px 17px 15px !important;
  }
  .library-nav-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: 14px;
  }
  .library-nav-strip a {
    min-height: 44px !important;
    padding: 7px 9px !important;
  }
}

/* ============================================================
   2026-09-07 — CLEAN FOOTER SOCIAL ICONS
   Transparent Icons8 marks + full platform names.
   ============================================================ */
.footer-social .socials {
  grid-template-columns: repeat(2, minmax(112px, 1fr));
  gap: 8px 10px;
}

.footer-social .socials a {
  min-width: 0;
  width: 100%;
  gap: 9px;
  padding: 7px 8px;
}

.footer-social .social-icon {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.footer-social .social-icon img {
  display: block;
  width: 26px !important;
  height: 26px !important;
  max-width: 26px;
  object-fit: contain;
  background: transparent !important;
  border-radius: 0 !important;
}

.footer-social .socials a > span:last-child {
  min-width: max-content;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  font-size: 12px;
}

@media (max-width: 520px) {
  .footer-social .socials {
    grid-template-columns: repeat(2, minmax(108px, 1fr));
  }
}

@media (max-width: 360px) {
  .footer-social .socials {
    grid-template-columns: 1fr;
  }
}


/* Dedicated activity Read More pages */
.activity-detail-page{max-width:1180px;margin:0 auto;padding:34px 22px 64px}
.activity-detail-breadcrumb{margin-bottom:16px}.activity-detail-breadcrumb a{font-weight:700;color:#123d67;text-decoration:none}.activity-detail-breadcrumb a:hover{text-decoration:underline}
.activity-detail-card{overflow:hidden;background:#fff;border:1px solid rgba(18,61,103,.14);border-radius:22px;box-shadow:0 18px 48px rgba(18,61,103,.08)}
.activity-detail-media{background:#f4f6f8;max-height:620px;overflow:hidden}.activity-detail-media img{display:block;width:100%;max-height:620px;object-fit:cover}
.activity-detail-content{padding:clamp(24px,4vw,52px)}.activity-detail-content h1{margin:.25rem 0 1rem;color:#123d67}
.activity-detail-summary{max-width:900px;font-size:1.08rem;line-height:1.75;color:#465466;border-left:3px solid #e4a900;padding-left:18px;margin:0 0 28px}.activity-detail-body{max-width:900px}.activity-detail-body p{line-height:1.82;color:#303b49;margin:0 0 1.25rem}
@media(max-width:700px){.activity-detail-page{padding:20px 14px 46px}.activity-detail-card{border-radius:16px}.activity-detail-content{padding:22px 18px}.activity-detail-media img{max-height:360px}}


/* Blog article reader */
.blog-reader-page{max-width:1120px;margin:0 auto;padding:34px 22px 68px}
.blog-reader-back{margin-bottom:18px}
.blog-reader-back a{color:#0f3f6f;font-weight:700;text-decoration:none}
.blog-reader-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid rgba(18,52,86,.14);border-radius:22px;overflow:hidden;box-shadow:0 16px 40px rgba(25,45,70,.08)}
.blog-reader-cover{margin:0;background:#f4f5f2;border-bottom:1px solid rgba(18,52,86,.1)}
.blog-reader-cover img{display:block;width:100%;max-height:520px;object-fit:cover}
.blog-reader-header{padding:38px 44px 24px}
.blog-reader-header h1{margin:10px 0 12px;color:#0b3f72;line-height:1.08}
.blog-reader-meta{display:flex;flex-wrap:wrap;gap:10px 18px;color:#66717f;font-size:.94rem}
.blog-reader-meta span+span{position:relative}
.blog-reader-meta span+span:before{content:"•";position:absolute;left:-12px;color:#d99000}
.blog-reader-summary{margin:22px 0 0;font-size:1.12rem;line-height:1.75;color:#3b4654}
.blog-reader-body{padding:2px 44px 40px;color:#263342;font-size:1.06rem;line-height:1.88}
.blog-reader-body p{margin:0 0 1.25em}
.blog-reader-footer{padding:0 44px 42px}
@media(max-width:700px){.blog-reader-page{padding:20px 14px 48px}.blog-reader-card{border-radius:16px}.blog-reader-header{padding:26px 20px 18px}.blog-reader-body{padding:0 20px 28px}.blog-reader-footer{padding:0 20px 28px}.blog-reader-meta span+span:before{display:none}}


/* ---- blog-typography-redesign.css ---- */
/* ===================================================================
   FLAMINGO BLOG - MODERN TYPOGRAPHY & REDESIGN
   Modern Sans-Serif System: Poppins (Headings) + Inter (Body)
   ==================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap');

/* ===================================================================
   TYPOGRAPHY FOUNDATION
   ==================================================================== */

:root {
  /* Typography Scale */
  --font-sans-display: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-sans-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  
  /* Font Weights */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;
  
  /* Line Heights */
  --leading-tight: 1.2;
  --leading-normal: 1.5;
  --leading-relaxed: 1.75;
}

/* Global Typography */
body {
  font-family: var(--font-sans-body);
  font-weight: var(--weight-regular);
  line-height: var(--leading-normal);
}

h1, h2, h3, h4, h5, h6,
.eyebrow,
button,
a[class*="btn"] {
  font-family: var(--font-sans-display);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: -0.01em;
}

p, span, a, li, label, input, textarea {
  font-family: var(--font-sans-body);
  line-height: var(--leading-normal);
}

/* ===================================================================
   BLOG PAGE HEADER SECTION
   ==================================================================== */

.blog-head {
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px clamp(18px, 5vw, 72px) 32px;
  text-align: center;
}

.blog-head .eyebrow {
  font-family: var(--font-sans-body);
  font-size: 0.85rem;
  font-weight: var(--weight-extrabold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 14px;
}

.blog-head h1 {
  font-family: var(--font-sans-display);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: var(--weight-extrabold);
  color: var(--green);
  margin: 0 0 16px;
  line-height: 1.1;
}

.blog-head p {
  font-family: var(--font-sans-body);
  font-size: clamp(1rem, 2vw, 1.125rem);
  color: var(--muted);
  max-width: 680px;
  margin: 0 auto;
  font-weight: var(--weight-regular);
  line-height: var(--leading-relaxed);
}

/* ===================================================================
   BLOG GRID - ARTICLE CARDS
   ==================================================================== */

.post-list.blog-grid.blog-record-grid {
  max-width: 1180px;
  margin: 0 auto;
  padding: 28px clamp(18px, 5vw, 72px) 64px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.blog-record-grid article {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 8px rgba(16, 32, 24, 0.04);
}

.blog-record-grid article:hover {
  border-color: var(--green);
  box-shadow: 0 12px 32px rgba(18, 107, 58, 0.12);
  transform: translateY(-4px);
}

.blog-record-grid article img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  background: var(--shade);
}

.blog-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 24px;
}

.blog-record-grid h2 {
  font-family: var(--font-sans-display);
  font-size: clamp(1.15rem, 2vw, 1.375rem);
  font-weight: var(--weight-bold);
  color: var(--green);
  margin: 0 0 12px;
  line-height: 1.3;
  transition: color 0.3s ease;
}

.blog-record-grid article:hover h2 {
  color: var(--leaf);
}

.blog-record-grid .blog-card-body > p {
  font-family: var(--font-sans-body);
  font-size: 0.95rem;
  color: var(--muted);
  margin: 0 0 16px;
  flex: 1;
  line-height: var(--leading-relaxed);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.blog-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  align-items: flex-end;
}

.blog-tags span,
.blog-grid.blog-record-grid article p.blog-meta {
  display: inline-flex;
  width: fit-content;
  padding: 4px 10px;
  border-radius: 6px;
  background: #f8ebd8;
  color: #c66700;
  font-family: var(--font-sans-body);
  font-size: 0.75rem;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.blog-record-grid footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.blog-record-grid footer a {
  font-family: var(--font-sans-display);
  font-size: 0.9rem;
  font-weight: var(--weight-bold);
  color: var(--green);
  text-decoration: none;
  transition: all 0.3s ease;
}

.blog-record-grid footer a:hover {
  color: var(--gold);
  text-decoration: underline;
}

.blog-record-grid footer span {
  font-family: var(--font-sans-body);
  font-size: 0.85rem;
  font-weight: var(--weight-medium);
  color: var(--muted);
}

/* ===================================================================
   BLOG READER PAGE (Individual Post)
   ==================================================================== */

.blog-reader-page {
  max-width: 860px;
  margin: 0 auto;
  padding: 44px clamp(18px, 5vw, 72px);
}

.blog-reader-back {
  margin-bottom: 28px;
}

.blog-reader-back a {
  font-family: var(--font-sans-body);
  font-size: 0.95rem;
  font-weight: var(--weight-medium);
  color: var(--green);
  text-decoration: none;
  transition: color 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.blog-reader-back a:hover {
  color: var(--gold);
}

.blog-reader-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(16, 32, 24, 0.06);
}

.blog-reader-cover {
  margin: 0;
  width: 100%;
  aspect-ratio: 16 / 9;
}

.blog-reader-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-reader-header {
  padding: 40px clamp(24px, 5vw, 48px) 28px;
}

.blog-reader-header .eyebrow {
  font-family: var(--font-sans-body);
  font-size: 0.8rem;
  font-weight: var(--weight-extrabold);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}

.blog-reader-header h1 {
  font-family: var(--font-sans-display);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  font-weight: var(--weight-extrabold);
  color: var(--green);
  margin: 0 0 20px;
  line-height: 1.2;
}

.blog-reader-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.blog-reader-meta span {
  font-family: var(--font-sans-body);
  font-size: 0.9rem;
  color: var(--muted);
  font-weight: var(--weight-medium);
  display: inline-flex;
  align-items: center;
}

.blog-reader-summary {
  font-family: var(--font-sans-body);
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  font-weight: var(--weight-medium);
  color: var(--green);
  line-height: var(--leading-relaxed);
  margin: 16px 0 0;
}

.blog-reader-body {
  padding: 0 clamp(24px, 5vw, 48px) 40px;
}

.blog-reader-body p {
  font-family: var(--font-sans-body);
  font-size: 1rem;
  line-height: var(--leading-relaxed);
  color: var(--muted);
  margin-bottom: 20px;
}

.blog-reader-body p:first-child {
  font-size: 1.05rem;
  font-weight: var(--weight-medium);
  color: var(--ink);
}

.blog-reader-footer {
  padding: 24px clamp(24px, 5vw, 48px);
  border-top: 1px solid var(--line);
  text-align: center;
}

/* ===================================================================
   FOOTER ENHANCEMENTS
   ==================================================================== */

.footer {
  background: #102018;
  color: #fff;
  border-top: 2px solid var(--green);
}

.footer h2 {
  font-family: var(--font-sans-display);
  font-size: 1rem;
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 16px;
  color: #fff;
}

.footer-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  margin-bottom: 16px;
}

.footer-logo span {
  display: flex;
  flex-direction: column;
}

.footer-logo strong {
  font-family: var(--font-sans-display);
  font-weight: var(--weight-bold);
  font-size: 0.95rem;
  color: #fff;
}

.footer-logo em {
  font-family: var(--font-sans-body);
  font-style: normal;
  font-weight: var(--weight-medium);
  font-size: 0.8rem;
  color: #a8bfaa;
}

.footer a,
.footer p {
  font-family: var(--font-sans-body);
  color: #d7e5d8;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer a:hover {
  color: var(--gold);
  text-decoration: underline;
}

.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-contact a,
.footer-contact span {
  font-family: var(--font-sans-body);
  font-size: 0.9rem;
  color: #d7e5d8;
}

.socials {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.socials a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: var(--weight-medium);
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 18px;
  margin-top: 24px;
  font-family: var(--font-sans-body);
  font-size: 0.85rem;
  color: #a8bfaa;
  text-align: center;
}

.footer-copyright {
  display: block;
  margin-top: 8px;
}

.icons8-credit {
  color: #a8bfaa;
}

.footer-manage-link {
  color: var(--gold);
  font-weight: var(--weight-bold);
}

/* ===================================================================
   RESPONSIVE DESIGN
   ==================================================================== */

@media (max-width: 980px) {
  .post-list.blog-grid.blog-record-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
  }
  
  .blog-record-grid article img {
    height: 180px;
  }
  
  .blog-reader-page {
    padding: 32px clamp(16px, 4vw, 48px);
  }
  
  .blog-reader-header {
    padding: 32px clamp(20px, 4vw, 36px) 24px;
  }
  
  .blog-reader-body {
    padding: 0 clamp(20px, 4vw, 36px) 32px;
  }
}

@media (max-width: 680px) {
  .blog-head {
    padding: 44px clamp(16px, 4vw, 48px) 24px;
  }
  
  .blog-head h1 {
    font-size: clamp(1.75rem, 4.5vw, 2.25rem);
  }
  
  .post-list.blog-grid.blog-record-grid {
    grid-template-columns: 1fr;
    padding: 24px clamp(16px, 4vw, 48px) 48px;
  }
  
  .blog-record-grid article img {
    height: 220px;
  }
  
  .blog-reader-meta {
    flex-direction: column;
    gap: 8px;
  }
  
  .blog-record-grid footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  
  .blog-reader-body p {
    font-size: 0.95rem;
  }
}

/* ===================================================================
   PRINT STYLES
   ==================================================================== */

@media print {
  .blog-reader-page,
  .blog-reader-card {
    box-shadow: none;
    border: none;
  }
  
  .blog-reader-footer,
  .footer {
    display: none;
  }
}


/* ---- blog-card-redesign.css ---- */
/* Flamingo Blog Card & Content Redesign */
:root{
  --blog-green:#126b3a;--blog-leaf:#66a93f;--blog-gold:#b67521;--blog-ink:#102018;--blog-muted:#5c6a60;--blog-line:#dde6dc;--blog-paper:#fbfcf7;--blog-white:#fff;
}
.page-blog .blog-head{padding-bottom:22px}
.blog-category-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.blog-category-filter a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border:1px solid var(--blog-line);border-radius:999px;background:#fff;color:var(--blog-ink);font:600 .82rem var(--font-sans-body);text-decoration:none;transition:.2s ease}
.blog-category-filter a:hover,.blog-category-filter a.active{background:var(--blog-green);border-color:var(--blog-green);color:#fff;transform:translateY(-1px)}

.blog-featured{max-width:1180px;margin:0 auto;padding:10px clamp(18px,5vw,72px) 18px}
.blog-featured article{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);overflow:hidden;border:1px solid var(--blog-line);border-top:4px solid var(--blog-green);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(16,32,24,.08)}
.blog-featured-media{display:block;min-height:320px;background:#eef4ee;text-decoration:none}
.blog-featured-media img,.blog-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.blog-featured-content{display:flex;flex-direction:column;justify-content:center;padding:36px clamp(24px,4vw,44px)}
.blog-featured-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.featured-badge,.blog-category-badge{display:inline-flex;align-items:center;width:max-content;gap:5px;padding:6px 10px;border-radius:999px;font:700 .72rem var(--font-sans-body);letter-spacing:.04em;text-transform:uppercase}
.featured-badge{background:#fff3dc;color:#8a5715;border:1px solid #f0d49d}
.blog-category-badge.cat-peace{background:#e8eef5;color:#496b89}.blog-category-badge.cat-environment{background:#eaf5e4;color:#397025}.blog-category-badge.cat-impact{background:#fdeaea;color:#aa3030}.blog-category-badge.cat-leadership{background:#f8eddb;color:#8e5b18}.blog-category-badge.cat-announcement{background:#e6f2eb;color:#126b3a}
.blog-featured h2{margin:0 0 14px;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.18}.blog-featured h2 a,.blog-card h2 a{color:var(--blog-green);text-decoration:none}.blog-featured h2 a:hover,.blog-card h2 a:hover{color:var(--blog-leaf)}
.blog-featured-content>p{margin:0 0 20px;color:var(--blog-muted);font-size:1rem;line-height:1.75;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}

.post-list.blog-grid.blog-record-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.blog-record-grid .blog-card{position:relative;display:flex;flex-direction:column;min-width:0;height:100%;border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--blog-line);box-shadow:0 3px 12px rgba(16,32,24,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.blog-record-grid .blog-card:hover{transform:translateY(-5px);border-color:var(--blog-green);box-shadow:0 14px 34px rgba(18,107,58,.13)}
.blog-card-media{display:block;height:200px;overflow:hidden;background:#eef4ee;text-decoration:none}
.blog-card-media img{transition:transform .35s ease}.blog-card:hover .blog-card-media img{transform:scale(1.035)}
.blog-image-fallback{display:grid;place-items:center;align-content:center;gap:8px;width:100%;height:100%;min-height:200px;text-align:center}.blog-image-fallback strong{font-size:2.8rem;line-height:1}.blog-image-fallback small{font:700 .78rem var(--font-sans-body);text-transform:uppercase;letter-spacing:.08em}
.blog-image-fallback.cat-peace{background:linear-gradient(135deg,#eef3f8,#dce8f2);color:#496b89}.blog-image-fallback.cat-environment{background:linear-gradient(135deg,#eef8e9,#dcefd3);color:#397025}.blog-image-fallback.cat-impact{background:linear-gradient(135deg,#fff0f0,#f8dddd);color:#aa3030}.blog-image-fallback.cat-leadership{background:linear-gradient(135deg,#fff6e8,#f4e3c4);color:#8e5b18}.blog-image-fallback.cat-announcement{background:linear-gradient(135deg,#edf7f1,#dceee3);color:#126b3a}
.blog-record-grid .blog-card-body{padding:22px;gap:0}
.blog-record-grid .blog-card h2{margin:12px 0 10px;font-size:clamp(1.05rem,1.8vw,1.2rem);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.blog-record-grid .blog-card-body>p{margin:0 0 18px;font-size:.92rem;line-height:1.65;-webkit-line-clamp:3}
.blog-meta-row{display:flex;flex-wrap:wrap;gap:7px 12px;margin-top:auto;padding-top:14px;border-top:1px solid #edf1ed;color:var(--blog-muted);font:500 .78rem var(--font-sans-body)}
.blog-meta-row span{font:inherit;color:inherit}
.blog-read-link{display:inline-flex;align-items:center;gap:7px;width:max-content;margin-top:16px;color:var(--blog-gold);font:700 .88rem var(--font-sans-display);text-decoration:none}.blog-read-link span{transition:transform .2s ease}.blog-read-link:hover span{transform:translateX(4px)}
.blog-empty{grid-column:1/-1;padding:48px 24px;text-align:center;border:1px dashed var(--blog-line);border-radius:16px;background:#fff}.blog-empty h2{margin:0 0 8px}.blog-empty p{margin:0;color:var(--blog-muted)}

.blog-reader-labels{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}

@media(max-width:980px){
  .post-list.blog-grid.blog-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .blog-featured article{grid-template-columns:1fr}.blog-featured-media{min-height:280px;max-height:360px}.blog-featured-content{padding:30px}
}
@media(max-width:680px){
  .blog-category-filter{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;scrollbar-width:none}.blog-category-filter::-webkit-scrollbar{display:none}.blog-category-filter a{white-space:nowrap}
  .post-list.blog-grid.blog-record-grid{grid-template-columns:1fr}.blog-card-media{height:220px}.blog-featured{padding-top:4px}.blog-featured article{border-radius:14px}.blog-featured-media{min-height:220px}.blog-featured-content{padding:24px}.blog-meta-row{gap:7px 10px}
}
@media(prefers-reduced-motion:reduce){.blog-record-grid .blog-card,.blog-card-media img,.blog-read-link span,.blog-category-filter a{transition:none!important}.blog-record-grid .blog-card:hover,.blog-category-filter a:hover{transform:none}}


/* ---- site-font-system.css ---- */

:root{
  --site-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-sans-display:var(--site-font);
  --font-sans-body:var(--site-font);
}

/* One font family across the complete public site and management portal. */
html,body,body *,input,textarea,select,option,optgroup,button,table,th,td,summary,details{
  font-family:var(--site-font)!important;
}

/* Keep the site's existing hierarchy while avoiding forced all-caps presentation. */
body{font-weight:400}
button,input,textarea,select{font:inherit}

/* PeaceDay-inspired footer treatment using the existing dynamic site content. */
.footer{
  margin-top:56px!important;
  padding:0!important;
  background:#071c14!important;
  color:#fff!important;
  border-top:4px solid #d8a72e;
}
.footer-wrap{
  width:min(100% - 36px,1180px)!important;
  margin:0 auto!important;
  padding:42px 0 20px!important;
}
.footer-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:0 0 30px!important;
  border-bottom:1px solid rgba(255,255,255,.13)!important;
}
.footer-logo{display:flex!important;align-items:center!important;gap:14px!important;color:#fff!important;text-decoration:none!important}
.footer-logo img{width:58px!important;height:58px!important;padding:5px!important;border-radius:50%!important;background:#fff!important;object-fit:contain!important}
.footer-logo strong{display:block!important;font-size:1.15rem!important;font-weight:700!important;line-height:1.2!important;color:#fff!important}
.footer-logo em{display:block!important;margin-top:4px!important;font-size:.82rem!important;font-style:normal!important;font-weight:400!important;color:rgba(255,255,255,.66)!important}
.footer-actions{display:flex!important;gap:10px!important;flex-wrap:wrap!important}
.footer-actions .btn{min-height:42px!important;padding:10px 17px!important;border-radius:8px!important;background:#d8a72e!important;color:#071c14!important;box-shadow:none!important;font-size:.86rem!important;font-weight:600!important}
.footer-actions .btn.ghost{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important}
.footer-main{
  display:grid!important;
  grid-template-columns:1.35fr .75fr .85fr 1fr 1fr!important;
  gap:34px!important;
  padding:34px 0 30px!important;
  max-width:none!important;
}
.footer h2,.footer-brand h2{
  margin:0 0 14px!important;
  color:#fff!important;
  font-size:.96rem!important;
  line-height:1.3!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
.footer-brand h2{font-size:1.15rem!important;font-weight:700!important}
.footer-brand p,.footer-contact span{margin:0!important;color:rgba(255,255,255,.66)!important;font-size:.84rem!important;line-height:1.75!important;font-weight:400!important}
.footer-links,.footer-contact{display:grid!important;gap:9px!important}
.footer-links a,.footer-contact a{color:rgba(255,255,255,.76)!important;font-size:.84rem!important;font-weight:400!important;text-decoration:none!important;transition:color .18s ease,transform .18s ease!important}
.footer-links a:hover,.footer-contact a:hover{color:#f1c75b!important;transform:translateX(2px)!important}
.footer .socials{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
.footer .socials a{display:flex!important;align-items:center!important;gap:9px!important;width:100%!important;margin:0!important;padding:7px 0!important;border:0!important;border-radius:0!important;background:transparent!important;color:rgba(255,255,255,.76)!important;font-size:.82rem!important;font-weight:400!important;text-decoration:none!important;box-shadow:none!important}
.footer .socials a:hover{background:transparent!important;color:#f1c75b!important;transform:none!important}
.footer .social-icon{width:24px!important;height:24px!important;min-width:24px!important}
.footer .social-icon img{width:21px!important;height:21px!important}
.footer-bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;padding:18px 0 0!important;border-top:1px solid rgba(255,255,255,.13)!important;color:rgba(255,255,255,.55)!important;font-size:.76rem!important;font-weight:400!important}
.footer-bottom a{color:rgba(255,255,255,.68)!important;text-decoration:none!important}
.footer-manage-link{opacity:.72}
@media(max-width:1000px){.footer-main{grid-template-columns:repeat(3,minmax(0,1fr))!important}.footer-brand{grid-column:span 3!important}}
@media(max-width:720px){
  .footer{margin-top:38px!important}
  .footer-wrap{width:min(100% - 28px,1180px)!important;padding-top:32px!important}
  .footer-cta{align-items:flex-start!important;flex-direction:column!important}
  .footer-main{grid-template-columns:1fr 1fr!important;gap:26px 22px!important}
  .footer-brand{grid-column:1/-1!important}
  .footer-bottom{align-items:flex-start!important;flex-direction:column!important;gap:7px!important}
}
@media(max-width:480px){.footer-main{grid-template-columns:1fr!important}.footer-brand{grid-column:auto!important}.footer-actions{width:100%!important}.footer-actions .btn{flex:1 1 130px!important;text-align:center!important}}


/* ---- modern-2026.css ---- */
/* Flamingo Rovers 2026 public UI refresh. Loaded last to safely modernise legacy pages. */
:root{
  --fr-bg:#f7f8f7;--fr-surface:#fff;--fr-text:#121a16;--fr-muted:#66716b;
  --fr-line:#e4e8e5;--fr-green:#0d5d3b;--fr-green-2:#164b38;--fr-accent:#e8b94f;
  --fr-radius:18px;--fr-radius-lg:28px;--fr-shadow:0 18px 50px rgba(18,26,22,.08);
  --fr-max:1580px;--fr-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
html{scroll-behavior:smooth;background:var(--fr-bg)}
body{font-family:var(--fr-font)!important;color:var(--fr-text);background:var(--fr-bg);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
body.modal-open{overflow:hidden}
a{color:inherit;text-underline-offset:3px}img{max-width:100%;height:auto}.skip-link{position:fixed;left:16px;top:-80px;z-index:99999;background:#fff;color:#111;padding:10px 14px;border-radius:10px;box-shadow:var(--fr-shadow)}.skip-link:focus{top:16px}
.topbar{position:sticky;top:0;z-index:1200;width:min(calc(100% - 40px),var(--fr-max));min-height:74px;margin:12px auto 0;padding:8px 12px 8px 16px;border:1px solid rgba(228,232,229,.9);border-radius:20px;background:rgba(255,255,255,.91);backdrop-filter:blur(18px);box-shadow:0 8px 30px rgba(18,26,22,.07);display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:max-content}.brand img{width:48px!important;height:48px!important;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-size:16px;letter-spacing:-.02em}.brand em{font-size:11px;color:var(--fr-muted);font-style:normal;margin-top:5px}
.site-nav{margin-left:auto}.site-nav>ul{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}.site-nav a,.site-nav button{font:600 13px/1 var(--fr-font);letter-spacing:-.01em;border:0;background:transparent;text-decoration:none;color:#26312b;padding:11px 10px;border-radius:10px;cursor:pointer;white-space:nowrap}.site-nav a:hover,.site-nav button:hover,.site-nav a.active{background:#eef3ef;color:var(--fr-green)}.site-nav .has-menu{position:relative}.site-nav .has-menu>ul{top:calc(100% + 9px);border:1px solid var(--fr-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--fr-shadow)!important;padding:8px!important;min-width:220px}.site-nav .has-menu>ul a{display:block;padding:11px 12px}.menu-toggle{display:none}
main{width:min(calc(100% - 40px),var(--fr-max));margin:0 auto}.home-landing{min-height:min(calc(100svh - 112px),840px)!important;margin-top:18px!important;border-radius:var(--fr-radius-lg)!important;overflow:hidden!important;box-shadow:var(--fr-shadow)}.home-landing:after{background:linear-gradient(90deg,rgba(8,21,14,.82),rgba(8,21,14,.38) 55%,rgba(8,21,14,.08))!important}.hero-inner{width:100%!important;max-width:none!important;padding:clamp(28px,6vw,76px)!important}.hero-copy{max-width:760px!important}.hero h1,.page-title h1,.blog-head h1,.activity-detail-content h1{font-family:var(--fr-font)!important;font-weight:800!important;letter-spacing:-.055em!important;line-height:.98!important;text-wrap:balance}.hero h1{font-size:clamp(48px,8vw,94px)!important;text-transform:none!important}.hero-copy>p:not(.eyebrow){max-width:650px;font-size:clamp(17px,2vw,21px)!important;line-height:1.55!important;color:rgba(255,255,255,.88)!important}.eyebrow{font-size:12px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important}
.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:12px!important;padding:11px 16px!important;font:700 14px/1 var(--fr-font)!important;box-shadow:none!important;transition:transform .18s ease,background .18s ease,border-color .18s ease}.btn:hover{transform:translateY(-1px)}
section:not(.hero):not(.home-landing){scroll-margin-top:100px}.page-title,.blog-head,.library-masthead{padding:clamp(48px,7vw,88px) 0 30px!important}.page-title h1,.blog-head h1,.library-masthead h1{font-size:clamp(42px,6vw,72px)!important}.page-title>p,.blog-head>p{max-width:720px;color:var(--fr-muted);font-size:17px}
.cards,.content-grid,.project-pillars,.blog-grid,.library-home-grid,.site-library-grid,.product-grid{gap:18px!important}.cards article,.panel,.project-pillars article,.blog-card,.library-home-card,.site-library-grid article,.product-grid article,.activity-card{border:1px solid var(--fr-line)!important;border-radius:var(--fr-radius)!important;background:var(--fr-surface)!important;box-shadow:none!important;overflow:hidden}.cards article:hover,.blog-card:hover,.library-home-card:hover{box-shadow:var(--fr-shadow)!important;transform:translateY(-2px)}.cards img,.blog-card-media img,.library-home-card>img{object-fit:cover}.cards h2,.cards h3,.panel h2,.blog-card h2{font-family:var(--fr-font)!important;letter-spacing:-.03em!important}.cards p,.panel p,.blog-card p{color:var(--fr-muted)}
.footer{margin-top:72px!important;background:#101813!important;color:#f2f5f3!important}.footer-wrap{width:min(calc(100% - 40px),var(--fr-max))!important}.footer-main{gap:36px!important}.footer a{color:inherit}.footer h2{font-family:var(--fr-font)!important}.footer-manage-link{display:none!important}
input,select,textarea{font:inherit!important;border:1px solid #cfd8d2!important;border-radius:12px!important;background:#fff!important;min-height:46px}input:focus,select:focus,textarea:focus{outline:3px solid rgba(13,93,59,.13)!important;border-color:var(--fr-green)!important}
:focus-visible{outline:3px solid rgba(13,93,59,.28);outline-offset:3px}

.site-nav .nav-donate-link{background:var(--fr-accent)!important;color:#132019!important;font-weight:800!important;padding-left:16px!important;padding-right:16px!important}
.site-nav .nav-donate-link:hover,.site-nav .nav-donate-link.active{background:#f1c85e!important;color:#132019!important}
@media(min-width:1400px){.topbar{min-height:78px;padding-left:20px;padding-right:16px}.brand img{width:52px!important;height:52px!important}.brand strong{font-size:17px}.site-nav a,.site-nav button{font-size:13.5px;padding:12px 12px}.home-landing{margin-top:14px!important}.hero-inner{padding-left:clamp(48px,6vw,96px)!important;padding-right:clamp(48px,6vw,96px)!important}.hero-copy{max-width:900px!important}.hero-copy>p:not(.eyebrow){max-width:760px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(max-width:1050px){.site-nav .nav-donate-link{margin-top:6px;justify-content:center!important}.topbar{min-height:66px}.menu-toggle{display:grid!important;margin-left:auto;width:44px;height:44px;border:0;background:#eef3ef;border-radius:12px;place-content:center;gap:5px}.menu-toggle span{display:block;width:20px;height:2px;background:#17221c;border-radius:2px}.site-nav{position:absolute;left:0;right:0;top:calc(100% + 8px);display:none;margin:0;padding:10px;border:1px solid var(--fr-line);border-radius:18px;background:#fff;box-shadow:var(--fr-shadow);max-height:calc(100vh - 105px);overflow:auto}.site-nav.open{display:block}.site-nav>ul{display:block}.site-nav>ul>li{margin:2px 0}.site-nav a,.site-nav button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:15px;padding:13px 12px}.site-nav .has-menu>ul{position:static!important;display:none!important;box-shadow:none!important;border:0!important;border-left:2px solid #e5ebe7!important;border-radius:0!important;margin:2px 0 8px 12px!important;padding:2px 0 2px 8px!important}.site-nav .has-menu>button[aria-expanded="true"]+ul{display:block!important}.site-nav .has-menu>ul a{font-size:14px;color:#526058}.brand em{display:none}}
@media(max-width:700px){body{font-size:15px}main{width:min(calc(100% - 20px),var(--fr-max))}.topbar{width:calc(100% - 20px);margin-top:8px;border-radius:16px;padding-left:10px}.brand img{width:42px!important;height:42px!important}.home-landing{min-height:650px!important;margin-top:10px!important;border-radius:20px!important}.hero-inner{padding:34px 22px!important;align-items:flex-end!important}.hero h1{font-size:clamp(44px,15vw,66px)!important}.hero-copy>p:not(.eyebrow){font-size:16px!important}.hero-actions{gap:8px!important}.hero-actions .btn{flex:1;min-width:0}.page-title,.blog-head,.library-masthead{padding-top:44px!important}.page-title h1,.blog-head h1,.library-masthead h1{font-size:42px!important}.footer{margin-top:48px!important}.footer-main{grid-template-columns:1fr!important}.footer-cta{align-items:flex-start!important;flex-direction:column!important}.footer-actions{width:100%}.footer-actions .btn{flex:1}}
.activity-panel{grid-template-columns:1fr!important}.activity-story-featured{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)!important;min-height:430px}.activity-story-featured>img{width:100%!important;height:100%!important;min-height:430px!important;object-fit:cover!important}.activity-story-featured>div{display:flex!important;flex-direction:column!important;justify-content:center!important;padding:clamp(28px,5vw,58px)!important}.activity-story-featured h3{font-size:clamp(30px,4vw,48px)!important;letter-spacing:-.04em!important;line-height:1.02!important}.activity-story-featured p{font-size:16px!important;color:var(--fr-muted)!important}.story-link{font-weight:800!important;color:var(--fr-green)!important;margin-top:8px}
@media(max-width:760px){.activity-story-featured{grid-template-columns:1fr!important;min-height:0}.activity-story-featured>img{min-height:0!important;height:260px!important}.activity-story-featured>div{padding:24px!important}}


/* ---- blog-redesign-exact.css ---- */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.page-blog{margin:0;background:#fff;color:#1a1a1a;font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased}
.page-blog img{display:block;max-width:100%}
.page-blog a{text-decoration:none}
.page-blog #main-content{width:100%}
.page-blog .blog-head{max-width:1180px;margin:0 auto;padding:72px 24px 34px;text-align:center}
.page-blog .blog-head .eyebrow{margin:0 0 10px;color:#6c63ff;font:600 .78rem 'Inter',sans-serif;text-transform:uppercase;letter-spacing:.11em}
.page-blog .blog-head h1{margin:0;font:800 clamp(2.2rem,4.8vw,4rem)/1.05 'Outfit',sans-serif;letter-spacing:-.035em;color:#1a1a1a}
.page-blog .blog-head>p:not(.eyebrow){max-width:690px;margin:18px auto 0;color:#666;font:400 1.05rem/1.7 'Inter',sans-serif}
.page-blog .blog-category-filter{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:34px}
.page-blog .blog-category-filter a{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#666;font:500 .88rem 'Inter',sans-serif;transition:background .2s,border-color .2s,color .2s,transform .2s}
.page-blog .blog-category-filter a svg{width:16px;height:16px}
.page-blog .blog-category-filter a:hover,.page-blog .blog-category-filter a.active{background:#6c63ff;border-color:#6c63ff;color:#fff;transform:translateY(-1px)}
.page-blog .post-list.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1180px;margin:0 auto;padding:18px 24px 80px}
.page-blog .blog-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 4px 16px rgba(0,0,0,.045);transition:transform .2s,box-shadow .2s,border-color .2s}
.page-blog .blog-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(0,0,0,.09);border-color:#ddd5fe}
.page-blog .blog-card-media{display:block;height:200px;overflow:hidden;background:#f0effe}
.page-blog .blog-card-media>img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.page-blog .blog-card:hover .blog-card-media>img{transform:scale(1.035)}
.page-blog .blog-image-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#f0effe;color:#6c63ff}
.page-blog .blog-image-fallback svg{width:36px;height:36px}
.page-blog .blog-image-fallback small{font:600 .85rem 'Inter',sans-serif}
.page-blog .blog-card-body{display:flex;flex:1;flex-direction:column;padding:22px}
.page-blog .blog-category-badge{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#f0effe;color:#6c63ff;font:600 .74rem 'Inter',sans-serif}
.page-blog .blog-category-badge svg{width:14px;height:14px}
.page-blog .blog-card h2{margin:14px 0 9px;font:700 1.2rem/1.28 'Outfit',sans-serif;letter-spacing:-.01em}
.page-blog .blog-card h2 a{color:#1a1a1a}
.page-blog .blog-card h2 a:hover{color:#6c63ff}
.page-blog .excerpt{margin:0;color:#666;font:400 .93rem/1.65 'Inter',sans-serif;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.page-blog .blog-meta-row{display:flex;flex-wrap:wrap;gap:8px 13px;margin-top:auto;padding-top:19px;color:#888;font:500 .76rem 'Inter',sans-serif}
.page-blog .blog-meta-row span{display:inline-flex;align-items:center;gap:5px;color:#888;font:inherit}
.page-blog .blog-meta-row svg{width:14px;height:14px}
.page-blog .blog-read-link{display:inline-flex;align-items:center;gap:7px;margin-top:17px;color:#6c63ff;font:600 .88rem 'Inter',sans-serif}
.page-blog .blog-read-link svg{width:16px;height:16px;transition:transform .2s}
.page-blog .blog-read-link:hover svg{transform:translateX(3px)}
@media(max-width:900px){.page-blog .post-list.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){
  .page-blog .blog-head{padding:54px 16px 26px}
  .page-blog .blog-category-filter{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}
  .page-blog .blog-category-filter::-webkit-scrollbar{display:none}
  .page-blog .blog-category-filter a{white-space:nowrap}
  .page-blog .post-list.blog-grid{grid-template-columns:1fr;padding:14px 16px 56px}
  .page-blog .blog-card-media{height:220px}
}

/* Blog readability correction: no decorative pill/background may cover article text. */
.page-blog .blog-card .excerpt,
.page-blog .blog-card-body > p,
.page-blog .blog-grid .blog-card p{
  display:-webkit-box!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#667085!important;
  font-size:.88rem!important;
  font-weight:400!important;
  line-height:1.65!important;
  letter-spacing:0!important;
  text-transform:none!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
}
.page-blog .blog-card h2,
.page-blog .blog-card h2 a{
  text-transform:none!important;
  letter-spacing:-.01em!important;
}
.page-blog .blog-card h2{font-size:1.08rem!important;line-height:1.4!important;font-weight:600!important}
.page-blog .blog-category-badge{font-size:.69rem!important;font-weight:500!important;text-transform:none!important}
.page-blog .blog-meta-row{font-size:.72rem!important;font-weight:400!important}
.page-blog .blog-read-link{font-size:.82rem!important;font-weight:500!important}


/* ---- donate-exact.css ---- */
body.page-donate{background:#fff;color:#17181b}.page-donate .topbar{min-height:78px}.figma-donate-hero{padding:26px 24px 46px;text-align:center;background:#fff}.figma-donate-hero .eyebrow{display:block;margin:0 0 14px;color:#6c63ff;font-size:12px;font-weight:400;letter-spacing:0;text-transform:uppercase}.figma-donate-hero h1{margin:0 auto 14px;font-size:36px;line-height:1.08;font-weight:400;letter-spacing:0;color:#17181b}.figma-donate-hero p{max-width:880px;margin:0 auto;color:#60636a;font-size:17px;line-height:1.7}
.donate-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px;max-width:1180px;margin:0 auto;padding:18px 24px 30px}.donate-story-card{min-width:0}.donate-story-image{display:block;width:100%;height:350px;object-fit:cover;border-radius:14px;margin:0 0 14px}.donate-story-card h2{margin:0 0 14px;color:#17181b;font-size:30px;line-height:1.18;font-weight:400}.donate-story-card p{margin:0 0 14px;color:#60636a;font-size:15px;line-height:1.72}.donate-story-card strong{color:#343a3c;font-weight:600}.donate-now-band{display:flex;justify-content:center;padding:8px 24px 62px}.donate-now-button{display:inline-flex;align-items:center;justify-content:center;min-width:176px;padding:15px 30px;border-radius:10px;background:#f4ba41;color:#263033;text-decoration:none;font-size:15px;font-weight:600;box-shadow:0 8px 18px rgba(244,186,65,.22);transition:transform .18s ease,box-shadow .18s ease}.donate-now-button:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(244,186,65,.3)}
.donation-options-section{padding:54px 24px 72px;background:#f8f9fa;scroll-margin-top:100px}.donation-options-intro{max-width:760px;margin:0 auto 26px;text-align:center}.donation-options-intro .eyebrow{display:block;margin-bottom:10px;color:#6c63ff;font-size:12px;text-transform:uppercase}.donation-options-intro h2{margin:0 0 12px;color:#17181b;font-size:32px;font-weight:400;line-height:1.2}.donation-options-intro p{margin:0;color:#60636a;font-size:15px;line-height:1.7}.donation-widget{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:28px;box-shadow:0 12px 30px rgba(0,0,0,.06)}.donation-widget-centered{width:min(100%,560px);margin:0 auto}.widget-header{display:flex;align-items:center;gap:9px;margin-bottom:22px;font-size:14px;font-weight:600}.trust-dot{width:10px;height:10px;border-radius:50%;background:#6c63ff;box-shadow:0 0 0 5px #f0effe}.freq-toggle{display:grid;grid-template-columns:1fr 1fr;background:#f4f4f6;border-radius:10px;padding:4px;margin-bottom:24px}.freq-toggle button{border:0;background:transparent;padding:10px;border-radius:8px;color:#666;font-size:14px;font-weight:600;cursor:pointer}.freq-toggle button.active{background:#fff;color:#17181b;box-shadow:0 2px 7px rgba(0,0,0,.07)}.amount-label{margin:0 0 12px;color:#888;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.amount-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.amount-btn{border:1px solid #e5e7eb;background:#fff;padding:13px 10px;border-radius:10px;color:#333;font-size:14px;font-weight:600;cursor:pointer;transition:.18s}.amount-btn:hover,.amount-btn.active{border-color:#6c63ff;background:#f0effe;color:#6c63ff}.custom-amount{display:none;width:100%;margin-top:12px;padding:13px;border:1px solid #e5e7eb;border-radius:10px;font-size:15px}.impact-msg{margin:18px 0 24px;min-height:44px;color:#666;font-size:14px}.impact-msg strong{color:#1a1a1a}.donate-cta{width:100%;border:0;border-radius:10px;background:#6c63ff;color:#fff;padding:14px 18px;font-size:15px;font-weight:600;cursor:pointer}.security-note{margin:16px 0 0;text-align:center;color:#888;font-size:12px}.figma-impact-section{padding:50px 24px 44px;background:#fff;text-align:center}.figma-impact-section h2{margin:0;font-size:36px;font-weight:400}.figma-impact-section .sub{margin:12px 0 38px;color:#60636a;font-size:17px}.impact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1362px;margin:0 auto}.impact-card{padding:28px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;text-align:center}.impact-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:12px;font-size:28px;line-height:1}.impact-icon-peace{background:#f0effe}.impact-icon-green{background:#f0fdf4}.impact-icon-youth{background:#fff7ed}.impact-card h3{margin:0 0 16px;font-size:20px;font-weight:700}.impact-card p{margin:0;color:#60636a;font-size:15px;line-height:1.7}.figma-quote{display:flex;flex-direction:column;align-items:center;gap:30px;padding:12px 20px 28px;background:rgba(16,24,40,.14);text-align:center}.figma-quote cite{order:1;color:rgba(16,15,15,.7);font-size:15px;font-style:normal}.figma-quote blockquote{order:2;margin:0;color:#191717;font-size:32px;line-height:1.45;font-weight:400}.page-donate .footer{border-top:1px solid #e5e7eb}.page-donate .footer-wrap{max-width:1440px}.page-donate .footer-main{padding-top:42px}.page-donate .footer-column h2{font-size:14px}.page-donate .footer-links a,.page-donate .footer-contact-list,.page-donate .footer-brand-clean p{font-size:13px}.page-donate .footer-bottom{font-size:12px}@media(max-width:900px){.donate-story-grid{grid-template-columns:1fr;gap:42px}.donate-story-image{height:320px}.impact-grid{grid-template-columns:1fr}.figma-impact-section h2{font-size:32px}.figma-quote blockquote{font-size:26px}}@media(max-width:680px){.figma-donate-hero{padding:24px 16px 34px}.figma-donate-hero h1{font-size:32px}.figma-donate-hero p{font-size:15px}.donate-story-grid{padding:10px 16px 24px}.donate-story-image{height:245px}.donate-story-card h2{font-size:25px}.donate-now-band{padding-bottom:44px}.donation-options-section{padding:42px 16px 54px}.donation-widget{padding:20px}.figma-impact-section{padding:44px 16px}.figma-impact-section .sub{font-size:15px}.figma-quote{gap:18px}.figma-quote blockquote{font-size:23px}}
/* ---- peace-typography.css ---- */

/*
 * Flamingo Rovers unified typography
 * Matches the clean typographic direction used by the Peace Day microsite.
 * Loaded LAST so legacy page-specific styles cannot re-introduce mixed fonts.
 */
:root{
  --peace-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  --peace-body:16px;
  --peace-body-small:15px;
  --peace-nav:14px;
  --peace-caption:13px;
  --peace-h1:clamp(42px,5.4vw,76px);
  --peace-page-h1:clamp(38px,4.7vw,64px);
  --peace-h2:clamp(28px,3.2vw,44px);
  --peace-h3:clamp(20px,2vw,26px);
}

html,
body,
body *,
button,
input,
textarea,
select,
option,
optgroup,
table,
th,
td,
summary,
details{
  font-family:var(--peace-font)!important;
}

body{
  font-size:var(--peace-body)!important;
  font-weight:400!important;
  line-height:1.65!important;
  letter-spacing:0!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Header / navigation */
.brand strong{
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.15!important;
  letter-spacing:-.015em!important;
}
.brand em{
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
}
.site-nav a,
.site-nav button,
.site-header nav,
.site-header nav a{
  font-family:var(--peace-font)!important;
  font-size:var(--peace-nav)!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
.site-nav .has-menu ul a{
  font-size:13px!important;
  font-weight:500!important;
}

/* Hero hierarchy */
.hero h1,
.home-landing h1,
.activity-detail-content h1{
  font-family:var(--peace-font)!important;
  font-size:var(--peace-h1)!important;
  font-weight:700!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}
.hero-copy>p:not(.eyebrow),
.home-landing .hero-copy>p:not(.eyebrow){
  font-size:clamp(17px,1.45vw,20px)!important;
  font-weight:400!important;
  line-height:1.65!important;
  letter-spacing:0!important;
}
.eyebrow,
.kicker,
.section-kicker{
  font-size:12px!important;
  font-weight:700!important;
  line-height:1.3!important;
  letter-spacing:.09em!important;
}

/* Page headings */
.page-title h1,
.blog-head h1,
.library-masthead h1,
.donate-hero h1{
  font-family:var(--peace-font)!important;
  font-size:var(--peace-page-h1)!important;
  font-weight:700!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}
.page-title>p,
.blog-head>p,
.library-masthead>p,
.donate-hero>p{
  font-size:17px!important;
  font-weight:400!important;
  line-height:1.7!important;
}

/* General content hierarchy */
h2,
.section-title,
.impact-section h2,
.quote-section h2{
  font-family:var(--peace-font)!important;
  font-size:var(--peace-h2)!important;
  font-weight:700!important;
  line-height:1.16!important;
  letter-spacing:-.03em!important;
}
h3,
.cards h3,
.cards h2,
.panel h2,
.blog-card h2,
.activity-story-featured h3,
.impact-card h3{
  font-family:var(--peace-font)!important;
  font-size:var(--peace-h3)!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:-.02em!important;
}
h4,h5,h6{
  font-family:var(--peace-font)!important;
  font-weight:600!important;
  line-height:1.35!important;
  letter-spacing:-.01em!important;
}
p,
li,
.cards p,
.panel p,
.blog-card p,
.activity-story-featured p,
.donate-content-side>p,
.impact-card p{
  font-size:var(--peace-body)!important;
  font-weight:400!important;
  line-height:1.72!important;
  letter-spacing:0!important;
}
small,
.meta,
.post-meta,
.card-meta,
.footer-bottom{
  font-size:var(--peace-caption)!important;
  line-height:1.5!important;
}

/* Buttons and form controls */
.btn,
button,
input,
textarea,
select,
.freq-toggle button,
.amount-btn,
.donate-cta{
  font-family:var(--peace-font)!important;
}
.btn,
.freq-toggle button,
.amount-btn,
.donate-cta{
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.2!important;
  letter-spacing:0!important;
}
input,
textarea,
select{
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.5!important;
}

/* Blog and Donate formerly had separate Inter/Outfit typography. */
body.page-blog,
body.page-donate,
.page-donate h1,
.page-donate h2,
.page-donate h3,
.site-header .brand,
.quote-section blockquote,
.quote-section cite,
.site-footer{
  font-family:var(--peace-font)!important;
}
.quote-section blockquote{
  font-size:clamp(24px,3vw,34px)!important;
  font-weight:600!important;
  line-height:1.45!important;
}

/* Footer follows the same restrained text scale as the reference site. */
.footer h2,
.footer-brand h2{
  font-family:var(--peace-font)!important;
  font-size:15px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
.footer-brand p,
.footer-contact span,
.footer-links a,
.footer-contact a,
.footer .socials a{
  font-size:13px!important;
  font-weight:400!important;
  line-height:1.7!important;
}

@media(min-width:1400px){
  .site-nav a,.site-nav button,.site-header nav,.site-header nav a{font-size:14px!important}
  .brand strong{font-size:16px!important}
}

@media(max-width:1050px){
  .site-nav a,.site-nav button{font-size:15px!important}
  .site-nav .has-menu ul a{font-size:14px!important}
}

@media(max-width:700px){
  body{font-size:15px!important}
  p,li,.cards p,.panel p,.blog-card p,.activity-story-featured p,.donate-content-side>p,.impact-card p{font-size:15px!important}
  .hero h1,.home-landing h1,.activity-detail-content h1{font-size:clamp(40px,12vw,58px)!important}
  .page-title h1,.blog-head h1,.library-masthead h1,.donate-hero h1{font-size:clamp(34px,10vw,46px)!important}
  .hero-copy>p:not(.eyebrow),.home-landing .hero-copy>p:not(.eyebrow),.page-title>p,.blog-head>p,.library-masthead>p,.donate-hero>p{font-size:15px!important}
  h2,.section-title,.impact-section h2,.quote-section h2{font-size:clamp(25px,8vw,34px)!important}
  h3,.cards h3,.cards h2,.panel h2,.blog-card h2,.activity-story-featured h3,.impact-card h3{font-size:20px!important}
}

/* 2026-09-14: requested regular-weight typography across the public website. */
body,
body *,
body *::before,
body *::after{
  font-weight:400!important;
}
strong,b,h1,h2,h3,h4,h5,h6,.brand strong,.site-nav a,.site-nav button,.btn,button,.eyebrow,.kicker,.section-kicker{
  font-weight:400!important;
}

/* Clean light footer based on the supplied reference layout. */
.footer.footer-clean{
  margin-top:72px!important;
  background:#fff!important;
  color:#111827!important;
  border-top:1px solid #e6e9ef!important;
  box-shadow:none!important;
}
.footer-clean .footer-wrap{
  width:min(calc(100% - 64px),1580px)!important;
  margin:0 auto!important;
  padding:58px 0 0!important;
}
.footer-clean .footer-clean-grid{
  display:grid!important;
  grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(140px,.75fr)) minmax(280px,1.2fr)!important;
  gap:48px!important;
  align-items:start!important;
  padding:0 0 52px!important;
}
.footer-clean .footer-brand-clean{
  min-width:0!important;
}
.footer-clean .footer-brand-mark{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  color:#111827!important;
  text-decoration:none!important;
}
.footer-clean .footer-brand-mark img{
  width:62px!important;
  height:62px!important;
  object-fit:contain!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.footer-clean .footer-brand-mark>span{
  display:grid!important;
  gap:1px!important;
}
.footer-clean .footer-brand-name{
  font-size:22px!important;
  line-height:1.2!important;
  letter-spacing:-.02em!important;
  color:#111827!important;
}
.footer-clean .footer-brand-sub{
  font-size:14px!important;
  line-height:1.3!important;
  color:#667085!important;
}
.footer-clean .footer-brand-clean>p{
  max-width:330px!important;
  margin:22px 0 24px!important;
  color:#667085!important;
  font-size:13px!important;
  line-height:1.75!important;
}
.footer-clean .footer-social-icons{
  display:flex!important;
  align-items:center!important;
  gap:15px!important;
  flex-wrap:wrap!important;
}
.footer-clean .footer-social-icons a{
  width:27px!important;
  height:27px!important;
  display:grid!important;
  place-items:center!important;
  color:#111827!important;
  text-decoration:none!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  transition:opacity .18s ease,transform .18s ease!important;
}
.footer-clean .footer-social-icons a:hover{
  opacity:.65!important;
  transform:translateY(-1px)!important;
}
.footer-clean .footer-social-icons img{
  width:22px!important;
  height:22px!important;
  object-fit:contain!important;
  filter:grayscale(1) saturate(0) brightness(.3)!important;
}
.footer-clean .footer-column h2{
  margin:0 0 20px!important;
  color:#111827!important;
  font-size:14px!important;
  line-height:1.35!important;
  letter-spacing:0!important;
}
.footer-clean .footer-links{
  display:grid!important;
  gap:12px!important;
}
.footer-clean .footer-links a,
.footer-clean .footer-contact-list a,
.footer-clean .footer-address{
  color:#475467!important;
  font-size:13px!important;
  line-height:1.55!important;
  text-decoration:none!important;
  transition:color .18s ease!important;
}
.footer-clean .footer-links a:hover,
.footer-clean .footer-contact-list a:hover{
  color:#111827!important;
  transform:none!important;
}
.footer-clean .footer-contact-list{
  display:grid!important;
  gap:16px!important;
}
.footer-clean .footer-contact-list>a,
.footer-clean .footer-address{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:start!important;
  gap:11px!important;
  margin:0!important;
}
.footer-clean .footer-contact-icon{
  width:21px!important;
  height:21px!important;
  display:block!important;
  color:#344054!important;
}
.footer-clean .footer-contact-icon svg{
  width:21px!important;
  height:21px!important;
  display:block!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.footer-clean .footer-clean-bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  min-height:72px!important;
  padding:18px 0!important;
  border-top:1px solid #e6e9ef!important;
  color:#667085!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.footer-clean .footer-clean-bottom nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:28px!important;
  flex-wrap:wrap!important;
}
.footer-clean .footer-clean-bottom a{
  color:#475467!important;
  text-decoration:none!important;
  font-size:12px!important;
}
.footer-clean .footer-clean-bottom a:hover{color:#111827!important}

@media(max-width:1180px){
  .footer-clean .footer-clean-grid{
    grid-template-columns:1.3fr repeat(2,1fr)!important;
    gap:38px 34px!important;
  }
  .footer-clean .footer-brand-clean{grid-column:1 / -1!important}
  .footer-clean .footer-contact-clean{grid-column:auto!important}
}
@media(max-width:760px){
  .footer.footer-clean{margin-top:48px!important}
  .footer-clean .footer-wrap{width:min(calc(100% - 32px),1580px)!important;padding-top:38px!important}
  .footer-clean .footer-clean-grid{grid-template-columns:1fr 1fr!important;gap:34px 24px!important;padding-bottom:36px!important}
  .footer-clean .footer-brand-clean{grid-column:1 / -1!important}
  .footer-clean .footer-contact-clean{grid-column:1 / -1!important}
  .footer-clean .footer-clean-bottom{align-items:flex-start!important;flex-direction:column!important;padding:20px 0 24px!important}
  .footer-clean .footer-clean-bottom nav{justify-content:flex-start!important;gap:18px 24px!important}
}
@media(max-width:480px){
  .footer-clean .footer-clean-grid{grid-template-columns:1fr!important}
  .footer-clean .footer-brand-clean,.footer-clean .footer-contact-clean{grid-column:auto!important}
}

/* 2026-09-14: fluid home canvas + self-contained footer icons. */
.page-home{
  overflow-x:hidden!important;
  background:#fff!important;
}

/* The home page should never look like a fixed-width card on a large monitor. */
.page-home .topbar{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding-left:clamp(22px,4vw,72px)!important;
  padding-right:clamp(22px,4vw,72px)!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
}
.page-home main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
.page-home .home-landing{
  width:100%!important;
  max-width:none!important;
  min-height:calc(100svh - 78px)!important;
  height:auto!important;
  margin:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.page-home .home-landing .hero-inner{
  width:min(100%,1580px)!important;
  max-width:1580px!important;
  min-height:calc(100svh - 78px)!important;
  margin:0 auto!important;
  padding:clamp(38px,5vw,86px) clamp(22px,5vw,88px)!important;
  box-sizing:border-box!important;
}
.page-home .home-landing .hero-copy{
  width:min(100%,920px)!important;
  max-width:920px!important;
}

/* Keep following home sections readable while allowing their backgrounds to span. */
.page-home main>section:not(.home-landing){
  width:min(calc(100% - 48px),1580px)!important;
  max-width:1580px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Footer social icons are now local glyphs instead of remote images. */
.footer-clean .footer-social-icons a{
  display:inline-flex!important;
  width:34px!important;
  height:34px!important;
  align-items:center!important;
  justify-content:center!important;
  color:#111827!important;
  background:#f2f4f7!important;
  border:1px solid #e1e5eb!important;
  border-radius:9px!important;
  text-decoration:none!important;
  overflow:visible!important;
  opacity:1!important;
}
.footer-clean .footer-social-icons a:hover{
  background:#e8edf3!important;
  border-color:#cbd3de!important;
  color:#0f172a!important;
}
.footer-social-glyph{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  color:currentColor!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:16px!important;
  line-height:1!important;
  font-weight:400!important;
  opacity:1!important;
}
.footer-social-linkedin{font-size:13px!important;letter-spacing:-.07em!important}
.footer-social-facebook{font-size:18px!important}
.footer-social-x{font-size:14px!important}
.footer-social-youtube{font-size:13px!important;transform:translateX(1px)}
.footer-social-instagram{font-size:20px!important}
.footer-social-tiktok{font-size:18px!important}

@media(max-width:1050px){
  .page-home .topbar{
    width:100%!important;
    margin:0!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .page-home .home-landing,
  .page-home .home-landing .hero-inner{
    min-height:calc(100svh - 66px)!important;
  }
}
@media(max-width:700px){
  .page-home .topbar{
    width:100%!important;
    margin:0!important;
    border-radius:0!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .page-home .home-landing{
    min-height:calc(100svh - 66px)!important;
    margin:0!important;
    border-radius:0!important;
  }
  .page-home .home-landing .hero-inner{
    min-height:calc(100svh - 66px)!important;
    padding:32px 20px!important;
  }
  .page-home main>section:not(.home-landing){
    width:calc(100% - 24px)!important;
  }
}


/* 2026-09-14: tighter page balance, smaller headings and sentence-case navigation. */
:root{
  /* Reduce all principal heading levels by 2px while preserving responsiveness. */
  --peace-h1:clamp(40px,5.2vw,74px);
  --peace-page-h1:clamp(36px,4.5vw,62px);
  --peace-h2:clamp(26px,3vw,42px);
  --peace-h3:clamp(18px,1.9vw,24px);
}

/* Top navigation: only the first letter is uppercase; remaining letters are lowercase. */
.site-nav>ul>li>a,
.site-nav>ul>li>button{
  text-transform:none!important;
  font-size:12px!important;
  letter-spacing:0!important;
}

/* Secondary headings also step down by 2px. */
h4{font-size:16px!important}
h5{font-size:14px!important}
h6{font-size:12px!important}
.footer-clean .footer-column h2{font-size:12px!important}
.footer-clean .footer-brand-name{font-size:20px!important}

/* Give inner pages one consistent visual rhythm so cards and copy do not look
   stretched on wide monitors or cramped on smaller laptops. */
.page-title,
.content-grid,
.cards,
.leader-grid,
.impact-section,
.sdg-section,
.contact-layout,
.faq-list,
.library-shell,
.project-detail,
.about-story,
.about-timeline,
.activity-stories,
.activity-detail-body,
.site-library-grid,
.product-grid,
.post-list.blog-grid{
  width:min(calc(100% - 48px),1280px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
.page-title{
  padding-left:0!important;
  padding-right:0!important;
}
.content-grid,
.cards,
.leader-grid,
.impact-grid,
.sdg-grid,
.product-grid{
  column-gap:clamp(18px,2vw,28px)!important;
  row-gap:clamp(18px,2vw,28px)!important;
}

/* Keep reading text from becoming excessively wide even when the page shell grows. */
.page-title>p:not(.eyebrow),
.panel>p,
.blog-reader-body,
.activity-detail-content>p,
.about-story p,
.project-detail p{
  max-width:760px;
}
.page-title>p:not(.eyebrow){margin-left:auto!important;margin-right:auto!important}

/* A tighter footer: less empty horizontal space while keeping all groups readable. */
.footer-clean .footer-wrap{
  width:min(calc(100% - 56px),1360px)!important;
  padding-top:42px!important;
}
.footer-clean .footer-clean-grid{
  grid-template-columns:minmax(240px,1.25fr) repeat(3,minmax(118px,.68fr)) minmax(250px,1.05fr)!important;
  gap:28px!important;
  padding-bottom:34px!important;
}
.footer-clean .footer-brand-clean>p{
  max-width:300px!important;
  margin:17px 0 19px!important;
}
.footer-clean .footer-column h2{margin-bottom:14px!important}
.footer-clean .footer-links{gap:9px!important}
.footer-clean .footer-contact-list{gap:12px!important}
.footer-clean .footer-clean-bottom{
  min-height:60px!important;
  padding:13px 0!important;
}
.footer-clean .footer-clean-bottom nav{gap:20px!important}

@media(max-width:1180px){
  .footer-clean .footer-clean-grid{
    grid-template-columns:1.2fr repeat(2,1fr)!important;
    gap:28px!important;
  }
}
@media(max-width:760px){
  .page-title,.content-grid,.cards,.leader-grid,.impact-section,.sdg-section,.contact-layout,.faq-list,.library-shell,.project-detail,.about-story,.about-timeline,.activity-stories,.activity-detail-body,.site-library-grid,.product-grid,.post-list.blog-grid{
    width:calc(100% - 28px)!important;
  }
  .footer-clean .footer-wrap{width:calc(100% - 28px)!important;padding-top:32px!important}
  .footer-clean .footer-clean-grid{gap:26px 20px!important;padding-bottom:28px!important}
  .hero h1,.home-landing h1,.activity-detail-content h1{font-size:clamp(38px,11.5vw,56px)!important}
  .page-title h1,.blog-head h1,.library-masthead h1,.donate-hero h1{font-size:clamp(32px,9.5vw,44px)!important}
  h2,.section-title,.impact-section h2,.quote-section h2{font-size:clamp(23px,7.6vw,32px)!important}
  h3,.cards h3,.cards h2,.panel h2,.blog-card h2,.activity-story-featured h3,.impact-card h3{font-size:18px!important}
}

/* 2026-09-14: one persistent, level navigation bar on every public page. */
html{
  scroll-padding-top:82px;
}
body.page-home{
  /* clip prevents horizontal spill without creating a scrolling ancestor that
     can disable position:sticky in some browsers. */
  overflow-x:clip!important;
}
.topbar,
.page-home .topbar,
body:has(.home-landing) .topbar{
  position:-webkit-sticky!important;
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  z-index:5000!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-radius:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  padding-left:clamp(22px,4vw,72px)!important;
  padding-right:clamp(22px,4vw,72px)!important;
}

@media (min-width:1051px){
  .topbar,
  .page-home .topbar,
  body:has(.home-landing) .topbar{
    min-height:78px!important;
  }
  .site-nav{
    display:block;
    margin-left:auto!important;
  }
  .site-nav>ul{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:4px!important;
    margin:0!important;
    padding:0!important;
  }
  .site-nav>ul>li{
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    margin:0!important;
    padding:0!important;
  }
  .site-nav>ul>li>a,
  .site-nav>ul>li>button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:44px!important;
    margin:0!important;
    white-space:nowrap!important;
    line-height:1!important;
  }
}

@media (max-width:1050px){
  .topbar,
  .page-home .topbar,
  body:has(.home-landing) .topbar{
    min-height:66px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .site-nav{
    z-index:5001!important;
  }
}

@media (max-width:700px){
  .topbar,
  .page-home .topbar,
  body:has(.home-landing) .topbar{
    padding-left:12px!important;
    padding-right:12px!important;
  }
}


/* ---- performance-fast.css ---- */
/* Flamingo Rovers performance + fixed navigation pass — 2026-09-14 */
html { scroll-behavior: auto !important; }
body { overflow-x: hidden; }

/* Keep the same clean header on every public page while scrolling. */
.topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 5000 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 8px clamp(18px, 4vw, 72px) !important;
  border: 0 !important;
  border-bottom: 1px solid #2b3032 !important;
  border-radius: 0 !important;
  background: #343a3c !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .14) !important;
  transform: translateZ(0);
  contain: layout paint;
}

/* Desktop navigation always remains a single straight row. */
@media (min-width: 1051px) {
  .topbar { flex-wrap: nowrap !important; }
  .brand { flex: 0 0 auto !important; }
  .site-nav { flex: 1 1 auto !important; min-width: 0 !important; margin-left: auto !important; }
  .site-nav > ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(2px, .45vw, 9px) !important;
    white-space: nowrap !important;
  }
  .site-nav > ul > li { flex: 0 0 auto !important; }
  .site-nav a,
  .site-nav button { white-space: nowrap !important; }
}

/* Mobile menu remains lightweight and readable. */
@media (max-width: 1050px) {
  .topbar { min-height: 66px !important; padding: 8px 14px !important; }
  .site-nav { top: 100% !important; border-radius: 0 0 14px 14px !important; }
}

/* Remove GPU-expensive glass effects from public content. */
.hero-dots,
.portal-login-pill,
.library-nav-strip,
.blog-category-filter {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Avoid expensive hover motion and filters; keep feedback instant. */
.btn,
.cards article,
.blog-card,
.library-home-card,
.activity-card,
.product-grid article,
img {
  transition-duration: .08s !important;
}
.cards article:hover,
.blog-card:hover,
.library-home-card:hover,
.activity-card:hover {
  transform: none !important;
}

/* Render below-the-fold sections only when the browser approaches them. */
main > section:not(:first-child),
main > div:not(:first-child),
.footer {
  content-visibility: auto;
  contain-intrinsic-size: 1px 700px;
}

/* Do not spend CPU/GPU on decorative motion when the user cannot see it. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }
}

/* 2026-09-14 home header visibility fix.
   Home previously inherited white navigation text from the transparent hero
   header design. The header is now solid white everywhere, so force one
   readable theme on every public page, including Home. */
.topbar .brand strong,
.page-home .topbar .brand strong,
body:has(.home-landing) .topbar .brand strong {
  color: #ffffff !important;
  text-shadow: none !important;
}

.topbar .brand em,
.page-home .topbar .brand em,
body:has(.home-landing) .topbar .brand em {
  color: #e79a00 !important;
  text-shadow: none !important;
}

.topbar .site-nav > ul > li > a,
.topbar .site-nav > ul > li > button,
.page-home .topbar .site-nav > ul > li > a,
.page-home .topbar .site-nav > ul > li > button,
body:has(.home-landing) .topbar .site-nav > ul > li > a,
body:has(.home-landing) .topbar .site-nav > ul > li > button {
  color: #ffffff !important;
  text-shadow: none !important;
}

.topbar .site-nav > ul > li > a:hover,
.topbar .site-nav > ul > li > button:hover,
.topbar .site-nav > ul > li > a.active,
.topbar .site-nav > ul > li > button.active-parent,
.page-home .topbar .site-nav > ul > li > a:hover,
.page-home .topbar .site-nav > ul > li > button:hover,
.page-home .topbar .site-nav > ul > li > a.active,
.page-home .topbar .site-nav > ul > li > button.active-parent,
body:has(.home-landing) .topbar .site-nav > ul > li > a:hover,
body:has(.home-landing) .topbar .site-nav > ul > li > button:hover,
body:has(.home-landing) .topbar .site-nav > ul > li > a.active,
body:has(.home-landing) .topbar .site-nav > ul > li > button.active-parent {
  background: #f4ba41 !important;
  color: #26342c !important;
  text-shadow: none !important;
}

.topbar .site-nav .nav-donate-link,
.page-home .topbar .site-nav .nav-donate-link,
body:has(.home-landing) .topbar .site-nav .nav-donate-link {
  background: #f4ba41 !important;
  color: #26342c !important;
  font-weight: 700 !important;
}

/* Dropdowns must stay readable against their light menu surface. */
.topbar .site-nav li ul a,
.page-home .topbar .site-nav li ul a,
body:has(.home-landing) .topbar .site-nav li ul a {
  color: #25302a !important;
  text-shadow: none !important;
}


/* Final unified dark header: visible immediately on every page. */
.topbar,.page-home .topbar,body:has(.home-landing) .topbar{background:#343a3c!important;color:#fff!important;}
.topbar .brand strong,.page-home .topbar .brand strong{color:#fff!important;}
.topbar .brand em,.page-home .topbar .brand em{color:#f4ba41!important;}
.topbar .site-nav>ul>li>a,.topbar .site-nav>ul>li>button,.page-home .topbar .site-nav>ul>li>a,.page-home .topbar .site-nav>ul>li>button{color:#fff!important;background:transparent!important;}
.topbar .site-nav>ul>li>a:hover,.topbar .site-nav>ul>li>button:hover,.topbar .site-nav>ul>li>a.active,.topbar .site-nav>ul>li>button.active-parent{background:#f4ba41!important;color:#1f2b24!important;}
.topbar .site-nav .nav-donate-link{background:#f4ba41!important;color:#1f2b24!important;}
.topbar .site-nav .has-menu>ul{background:#fff!important;}
.topbar .site-nav .has-menu>ul a{color:#25302a!important;background:#fff!important;}
.topbar .site-nav .has-menu>ul a:hover{background:#f6eedc!important;color:#18221d!important;}
@media(max-width:1050px){.topbar .site-nav{background:#343a3c!important;border-color:#2b3032!important}.topbar .site-nav .has-menu>ul{background:#2f3537!important}.topbar .site-nav .has-menu>ul a{background:transparent!important;color:#fff!important}}


/* 2026-09-14 dropdown visibility fix: sticky header must not clip menus. */
.topbar{
  overflow: visible !important;
  contain: none !important;
  isolation: isolate;
}
.site-nav,
.site-nav > ul,
.site-nav > ul > li,
.site-nav .has-menu{
  overflow: visible !important;
}
@media (min-width:1051px){
  .topbar .site-nav .has-menu > ul{
    z-index: 7000 !important;
    top: calc(100% + 8px) !important;
    display: none;
  }
  .topbar .site-nav .has-menu:hover > ul,
  .topbar .site-nav .has-menu:focus-within > ul,
  .topbar .site-nav .has-menu > button[aria-expanded="true"] + ul{
    display: block !important;
  }
}

/* ---- donation popup conversion 2026-09-14 ---- */
.donate-now-button{border:0;cursor:pointer;font-family:inherit}
.donation-modal{position:fixed;inset:0;z-index:10050;display:none;align-items:center;justify-content:center;padding:24px;overflow:auto}
.donation-modal.is-open{display:flex}
.donation-modal-backdrop{position:fixed;inset:0;background:rgba(17,24,27,.58);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.donation-modal-dialog{position:relative;z-index:1;width:min(100%,650px);max-height:calc(100vh - 48px);overflow:auto;background:#f8f9fa;border-radius:18px;padding:30px 34px 34px;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.donation-modal-close{position:absolute;top:14px;right:16px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;background:#fff;color:#343a3c;font:400 30px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.08);z-index:2}
.donation-modal-close:hover{background:#f2f4f7}
.donation-modal .donation-options-intro{margin:0 auto 22px;padding:0 34px}
.donation-modal .donation-widget{box-shadow:none}
body.donation-modal-open{overflow:hidden}
@media(max-width:680px){.donation-modal{padding:12px}.donation-modal-dialog{max-height:calc(100vh - 24px);padding:24px 14px 18px;border-radius:14px}.donation-modal .donation-options-intro{padding:0 20px;margin-bottom:18px}.donation-modal .donation-options-intro h2{font-size:27px}.donation-modal-close{top:9px;right:9px}.donation-modal .donation-widget{padding:18px}.donation-modal .amount-grid{grid-template-columns:1fr 1fr}}


/* ---- 2026-09-15: Peace Day typography + Icons8 social standard ---- */
:root{--peace-font:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
html,body,body *,button,input,textarea,select,option,optgroup,table,th,td,summary,details{
  font-family:var(--peace-font)!important;
}
/* Never let legacy glyph rules replace the real social-network artwork. */
.icons8-social-icon{
  display:block!important;
  width:28px!important;
  height:28px!important;
  max-width:28px!important;
  object-fit:contain!important;
  filter:none!important;
  opacity:1!important;
}
.footer-clean .footer-social-icons a{
  width:36px!important;
  height:36px!important;
  padding:4px!important;
  background:#fff!important;
  border:1px solid #e3e7ec!important;
  border-radius:10px!important;
}
.footer-clean .footer-social-icons a:hover{
  background:#f8fafc!important;
  border-color:#cfd6df!important;
  transform:translateY(-1px)!important;
}
.footer-clean .footer-social-icons img.icons8-social-icon{
  width:26px!important;
  height:26px!important;
  max-width:26px!important;
  filter:none!important;
}
.social-tab-head .social-brand-icon img.icons8-social-icon{
  width:26px!important;
  height:26px!important;
  max-width:26px!important;
  filter:none!important;
}
/* Old text glyphs are retained only as a no-op compatibility fallback. */
.footer-social-glyph{display:none!important}
