:root {
  --green-deep: #6F8F28;
  --green-mid: #ADD037;
  --green-soft: #EAF2D0;
  --gold: #C4B85A;
  --terracotta: #B95C45;
  --cream: #F7F8F0;
  --ink: #202414;
  --paper: #FFFFFF;
  --thread: #8E8F70;
  --radius-lg: 22px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Work Sans', sans-serif;
  color:var(--ink);
  background:var(--cream);
  overflow-x:hidden;
}
h1,h2,h3,h4,.font-display{
  font-family:'Fraunces', serif;
  letter-spacing:-0.01em;
}
.font-mono{font-family:'IBM Plex Mono', monospace;}
.text-terracotta{color:var(--terracotta) !important;}
.text-gold{color:var(--gold) !important;}
.text-green-deep{color:var(--green-deep) !important;}
.bg-green-deep{background:var(--green-deep) !important;}
.bg-green-soft{background:var(--green-soft) !important;}
.bg-cream{background:var(--cream) !important;}
a{text-decoration:none;}

/* ---------- Stitched divider signature element ---------- */
.stitch-rule{
  position:relative;
  height:14px;
  width:64px;
  margin:14px 0 18px;
}
.stitch-rule::before{
  content:"";
  position:absolute;
  top:6px; left:0; right:0;
  height:2px;
  background-image:repeating-linear-gradient(90deg, var(--terracotta) 0 8px, transparent 8px 14px);
}
.eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--terracotta);
  font-weight:600;
}

/* ---------- Navbar ---------- */
.navbar-aab{
    background: var(--cream);
    border-bottom: 1px solid rgba(142,143,112,.25);
    padding: .45rem 0;
}

.navbar-aab .navbar-brand{
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
}

.bes-logo{
    width: 135px;
    height: auto;
    display: block;
}

.navbar-aab .nav-link{
    color: var(--ink) !important;
    font-weight: 500;
    font-size: .95rem;
    padding: .5rem .9rem !important;
    position: relative;
}

.navbar-aab .nav-link::after{
    content:"";
    position:absolute;
    left:.9rem;
    right:.9rem;
    bottom:.15rem;
    height:2px;
    background:var(--green-mid);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .25s ease;
}

.navbar-aab .nav-link:hover::after{
    transform:scaleX(1);
}

.navbar-aab .nav-link.active-page{
    color:var(--green-deep) !important;
}

.navbar-aab .nav-link.active-page::after{
    transform:scaleX(1);
}

.btn-donate{
    background:var(--green-mid);
    color:#fff;
    border-radius:999px;
    padding:.55rem 1.4rem;
    font-weight:600;
    border:none;
    transition:transform .2s ease, background .2s ease;
}

.btn-donate:hover{
    background:var(--green-deep);
    color:#fff;
    transform:translateY(-2px);
}
/* ---------- Hero ---------- */
.hero{
  position:relative;
  min-height:88vh;
  
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}
.hero .carousel-item{
  min-height:88vh;
  background-size:cover;
  background-position:center;
}
.hero .carousel-item::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(20,32,26,.35) 0%, rgba(15,25,20,.78) 100%);
}
.hero-slide-1{background-image:linear-gradient(rgba(15,25,20,.15),rgba(15,25,20,.75)), url('https://images.unsplash.com/photo-1509099836639-18ba1795216d?q=80&w=1740&auto=format&fit=crop');}
.hero-slide-2{background-image:linear-gradient(rgba(15,25,20,.15),rgba(15,25,20,.75)), url('https://images.unsplash.com/photo-1594708767771-a7502209ff51?q=80&w=1740&auto=format&fit=crop');}
.hero-slide-3{background-image:linear-gradient(rgba(15,25,20,.15),rgba(15,25,20,.75)), url('https://images.unsplash.com/photo-1591622846728-32b8dc4ccbfe?q=80&w=1740&auto=format&fit=crop');}
.hero-caption{
  position:relative;
  z-index:3;
  max-width:640px;
}
.hero-caption .eyebrow{color:var(--gold);}
.hero-caption h1{
  font-size:clamp(2.4rem, 5.5vw, 4.2rem);
  font-weight:600;
  line-height:1.02;
  color:#fff;
}
.hero-caption p{
  font-size:1.1rem;
  color:rgba(255,255,255,.88);
  max-width:520px;
}
.hero .carousel-indicators [data-bs-target]{
  width:34px; height:3px; border-radius:2px; background:rgba(255,255,255,.4); opacity:1;
}
.hero .carousel-indicators .active{background:var(--gold);}
@media (min-width: 1400px) {
    .hero,
    .hero #heroCarousel,
    .hero .carousel-inner,
    .hero .carousel-item {
        width: 100%;
    }
}
/* ---------- Donate widget ---------- */
.donate-section{
    position:relative;
    z-index:10;
    margin-top:-450px;
    margin-bottom:70px;
}

.donate-card{
    position:relative;
    z-index:5;
    background:var(--paper);
    border:1px solid rgba(142,143,112,.18);
    border-radius:var(--radius-lg);
    padding:2rem;
    box-shadow:0 20px 50px rgba(32,36,20,.16);
}

.donate-card .eyebrow{
    color:var(--green-mid);
    font-weight:700;
    font-size:.75rem;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.donate-card h5{
    color:var(--green-deep);
    font-weight:700;
}

.form-control-aab{
    min-height:46px;
    border:1px solid rgba(142,143,112,.3);
    border-radius:10px;
    background:var(--cream);
    color:var(--ink);
    padding:.65rem .85rem;
}

.form-control-aab:focus{
    border-color:var(--green-mid);
    box-shadow:0 0 0 .2rem rgba(173,208,55,.18);
    background:var(--paper);
}

.form-control-aab::placeholder{
    color:var(--secondary);
    opacity:.75;
}

.amount-pill{
    border:1px solid rgba(111,143,40,.35);
    background:var(--paper);
    color:var(--green-deep);
    border-radius:999px;
    padding:.5rem 1rem;
    font-size:.9rem;
    font-weight:600;
    transition:all .2s ease;
}

.amount-pill:hover,
.amount-pill.active{
    background:var(--green-mid);
    border-color:var(--green-mid);
    color:#fff;
    transform:translateY(-1px);
}

.btn-donate{
    background:var(--green-mid);
    color:#fff;
    border:none;
    border-radius:999px;
    padding:.65rem 1.4rem;
    font-weight:600;
    transition:all .2s ease;
}

.btn-donate:hover{
    background:var(--green-deep);
    color:#fff;
    transform:translateY(-2px);
}

#donateFeedback{
    color:var(--green-deep);
}

@media (min-width:1200px){
    .donate-section{
        margin-top:-450px;
        margin-bottom:70px;
    }
}

@media (min-width:768px) and (max-width:1199px){
    .donate-section{
        margin-top:-300px;
        margin-bottom:60px;
    }

    .donate-card{
        padding:1.75rem;
    }
}

@media (max-width:767px){
    .donate-section{
        margin-top:-70px;
        margin-bottom:45px;
        padding-left:15px;
        padding-right:15px;
    }

    .donate-card{
        width:100%;
        padding:1.5rem;
        border-radius:18px;
    }

    .amount-pill{
        padding:.45rem .85rem;
        font-size:.85rem;
    }
}

@media (max-width:480px){
    .donate-section{
        margin-top:-30px;
        margin-bottom:40px;
    }

    .donate-card{
        padding:1.25rem;
    }

    .donate-card h5{
        font-size:1.15rem;
    }

    .amount-pill{
        flex:1 1 auto;
        text-align:center;
    }
}
/* ---------- Section headers ---------- */
.section-pad{ padding:2.25rem 0;}
.section-head{max-width:640px;}
.section-head h2{font-size:clamp(1.9rem,3.2vw,2.6rem); font-weight:600; color:var(--green-deep);}

/* ---------- Program cards ---------- */
.prog-card{
  border-radius:var(--radius-lg);
  overflow:hidden;
  position:relative;
  min-height:400px;
  display:flex;
  align-items:flex-end;
  color:#fff;
  background-size:cover;
  background-position:center;
  transition:transform .35s ease, box-shadow .35s ease;
}
.prog-card::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,25,20,0) 30%, rgba(15,25,20,.9) 100%);
}
.prog-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(15,25,20,.25);}
.prog-card .prog-body{position:relative; z-index:2; padding:1.6rem;}
.prog-card .prog-tag{
  font-family:'IBM Plex Mono', monospace;
  font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold);
}
.prog-card h4{font-family:'Fraunces', serif; font-weight:600;}
.prog-card .tour-link{color:#fff; font-weight:600; font-size:.9rem;}
.prog-card .tour-link i{transition:transform .2s ease;}
.prog-card:hover .tour-link i{transform:translateX(4px);}

/* ---------- Impact counters ---------- */
.impact-strip{
  background:var(--green-deep);
  color:#fff;
  border-radius:var(--radius-lg);
}
.impact-stat{padding:2.2rem 1rem; text-align:center; border-left:1px solid rgba(255,255,255,.12);}
.impact-stat:first-child{border-left:none;}
.impact-stat .num{
  font-family:'IBM Plex Mono', monospace;
  font-size:clamp(1.8rem,3vw,2.4rem);
  font-weight:600;
  color:var(--gold);
}
.impact-stat .lbl{font-size:.85rem; color:rgba(255,255,255,.75); margin-top:.35rem;}

/* ---------- Card grids (news/stories/events/media) ---------- */
.content-card{
  background:var(--paper);
  border-radius:18px;
  overflow:hidden;
  height:100%;
  border:1px solid rgba(23,60,48,.08);
  transition:transform .3s ease, box-shadow .3s ease;
}
.content-card:hover{transform:translateY(-5px); box-shadow:0 18px 36px rgba(15,25,20,.12);}
.content-card img{height:190px; object-fit:cover; width:100%;}
.content-card .card-body{padding:1.25rem 1.35rem 1.5rem;}
.content-card .cat-badge{
  font-family:'IBM Plex Mono', monospace;
  font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--terracotta); font-weight:600;
}
.content-card h5{font-family:'Fraunces', serif; font-weight:600; font-size:1.08rem; line-height:1.3;}
.content-card p.excerpt{font-size:.9rem; color:#5b6560;}
.read-more-link{font-weight:600; font-size:.85rem; color:var(--green-deep);}
.read-more-link i{transition:transform .2s ease;}
.read-more-link:hover i{transform:translateX(3px);}

.nav-pills-aab .nav-link{
  border-radius:999px;
  font-weight:600;
  font-size:.85rem;
  color:var(--green-deep);
  padding:.4rem 1.1rem;
}
.nav-pills-aab .nav-link.active{background:var(--green-deep); color:#fff;}

/* ---------- Social section ---------- */
.social-embed-card {
    width: 100%;
    height: 100%;
    min-height: 100%;
    border-radius: 18px;
    overflow: hidden;
    background: var(--paper);
    border: 1px solid rgba(142, 143, 112, .18);
    box-shadow: 0 10px 30px rgba(32, 36, 20, .08);
    transition: transform .25s ease, box-shadow .25s ease;
    display: flex;
    flex-direction: column;
}

.social-embed-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 38px rgba(32, 36, 20, .12);
}

.social-embed-card h5 {
    color: var(--green-deep);
    font-weight: 700;
    margin-bottom: .75rem;
}

.social-embed-card p {
    color: var(--olive-dark);
    line-height: 1.7;
}

.youtube-card,
.facebook-card {
    padding: 1.5rem;
}

.youtube-heading,
.facebook-heading {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.youtube-icon {
    color: #ff0000;
    font-size: 2.6rem;
    flex-shrink: 0;
    line-height: 1;
}

.facebook-icon {
    color: var(--green-mid);
    font-size: 2.6rem;
    flex-shrink: 0;
    line-height: 1;
}

.youtube-heading h5,
.facebook-heading h5 {
    margin-bottom: .25rem;
}

.youtube-heading p,
.facebook-heading p {
    margin: 0;
    font-size: .9rem;
    line-height: 1.6;
}

.youtube-video {
    width: 100%;
    background: #202414;
    border-radius: 12px;
    overflow: hidden;
    flex: 0 0 auto;
}

.youtube-video iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

.facebook-page {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    border-radius: 12px;
    background: var(--paper);
    flex: 0 0 auto;
}

.facebook-page .fb-page {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.facebook-page .fb_iframe_widget {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.facebook-page .fb_iframe_widget > span {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
}

.facebook-page iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border: 0 !important;
}

.social-embed-card .btn-donate,
.btn-youtube {
    align-self: flex-start;
    background: var(--green-mid);
    color: #fff;
    border: 0;
    border-radius: 999px;
    padding: .65rem 1.3rem;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s ease, color .2s ease, transform .2s ease;
    margin-top: 1rem;
    flex-shrink: 0;
}

.btn-youtube {
    background: #ff0000;
    color: #fff;
}

.social-embed-card .btn-donate:hover {
    background: var(--green-deep);
    color: #fff;
    transform: translateY(-2px);
}

.btn-youtube:hover {
    background: #cc0000;
    color: #fff;
    transform: translateY(-2px);
}

.social-embed-card .btn-donate i,
.btn-youtube i {
    transition: transform .2s ease;
}

.social-embed-card .btn-donate:hover i,
.btn-youtube:hover i {
    transform: translate(2px, -2px);
}

@media (min-width: 1200px) {
    .social-embed-card {
        border-radius: 18px;
    }

    .youtube-card,
    .facebook-card {
        padding: 1.5rem;
    }
}

@media (max-width: 1199px) {
    .social-embed-card {
        border-radius: 16px;
    }

    .social-embed-card h5 {
        font-size: 1.15rem;
    }
}

@media (max-width: 991px) {
    .social-embed-card {
        height: auto;
        min-height: auto;
    }

    .youtube-card,
    .facebook-card {
        min-height: auto;
    }

    .facebook-page {
        min-height: 337px;
    }
}

@media (max-width: 767px) {
    .social-embed-card {
        border-radius: 16px;
        box-shadow: 0 8px 25px rgba(32, 36, 20, .07);
    }

    .youtube-card,
    .facebook-card {
        padding: 1.25rem;
    }

    .youtube-heading,
    .facebook-heading {
        gap: .8rem;
        margin-bottom: 1rem;
    }

    .youtube-icon,
    .facebook-icon {
        font-size: 2.2rem;
    }

    .youtube-heading h5,
    .facebook-heading h5 {
        font-size: 1.05rem;
    }

    .youtube-heading p,
    .facebook-heading p {
        font-size: .85rem;
        line-height: 1.6;
    }

    .youtube-video {
        min-height: 220px;
        border-radius: 10px;
    }

    .facebook-page {
        min-height: 380px;
        border-radius: 10px;
    }

    .social-embed-card .btn-donate,
    .btn-youtube {
        width: 100%;
        text-align: center;
        padding: .7rem 1rem;
    }
}

@media (max-width: 480px) {
    .social-embed-card {
        border-radius: 14px;
    }

    .youtube-card,
    .facebook-card {
        padding: 1rem;
    }

    .youtube-heading,
    .facebook-heading {
        gap: .7rem;
    }

    .youtube-icon,
    .facebook-icon {
        font-size: 2rem;
    }

    .youtube-heading h5,
    .facebook-heading h5 {
        font-size: 1rem;
    }

    .youtube-heading p,
    .facebook-heading p {
        font-size: .82rem;
    }

    .youtube-video {
        min-height: 200px;
    }

    .facebook-page {
        min-height: 350px;
    }
}
/* ---------- Newsletter ---------- */
.newsletter-band{
  background:var(--gold);
  border-radius:var(--radius-lg);
}

/* ---------- Footer ---------- */
#footer{
    background: var(--ink);
    color: rgba(255,255,255,.72);
}

#footer .footer-brand{
    display: block;
    margin-bottom: 1rem;
}

/* Logo */
#footer .footer-logo{
    width: 125px;
    height: auto;
    display: block;
    object-fit: contain;
}

/* Text */
#footer p{
    color: rgba(255,255,255,.72);
    line-height: 1.7;
}

#footer h6{
    font-family: 'IBM Plex Mono', monospace;
    font-size: .75rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--green-mid);
    margin-bottom: 1rem;
}

#footer ul{
    margin: 0;
    padding: 0;
}

#footer li{
    margin-bottom: .65rem;
}

#footer a{
    color: rgba(255,255,255,.72);
    text-decoration: none;
    transition: color .2s ease;
}

#footer a:hover{
    color: var(--green-mid);
}

/* Social icons */
#footer .social-icon{
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: rgba(255,255,255,.08);
    color: #fff;

    transition:
        background .2s ease,
        color .2s ease,
        transform .2s ease;
}

#footer .social-icon:hover{
    background: var(--green-mid);
    color: #fff;
    transform: translateY(-2px);
}

/* Divider */
#footer hr{
    border: 0;
    border-top: 1px solid rgba(255,255,255,.12);
    margin: 1rem 0;
}

/* Bottom */
#footer .small{
    font-size: .85rem;
}

/* Mobile */
@media (max-width: 767px){

    #footer .footer-logo{
        width: 115px;
    }

    #footer{
        text-align: left;
    }

}

/* ---------- Back to top ---------- */
#backToTop{
  position:fixed; bottom:24px; right:24px; z-index:999;
  width:46px; height:46px; border-radius:50%;
  background:var(--green-deep); color:#fff;
  display:none; align-items:center; justify-content:center;
  border:none; box-shadow:0 10px 24px rgba(0,0,0,.25);
}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

@media (min-width: 992px) and (max-width: 1366px) {
    #impact .impact-stat .num {
        font-size: 32px !important;
    }
}

/* Large Desktop */
@media (min-width: 1367px) and (max-width: 1600px) {
    #impact .impact-stat .num {
        font-size: 35px !important;
    }
}

/* ---------- Inner page banner ---------- */
.page-banner{
  position:relative;
  min-height:52vh;
  display:flex;
  align-items:center;
  color:#fff;
  background-size:cover;
  background-position:center;
}
.page-banner::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,25,20,.35) 0%, rgba(15,25,20,.85) 100%);
}
.page-banner .banner-inner{position:relative; z-index:2;}
.page-banner h1{font-size:clamp(2rem,4.5vw,3.2rem); font-weight:600;}
.breadcrumb-aab{font-family:'IBM Plex Mono', monospace; font-size:.78rem; letter-spacing:.06em;}
.breadcrumb-aab a{color:rgba(255,255,255,.75);}
.breadcrumb-aab a:hover{color:#fff;}

/* ---------- Value / stat / team cards ---------- */
.value-card{
  background:var(--paper);
  border-radius:18px;
  padding:2rem 1.6rem;
  height:100%;
  border:1px solid rgba(23,60,48,.08);
  transition:transform .3s ease, box-shadow .3s ease;
}
.value-card:hover{transform:translateY(-5px); box-shadow:0 18px 36px rgba(15,25,20,.1);}
.value-card .value-icon{
  width:52px; height:52px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background:var(--green-soft); color:var(--green-deep);
  font-size:1.4rem; margin-bottom:1rem;
}
.value-card h5{font-family:'Fraunces', serif; font-weight:600;}

.team-card{text-align:center;}
.team-card .avatar{
  width:100%; aspect-ratio:1/1; object-fit:cover;
  border-radius:18px; margin-bottom:1rem;
}
.team-card h6{font-family:'Fraunces', serif; font-weight:600; margin-bottom:.15rem;}
.team-card .role{font-size:.82rem; color:var(--terracotta); font-family:'IBM Plex Mono', monospace;}

/* ---------- Timeline (Our Story) ---------- */
.timeline{position:relative; padding-left:2.2rem;}
.timeline::before{
  content:""; position:absolute; left:6px; top:6px; bottom:6px; width:2px;
  background:repeating-linear-gradient(180deg, var(--thread) 0 6px, transparent 6px 12px);
}
.timeline-item{position:relative; padding-bottom:2.2rem;}
.timeline-item::before{
  content:""; position:absolute; left:-2.2rem; top:4px; width:14px; height:14px;
  border-radius:50%; background:var(--terracotta); border:3px solid var(--cream);
}
.timeline-item .yr{font-family:'IBM Plex Mono', monospace; color:var(--terracotta); font-weight:600; font-size:.85rem;}
.timeline-item h6{font-family:'Fraunces', serif; font-weight:600; margin:.2rem 0 .3rem;}

/* ---------- Office / footprint cards ---------- */
.office-card{
  background:var(--paper); border-radius:16px; padding:1.4rem;
  border:1px solid rgba(23,60,48,.08); height:100%;
}
.office-card .region-tag{
  font-family:'IBM Plex Mono', monospace; font-size:.7rem; letter-spacing:.08em;
  text-transform:uppercase; color:var(--green-mid); font-weight:600;
}
.office-card h6{font-family:'Fraunces', serif; font-weight:600; margin:.35rem 0;}
.map-frame{
  border-radius:18px; overflow:hidden; border:1px solid rgba(23,60,48,.1);
}

/* ---------- Careers / job cards ---------- */
.job-card{
  background:var(--paper); border-radius:16px; padding:1.5rem;
  border:1px solid rgba(23,60,48,.08);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem;
  transition:box-shadow .25s ease, transform .25s ease;
}
.job-card:hover{box-shadow:0 16px 32px rgba(15,25,20,.1); transform:translateY(-3px);}
.job-card h6{font-family:'Fraunces', serif; font-weight:600; margin-bottom:.25rem;}
.job-meta{font-size:.82rem; color:#5b6560;}
.job-meta i{margin-right:.3rem;}
.badge-open{
  background:var(--green-soft); color:var(--green-deep);
  font-family:'IBM Plex Mono', monospace; font-size:.68rem; letter-spacing:.06em;
  text-transform:uppercase; padding:.35rem .7rem; border-radius:999px; font-weight:600;
}
.perk-strip{
  display:flex; flex-wrap:wrap; gap:.6rem;
}
.perk-chip{
  background:var(--green-soft); color:var(--green-deep);
  border-radius:999px; padding:.4rem .9rem; font-size:.82rem; font-weight:600;
}

/* ---------- Content page filter / pagination ---------- */
.filter-bar .nav-link{
  border-radius:999px; font-weight:600; font-size:.85rem;
  color:var(--green-deep); border:1.5px solid rgba(23,60,48,.15);
  padding:.4rem 1.1rem;
}
.filter-bar .nav-link.active{background:var(--green-deep); color:#fff; border-color:var(--green-deep);}
.page-dots{display:flex; gap:.5rem; justify-content:center; margin-top:2.5rem;}
.page-dots button{
  width:38px; height:38px; border-radius:50%; border:1.5px solid rgba(23,60,48,.2);
  background:var(--paper); font-family:'IBM Plex Mono', monospace; font-weight:600;
  color:var(--green-deep);
}
.page-dots button.active{background:var(--green-deep); color:#fff; border-color:var(--green-deep);}

/* ---------- Stat block (footprint numbers) ---------- */
.stat-block{
  text-align:center; padding:1.6rem 1rem;
  border-right:1px solid rgba(23,60,48,.1);
}
.stat-block:last-child{border-right:none;}
.stat-block .num{font-family:'IBM Plex Mono', monospace; font-weight:600; font-size:2rem; color:var(--terracotta);}
.stat-block .lbl{font-size:.85rem; color:#5b6560; margin-top:.3rem;}
@media (max-width:767px){
  .stat-block{border-right:none; border-bottom:1px solid rgba(23,60,48,.1);}
}
