/* CMS-driven theme overrides */
body{background:var(--forest);color:var(--text);font-family:var(--font-stack);font-size:var(--base-size)}
.section{padding:var(--section-spacing) 0}
.grid{gap:var(--card-gap)}
.nav{min-height:var(--header-height)}
.site-header{background:color-mix(in srgb,var(--forest) 96%,transparent)}
.site-announcement{background:var(--orange);color:#081710;font-weight:800;font-size:.9rem}
.site-announcement .container{min-height:38px;display:flex;align-items:center;justify-content:center;gap:14px;text-align:center}
.site-announcement a{text-decoration:underline;text-underline-offset:3px}
.footer-meta{padding-top:18px;margin-top:24px;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted-2)}
.hero h1,.page-hero h1,.section-title,h1,h2,h3{font-weight:var(--heading-weight)}
.heading-none .hero h1,.heading-none .page-hero h1,.heading-none .section-title,.heading-none h1,.heading-none h2,.heading-none h3{text-transform:none}
.heading-uppercase .hero h1,.heading-uppercase .page-hero h1,.heading-uppercase .section-title,.heading-uppercase h1,.heading-uppercase h2,.heading-uppercase h3{text-transform:uppercase}
.project-card,.info-card,.access-card,.timeline-card,.stat,.path-node{border-radius:var(--radius)}
.theme-card-flat .project-card,.theme-card-flat .info-card,.theme-card-flat .access-card,.theme-card-flat .timeline-card,.theme-card-flat .stat{background:var(--forest2);box-shadow:none}
.theme-card-bordered .project-card,.theme-card-bordered .info-card,.theme-card-bordered .access-card,.theme-card-bordered .timeline-card,.theme-card-bordered .stat{background:transparent;box-shadow:none;border:1px solid var(--tan)}
.theme-card-gradient .project-card,.theme-card-gradient .info-card,.theme-card-gradient .access-card,.theme-card-gradient .timeline-card,.theme-card-gradient .stat{background:linear-gradient(145deg,var(--forest3),var(--forest))}
.theme-header-static .site-header{position:relative}
.theme-header-sticky .site-header{position:sticky}
.theme-hero-solid .hero{background:var(--forest2)}
.theme-hero-minimal .hero{background:var(--forest);min-height:auto}
.theme-hero-minimal .hero-inner{min-height:520px}
.theme-hero-minimal .hero:before{display:none}
.theme-hero-gradient .hero{background:radial-gradient(circle at 75% 28%,color-mix(in srgb,var(--orange) 28%,transparent),transparent 22%),linear-gradient(150deg,var(--forest2) 0%,var(--forest) 48%,var(--forest3) 100%)}
.theme-button-square .btn{border-radius:0}
.theme-button-soft .btn{border-radius:6px}
.theme-button-rounded .btn{border-radius:10px}
.theme-button-pill .btn{border-radius:999px}
.no-shadows .project-card,.no-shadows .info-card,.no-shadows .access-card,.no-shadows .timeline-card,.no-shadows .stat,.no-shadows .hero-mark img{box-shadow:none;filter:none}
.no-animations *, .no-animations *::before,.no-animations *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
.no-topo-texture .section-topo{background:var(--forest)}
.no-topo-texture .hero:before{background:none}
.btn-primary{background:var(--orange);border-color:var(--orange)}
.btn-primary:hover{background:var(--orange2)}
.eyebrow,.text-link,.card-cta,.timeline-date{color:var(--orange2)}
.project-card.offgrid .project-icon,.path-node .icon{color:var(--cyan)}
.lead,.card-copy,.content-body,.prose p,.prose li{color:var(--tan)}
.section-intro,.info-card p,footer{color:var(--muted)}
.access-card small,.stat small,.path-node small{color:var(--muted-2)}
@media(max-width:640px){.site-announcement .container{padding:8px 0;flex-direction:column;gap:2px}}
