/* Afristar Foundation: static site stylesheet (look matched to the existing site)
   Teal and olive bands, forest photography, Open Sans throughout. */

@font-face {
  font-family: "Open Sans";
  font-weight: 300 800;
  font-style: normal;
  font-display: swap;
  src: url("fonts/OpenSans-Variable.woff2") format("woff2");
}

:root {
  --teal: #2d708e;
  --teal-deep: #1f5a74;
  --olive: #6a742e;
  --olive-deep: #566024;
  --leaf: #2c6b50;
  --regen: #60802c;
  --ochre: #b2521f;
  --ink: #333a38;
  --ink-soft: #5b6663;
  --rule: #d9dfdc;
  --paper: #ffffff;
  --grey: #d9d9d9;
  --sans: "Open Sans", "Segoe UI", system-ui, -apple-system, Roboto, Helvetica, Arial, sans-serif;
  --wrap: 1080px;
  --measure: 66ch;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; font-family: var(--sans); font-size: 1rem; line-height: 1.75; color: var(--ink); background: var(--paper);
}
img { max-width: 100%; height: auto; }
a { color: var(--teal-deep); text-underline-offset: 0.18em; }
a:hover { color: var(--teal); }
:focus-visible { outline: 3px solid var(--ochre); outline-offset: 3px; }
.skip { position: absolute; left: -999px; top: 0; background: var(--ink); color: #fff; padding: 0.6rem 1rem; z-index: 100; }
.skip:focus { left: 0; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 1.5rem; }
.measure { max-width: var(--measure); }

/* ---------- Header ---------- */
.site-header { background: #fff; position: relative; z-index: 20; box-shadow: 0 1px 0 var(--rule); }
.site-header .wrap { max-width: 1280px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; min-height: 5.6rem; }
.brand { display: flex; align-items: center; text-decoration: none; color: var(--ink); }
.brand img { height: 4.2rem; width: auto; display: block; }
.brand img[hidden] { display: none; }
.brand-fallback { display: flex; align-items: center; gap: 0.8rem; }
.brand-fallback[hidden] { display: none; }
.brand-star { width: 3.2rem; height: 3.2rem; border-radius: 50%; background: var(--teal); position: relative; flex: none; }
.brand-star::after { content: ""; position: absolute; inset: 0; margin: auto; width: 1.45rem; height: 1.45rem; background: #fff; clip-path: polygon(50% 0, 62% 36%, 100% 38%, 70% 60%, 80% 100%, 50% 76%, 20% 100%, 30% 60%, 0 38%, 38% 36%); }
.brand-name { font-weight: 700; font-size: 1.5rem; }
.brand-name span { color: var(--teal); }
.brand-sub { display: block; font-size: 0.72rem; font-weight: 600; letter-spacing: 0.12em; color: var(--ink-soft); }

.nav-toggle { position: absolute; opacity: 0; pointer-events: none; }
.nav-button { display: none; cursor: pointer; padding: 0.5rem 0.9rem; border: 1px solid var(--rule); border-radius: 4px; font-weight: 600; font-size: 0.95rem; }
.site-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.1rem 1.35rem; justify-content: flex-end; }
.site-nav a { display: block; padding: 0.4rem 0; text-decoration: none; color: var(--ink); font-size: 0.9rem; font-weight: 500; text-transform: lowercase; border-bottom: 2px solid transparent; }
.site-nav a:hover { color: var(--teal); border-color: var(--rule); }
.site-nav a[aria-current="page"] { color: var(--teal); border-color: var(--teal); }

@media (max-width: 1040px) {
  .nav-button { display: block; }
  .site-nav { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--rule); display: none; }
  .site-nav ul { flex-direction: column; padding: 0.5rem 1.5rem 1rem; gap: 0; }
  .site-nav a { padding: 0.65rem 0; }
  .nav-toggle:checked ~ .site-nav { display: block; }
}

/* ---------- Home hero ---------- */
.hero {
  color: #fff; text-align: center; padding: 9rem 0 8rem; min-height: 30rem; display: grid; align-items: center;
  background:
    radial-gradient(ellipse 60% 55% at 50% 50%, rgba(6, 30, 16, 0.38), rgba(6, 30, 16, 0) 100%),
    linear-gradient(rgba(6, 30, 16, 0.10), rgba(6, 30, 16, 0.10)),
    url("images/hero-canopy.jpg") center / cover no-repeat,
    radial-gradient(120% 140% at 20% 10%, #4f8f5f 0%, #2f6a4a 55%, #204a3a 100%);
}
.hero h1 {
  color: #fff; font-weight: 700; font-size: clamp(1.8rem, 3.6vw, 2.8rem); line-height: 1.25; letter-spacing: -0.005em;
  margin: 0 auto; max-width: 36ch; text-wrap: balance; text-shadow: 0 2px 4px rgba(0, 0, 0, 0.25), 0 4px 28px rgba(0, 0, 0, 0.5);
}
.hero-cta { margin: 0; }
.hero-cta .btn { margin: 0.3rem 0.5rem; padding: 0.85rem 1.8rem; }
.hero-cta .btn.ghost { background: rgba(255, 255, 255, 0.08); }


.band.leaf { background: var(--leaf); padding-right: 3rem; }
.band.regen { background: var(--regen); padding-left: 3rem; }
.focus .band { padding-top: 1.5rem; padding-bottom: 1.5rem; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 1.5rem; }
.focus .band p { margin: 0; }
.focus .band p:last-child { white-space: nowrap; }
.focus-text { font-size: clamp(1rem, 1.5vw, 1.15rem); font-weight: 600; line-height: 1.4; max-width: 30ch; color: #fff; }
@media (max-width: 760px) { .band.leaf, .band.regen { padding: 1.4rem 1.5rem; } .focus .band { flex-direction: column; align-items: flex-start; gap: .6rem; } }

/* ---------- Generic ---------- */
.section { padding: 4.5rem 0; }
.section.tint { background: #f1f5f3; }
h1, h2, h3 { color: var(--ink); line-height: 1.25; font-weight: 700; }
h2 { font-size: clamp(1.45rem, 2.6vw, 1.9rem); margin: 0 0 1.1rem; }
h3 { font-size: 1.15rem; margin: 1.9rem 0 0.4rem; }
p { margin: 0 0 1.15rem; }
.lead { font-size: 1.22rem; line-height: 1.65; font-weight: 300; color: var(--ink); }
.center { text-align: center; }
.intro .lead { max-width: 52rem; margin: 0 auto 1.3rem; text-align: center; }
.intro p { max-width: 46rem; margin-left: auto; margin-right: auto; text-align: center; }
.inscription { margin: 2.2rem auto 0; text-align: center; font-weight: 300; font-size: 1.3rem; color: var(--olive-deep); }
.inscription cite { display: block; font-size: 0.88rem; font-style: normal; font-weight: 400; color: var(--ink-soft); margin-top: 0.3rem; }

.mission { background: var(--teal); color: #fff; text-align: center; padding: 4.2rem 0 4.6rem; }
.mission h2 { color: #fff; font-size: 0.95rem; font-weight: 700; letter-spacing: 0.04em; display: inline-block; padding-bottom: 0.9rem; border-bottom: 2px solid #fff; margin-bottom: 2rem; }
.mission p { font-size: clamp(1.15rem, 2.1vw, 1.55rem); font-weight: 300; line-height: 1.6; max-width: 48ch; margin: 0 auto; }

.areas-title { text-align: center; text-transform: uppercase; font-size: 1.02rem; letter-spacing: 0.01em; margin-bottom: 2.6rem; }
.areas { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; }
.areas a { text-decoration: none; color: inherit; display: block; text-align: center; }
.circle { width: 9.6rem; height: 9.6rem; border-radius: 50%; margin: 0 auto 1.2rem; background-size: cover; background-position: center; }
.circle.c1 { background-color: #1f5a3d; background-image: url("images/area-cannabis.jpg"); }
.circle.c2 { background-color: #4f6a2d; background-image: url("images/area-regeneration.jpg"); }
.circle.c3 { background-color: #8a4a22; background-image: url("images/area-media.jpg"); }
.circle.c4 { background-color: #2d708e; background-image: url("images/area-consultancy.jpg"); }
.areas h3 { margin: 0 0 0.5rem; font-size: 1.05rem; text-transform: uppercase; letter-spacing: 0.01em; }
.areas .c1 + h3 { color: var(--leaf); }
.areas .c2 + h3 { color: var(--regen); }
.areas .c3 + h3 { color: var(--ochre); }
.areas .c4 + h3 { color: var(--teal-deep); }
.areas p { font-size: 0.95rem; line-height: 1.6; color: var(--ink-soft); margin: 0 auto; max-width: 17rem; }
.areas a:hover h3 { text-decoration: underline; }
@media (max-width: 980px) { .areas { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .areas { grid-template-columns: 1fr; } }

.paths { list-style: none; margin: 1.4rem 0 0; padding: 0; border-top: 1px solid #c8d3ce; }
.paths li { display: grid; grid-template-columns: 11rem 1fr; gap: 1.5rem; padding: 0.95rem 0; border-bottom: 1px solid #c8d3ce; }
.paths strong { color: var(--ink); }
.paths span { color: var(--ink-soft); }
@media (max-width: 640px) { .paths li { grid-template-columns: 1fr; gap: 0.15rem; } }

.band-pair { display: grid; grid-template-columns: 1fr 1fr; }
.band { padding: 3.8rem max(1.5rem, calc((100vw - var(--wrap)) / 2)); color: #fff; }
.band.olive { background: var(--olive); padding-right: 3rem; }
.band.teal { background: var(--teal); padding-left: 3rem; }
.band h2 { color: #fff; }
.band p { max-width: 44ch; font-size: 0.97rem; line-height: 1.8; }
.band a { color: #fff; font-weight: 700; font-size: 0.85rem; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; }
.band a::after { content: " \2192"; }
@media (max-width: 760px) { .band-pair { grid-template-columns: 1fr; } .band.olive, .band.teal { padding: 2.6rem 1.5rem; } }

.resources h2 { margin-bottom: 2.2rem; }
.res-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 2.4rem; max-width: 46rem; margin-left: 0; }
.res-grid img { height: 4.4rem; width: auto; display: block; margin-bottom: 0.8rem; }
.res-grid h3 { margin: 0 0 0.3rem; font-weight: 400; font-size: 1.2rem; }
.res-grid p { font-size: 0.95rem; color: var(--ink-soft); line-height: 1.65; }
.res-grid a { font-weight: 600; font-size: 0.9rem; }
@media (max-width: 760px) { .res-grid { grid-template-columns: 1fr; gap: 1.6rem; } }

.close {
  color: #fff; text-align: center; padding: 6.5rem 0 6rem;
  background:
    linear-gradient(rgba(10, 28, 20, 0.52), rgba(10, 28, 20, 0.6)),
    url("images/close-forest.jpg") center 18% / cover no-repeat,
    linear-gradient(135deg, #2c5a43, #17342d);
}
.close h2 { color: #fff; font-size: clamp(1.7rem, 3.6vw, 2.4rem); margin-bottom: 1.2rem; }
.close p { max-width: 56ch; margin: 0 auto 2rem; }
.btn { display: inline-block; padding: 0.75rem 1.6rem; margin: 0.25rem 0.4rem; font-weight: 700; text-decoration: none; background: #fff; color: var(--ink); border: 2px solid #fff; border-radius: 3px; }
.btn:hover { background: transparent; color: #fff; }
.btn.ghost { background: transparent; color: #fff; }
.btn.ghost:hover { background: #fff; color: var(--ink); }

/* ---------- Interior pages ---------- */
.page-head { color: #fff; padding: 4rem 0 3.4rem; background: var(--teal); }
.page-head.olive { background: var(--olive-deep); }
.page-head.green { background: var(--leaf); }
.page-head.ochre { background: #8d4a22; }
.page-head h1 { color: #fff; font-size: clamp(1.9rem, 4vw, 2.7rem); margin: 0 0 1.2rem; text-transform: uppercase; letter-spacing: 0.01em; padding-bottom: 1rem; position: relative; }
.page-head h1::after { content: ""; position: absolute; left: 0; bottom: 0; width: 5rem; height: 2px; background: #fff; }
.page-head p { margin: 0; font-size: 1.3rem; font-weight: 300; max-width: 46ch; line-height: 1.5; }

.about-head .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.about-head p.small { font-size: 0.98rem; font-weight: 400; max-width: none; line-height: 1.75; margin-top: 3.2rem; }
@media (max-width: 820px) { .about-head .wrap { grid-template-columns: 1fr; gap: 0; } .about-head p.small { margin-top: 1.4rem; } }
.banner { display: block; width: 100%; height: clamp(9rem, 22vw, 17rem); object-fit: cover; background: #6e7d3d; }

.content { padding: 3.5rem 0 4.5rem; }
.content h2 { margin-top: 3.2rem; padding-top: 1.6rem; border-top: 1px solid var(--rule); }
.content h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.content ul { padding-left: 1.2rem; }
.content li { margin-bottom: 0.55rem; }
.entry { padding: 1.3rem 0; border-top: 1px solid var(--rule); }
.entry:last-child { border-bottom: 1px solid var(--rule); }
.entry h3 { margin: 0 0 0.35rem; font-size: 1.1rem; }
.entry p { margin-bottom: 0.4rem; }
.meta { font-size: 0.93rem; color: var(--ink-soft); }
.dl { font-weight: 600; font-size: 0.95rem; }
.note { font-size: 0.93rem; color: var(--ink-soft); max-width: 64ch; }

.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: start; }
@media (max-width: 820px) { .two-col { grid-template-columns: 1fr; gap: 2rem; } }
.two-col h2 { border: 0; padding: 0; margin: 0 0 1.2rem; font-size: 1.35rem; text-transform: uppercase; letter-spacing: 0.01em; }
.two-col img.pic { width: 100%; height: auto; display: block; margin-bottom: 1.2rem; background: #e6ece9; }
.about-block { padding: 3.2rem 0; border-top: 1px solid var(--rule); }
.about-block:first-of-type { border-top: 0; }

.content .board { list-style: none; padding-left: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; margin: 0; }
.content .board li { margin: 0; }
.board .portrait { aspect-ratio: 518 / 335; background: #e6ece9 center / cover no-repeat; margin-bottom: 0.5rem; }
.board strong { display: block; }
.board span { font-size: 0.93rem; color: var(--ink-soft); }

/* ---------- Shop ---------- */
.price-table { width: 100%; border-collapse: collapse; margin: 1.4rem 0 0.8rem; }
.price-table caption { text-align: left; font-weight: 600; padding-bottom: 0.6rem; color: var(--ink-soft); }
.price-table th, .price-table td { text-align: left; padding: 0.75rem 0.9rem; border-bottom: 1px solid var(--rule); }
.price-table thead th { background: #eef3f1; font-size: 0.9rem; color: var(--ink-soft); font-weight: 600; }
.price-table td.num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.price-table tr.best td { background: #f4f6e8; font-weight: 700; }

.donate-grid { list-style: none; padding: 0; margin: 1.4rem 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); gap: 1rem; }
.donate-grid li { margin: 0; }
.donate-grid a { display: block; text-decoration: none; padding: 1rem 1.1rem; border: 2px solid var(--teal); border-radius: 3px; color: var(--ink); }
.donate-grid a:hover { background: var(--teal); color: #fff; }
.donate-grid strong { display: block; font-size: 1.35rem; }
.donate-grid span { font-size: 0.88rem; }
.contact-list { list-style: none; padding: 0; margin: 0 0 1.5rem; }
.contact-list li { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; padding: 0.7rem 0; border-bottom: 1px solid var(--rule); margin: 0; }
.contact-list b { color: var(--ink-soft); font-weight: 600; }
.video-list { list-style: none; padding: 0; margin: 0.8rem 0 0; }
.video-list li { padding: 0.55rem 0; margin: 0; border-bottom: 1px solid var(--rule); }

/* ---------- Footer ---------- */
.site-footer { background: var(--grey); color: var(--ink); padding: 3.4rem 0 2.2rem; font-size: 0.9rem; line-height: 1.7; }
.site-footer a { color: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1.4fr; gap: 3rem; }
.footer-logo { width: 9rem; height: auto; display: block; margin-bottom: 1.2rem; }
.site-footer h2 { font-size: 1rem; margin: 0 0 0.6rem; padding: 0; border: 0; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin-bottom: 0.3rem; }
.legal { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid rgba(0, 0, 0, 0.15); font-size: 0.85rem; color: var(--ink-soft); }
@media (max-width: 820px) { .footer-grid { grid-template-columns: 1fr; gap: 1.6rem; } }


/* ---------- Bioregional page ---------- */
.page-head.photo { background: linear-gradient(rgba(31,52,22,.62), rgba(31,52,22,.72)), var(--bg) center / cover no-repeat, var(--olive-deep); padding: 6.5rem 0 5.5rem; }
.reg-intro { padding: 4rem 0 4.5rem; }
.lead-xl { font-size: clamp(1.25rem, 2.3vw, 1.7rem); font-weight: 300; line-height: 1.6; max-width: 40ch; margin: 0 0 3rem; color: var(--ink); }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.steps li { margin: 0; }
.steps img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; margin-bottom: 1rem; }
.steps h3 { margin: 0 0 .3rem; font-size: 1.15rem; display: flex; align-items: center; gap: .7rem; color: var(--regen); }
.steps h3 span { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--regen); color: #fff; font-size: .95rem; flex: none; }
.steps p { margin: 0; color: var(--ink-soft); }
.split { padding: 4rem 0; }
.split.tint { background: #f1f4ee; }
.split .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 3.5rem; align-items: center; }
.split.rev .wrap > img { order: 2; }
.split img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.split h2 { margin: 0 0 1rem; font-size: 1.6rem; }
.split .kicker { font-weight: 700; color: var(--regen); margin: 0 0 .8rem; }
.split blockquote { margin: 1.4rem 0 0; padding: .2rem 0 .2rem 1.2rem; border-left: 3px solid var(--olive); font-style: italic; color: var(--ink-soft); }
.split cite { display: block; font-style: normal; font-size: .88rem; margin-top: .3rem; }
.photo-band { color: #fff; padding: 6rem 0; background: linear-gradient(rgba(20,40,20,.66), rgba(20,40,20,.72)), var(--bg) center / cover no-repeat, #35502c; }
.photo-band h2 { color: #fff; font-size: clamp(1.5rem, 3vw, 2.1rem); max-width: 22ch; margin: 0 0 1.2rem; }
.photo-band p { max-width: 60ch; font-size: 1.05rem; margin: 0 0 1.8rem; }
.photo-band .btn { margin-left: 0; }
.docs { padding: 4rem 0 3rem; }
.docs h2 { margin: 0 0 1.6rem; }
.cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.6rem; }
.card { border-top: 4px solid var(--olive); background: #f6f7f2; padding: 1.5rem 1.6rem; }
.card h3 { margin: 0 0 .5rem; font-size: 1.15rem; }
.card p { margin: 0; color: var(--ink-soft); font-size: .97rem; }
.talk { background: var(--teal); color: #fff; padding: 3.8rem 0; }
.talk .wrap { display: grid; grid-template-columns: 1.2fr 1fr; gap: 3rem; align-items: center; }
.talk h2 { color: #fff; margin: 0 0 .8rem; }
.talk p { margin: 0 0 .8rem; }
.talk a:not(.btn) { color: #fff; font-weight: 700; }
.talk .btn { margin-left: 0; margin-bottom: 1rem; }
.consult { padding: 4.5rem 0 4.8rem; }
.consult .wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: center; }
.consult img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.consult h2 { margin: 0 0 1rem; font-size: 1.6rem; }
.tiles { grid-column: 1 / -1; list-style: none; padding: 0; margin: 1rem 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.tiles li { margin: 0; padding: 1.1rem 1.1rem 1.2rem; background: #f1f4ee; border-top: 3px solid var(--regen); font-size: .95rem; line-height: 1.5; }
.consult .cta { grid-column: 1 / -1; margin: 1rem 0 0; text-align: center; }
.btn.dark { background: var(--regen); border-color: var(--regen); color: #fff; }
.btn.dark:hover { background: transparent; color: var(--regen); }
@media (max-width: 900px) {
  .steps, .cards, .talk .wrap, .split .wrap, .consult .wrap { grid-template-columns: 1fr; }
  .split.rev .wrap > img { order: 0; }
  .tiles { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) { .tiles { grid-template-columns: 1fr; } }

/* ---------- Cannabis page ---------- */
.page-head.photo.green { background: linear-gradient(rgba(18,48,36,.55), rgba(18,48,36,.7)), var(--bg) center 60% / cover no-repeat, var(--leaf); }
.facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
.facts li { margin: 0; padding-top: 1rem; border-top: 3px solid var(--leaf); }
.facts b { display: block; font-size: 2.3rem; line-height: 1.1; color: var(--leaf); font-weight: 700; }
.facts span { display: block; margin-top: .4rem; font-size: .95rem; color: var(--ink-soft); line-height: 1.5; }
.split img.portrait-img { aspect-ratio: 1 / 1; max-height: 30rem; }
.card .yr { display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .06em; color: #fff; background: var(--leaf); padding: .15rem .6rem; border-radius: 2px; margin-bottom: .6rem; }
.docs .card { border-top-color: var(--leaf); }
.parl { padding: 1rem 0 4.5rem; }
.parl h2 { margin: 0 0 1rem; }
.parl .lead { max-width: 64ch; font-size: 1.1rem; }
.feature { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; background: #eef4f0; border-left: 5px solid var(--leaf); padding: 1.6rem 1.8rem; margin: 1.8rem 0; }
.feature h3 { margin: 0 0 .4rem; }
.feature p { margin: 0; color: var(--ink-soft); font-size: .97rem; }
.feature .btn { margin: 0; white-space: nowrap; background: var(--leaf); border-color: var(--leaf); color: #fff; }
.feature .btn:hover { background: transparent; color: var(--leaf); }
.cols2 { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
.cols2 h3 { font-size: 1.05rem; margin: 0 0 .6rem; color: var(--leaf); }
.cols2 ul { padding-left: 1.1rem; margin: 0; }
.cols2 li { font-size: .95rem; line-height: 1.6; margin-bottom: .6rem; }
.callout { margin-top: 2.4rem; display: flex; gap: 1.6rem; align-items: center; padding: 1.4rem 0; border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
.callout b { font-size: clamp(1.6rem, 3.4vw, 2.3rem); color: var(--leaf); white-space: nowrap; }
.callout span { color: var(--ink-soft); }
.split .wrap.one { grid-template-columns: 1fr; gap: 2.2rem; align-items: start; }
.lobby .wrap.one > div { max-width: 62ch; }
.pillars { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.2rem; }
.pillars li { margin: 0; background: #fff; padding: 1.3rem 1.3rem 1.5rem; border-top: 3px solid var(--leaf); }
.pillars h3 { font-size: 1.02rem; margin: 0 0 .5rem; color: var(--leaf); }
.pillars p { margin: 0; font-size: .92rem; line-height: 1.65; color: var(--ink-soft); }
.photo-band.green-band { background: linear-gradient(rgba(14,48,34,.78), rgba(14,48,34,.84)), var(--bg) center 70% / cover no-repeat, var(--leaf); padding: 5rem 0; }
.photo-band.green-band .btn { margin-left: 0; }
.writing { list-style: none; padding: 0; margin: 0; max-width: 60rem; }
.writing li { display: flex; justify-content: space-between; gap: 2rem; padding: 1rem 0; margin: 0; border-bottom: 1px solid var(--rule); }
.writing span { color: var(--ink-soft); white-space: nowrap; font-size: .9rem; }
.consult.dev .tiles { display: flex; flex-wrap: wrap; justify-content: center; }
.consult.dev .tiles li { flex: 0 1 calc(25% - .75rem); }
.consult.dev .tiles li { border-top-color: var(--leaf); background: #eef4f0; }
@media (max-width: 900px) {
  .facts { grid-template-columns: repeat(2, 1fr); }
  .feature, .cols2 { grid-template-columns: 1fr; }
  .pillars { grid-template-columns: repeat(2, 1fr); }
  .writing li { flex-direction: column; gap: .2rem; }
  .callout { flex-direction: column; align-items: flex-start; gap: .5rem; }
}
@media (max-width: 900px) { .consult.dev .tiles li { flex-basis: calc(50% - .5rem); } }
@media (max-width: 520px) { .pillars { grid-template-columns: 1fr; } .consult.dev .tiles li { flex-basis: 100%; } }

/* ---------- Value chain ---------- */
.vchain { padding: 4.2rem 0 3.4rem; }
.vchain h2 { margin: 0 0 1rem; }
.vchain .lead { max-width: 62ch; font-size: 1.1rem; margin: 0 0 2.4rem; }
.chain { list-style: none; margin: 0 0 3rem; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 0; counter-reset: c; }
.chain li { position: relative; margin: 0; padding: 1.1rem 1.1rem 1.3rem; background: #eef4f0; border-top: 4px solid var(--leaf); }
.chain li:nth-child(even) { background: #e3ede7; }
.chain li:not(:last-child)::after { content: ""; position: absolute; right: -9px; top: 50%; z-index: 2; width: 18px; height: 18px; background: var(--leaf); transform: translateY(-50%) rotate(45deg); clip-path: polygon(100% 0, 100% 100%, 0 0); }
.chain b { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--leaf); color: #fff; font-size: .9rem; margin-bottom: .6rem; }
.chain h3 { margin: 0 0 .35rem; font-size: 1rem; line-height: 1.3; }
.chain p { margin: 0; font-size: .9rem; line-height: 1.55; color: var(--ink-soft); }
.vc-sub { font-size: 1.3rem; margin: 0 0 1.4rem; }
.streams { list-style: none; margin: 0 0 2rem; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
.streams li { margin: 0; }
.streams img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; margin-bottom: .8rem; }
.streams h4 { margin: 0 0 .25rem; font-size: 1.1rem; color: var(--leaf); }
.streams p { margin: 0; font-size: .93rem; line-height: 1.6; color: var(--ink-soft); }
@media (max-width: 1000px) { .chain { grid-template-columns: repeat(3, 1fr); } .chain li::after { display: none; } .streams { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .chain, .streams { grid-template-columns: 1fr; } }

.vc-note { margin: -.6rem 0 1.6rem; color: var(--ink-soft); }
.parts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; align-items: stretch; }
.part { background: #fff; border-top: 5px solid var(--c, var(--leaf)); box-shadow: 0 1px 0 var(--rule), 0 0 0 1px var(--rule); }
.part img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.part .pb { padding: 1.2rem 1.3rem 1.4rem; }
.part h4 { margin: 0 0 .7rem; font-size: 1.3rem; color: var(--c, var(--leaf)); text-transform: uppercase; letter-spacing: .02em; }
.part h5 { margin: 1rem 0 .35rem; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-soft); }
.part p { margin: 0 0 .5rem; font-size: .9rem; line-height: 1.6; color: var(--ink-soft); }
.part p b { color: var(--ink); }
.part.stalk { --c: #5b8c3a; }
.part.seed { --c: #c0504d; }
.part.flower { --c: #2a4a7a; }
.part.leaf { --c: #2d708e; }
.part.whole { --c: #3a4350; }
.part.fluid { --c: #6f7479; }
.part.leaf .pb, .part.whole .pb, .part.fluid .pb { padding: 1rem 1.3rem 1.1rem; }
.part.leaf h4, .part.whole h4, .part.fluid h4 { margin-bottom: .3rem; font-size: 1.1rem; }
.src { font-size: .85rem; color: var(--ink-soft); margin: 1.2rem 0 2rem; text-align: right; }
.part.stalk { grid-column: 1; grid-row: 1 / 5; }
.part.seed { grid-column: 2; grid-row: 1 / 5; }
.part.flower, .part.leaf, .part.whole, .part.fluid { grid-column: 3; }
@media (max-width: 1000px) { .parts { grid-template-columns: repeat(2, 1fr); } .part.stalk, .part.seed, .part.flower, .part.leaf, .part.whole, .part.fluid { grid-column: auto; grid-row: auto; } }
@media (max-width: 640px) { .parts { grid-template-columns: 1fr; } }

.chart { display: block; border: 1px solid var(--rule); background: #fff; }
.chart img { display: block; width: 100%; height: auto; }
.chart-tip { margin: .6rem 0 0; font-size: .85rem; color: var(--ink-soft); }
.as-text { margin: 1.2rem 0 0; }
.as-text summary { cursor: pointer; font-weight: 600; color: var(--teal-deep); padding: .4rem 0; }
.vc-detail { margin-top: 2.6rem; }
.vchain .parts { margin-bottom: 2.4rem; }

/* ---------- Submissions page ---------- */
.sub-intro { padding-bottom: 2rem; }
.sub-intro .lead-xl { margin-bottom: 0; }
.sub-docs { padding-top: 2rem; }
.sub-docs h2, .sub-think h2 { margin: 0 0 1.6rem; }
.cards.three { grid-template-columns: repeat(3, 1fr); }
.cards.three .card { display: flex; flex-direction: column; }
.cards.three .card p { margin-bottom: 1.2rem; }
.card .more { margin-top: auto; font-weight: 700; font-size: .9rem; }
.sub-docs .card .yr { background: var(--regen); }
.sub-docs .card { border-top-color: var(--regen); }
.sub-energy.photo-band { background: linear-gradient(rgba(14,26,24,.72), rgba(14,26,24,.8)), var(--bg) center 30% / cover no-repeat, #1f3a2f; }
.sub-energy .eyebrow { margin: 0 0 .6rem; font-size: .85rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #cfe0c2; }
.sub-cann .kicker { text-transform: uppercase; letter-spacing: .12em; font-size: .85rem; }
.sub-cann .btn.dark { background: var(--leaf); border-color: var(--leaf); margin-left: 0; }
.sub-cann .btn.dark:hover { background: transparent; color: var(--leaf); }
.sub-think { padding-bottom: 4.5rem; }
.sub-think .lead { margin: 0 0 1.8rem; color: var(--ink-soft); }
.think { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.think li { margin: 0; }
.think a { display: block; text-decoration: none; color: var(--ink); background: #f6f7f2; border-top: 4px solid var(--olive); height: 100%; }
.think a:hover { background: #eef1e4; }
.think img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.think b { display: block; padding: 1rem 1.2rem .2rem; font-size: 1.1rem; }
.think span { display: block; padding: 0 1.2rem 1.2rem; color: var(--ink-soft); font-size: .93rem; line-height: 1.55; }
@media (max-width: 900px) { .cards.three, .think { grid-template-columns: 1fr; } }

.photo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 2.4rem; }
.photo-pair img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
@media (max-width: 640px) { .photo-pair { grid-template-columns: 1fr; } }

/* ---------- Tight intro ---------- */
.intro.tight { padding: 3.6rem 0 3rem; }
.intro.tight .lead { max-width: 52ch; margin: 0 auto 2.4rem; text-align: center; }
.proof { list-style: none; margin: 0 auto 2.2rem; padding: 0; max-width: 62rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem; text-align: center; }
.proof li { margin: 0; padding-top: 1rem; border-top: 3px solid var(--teal); }
.proof b { display: block; font-size: 2rem; line-height: 1.15; color: var(--teal-deep); font-weight: 700; }
.proof span { display: block; margin-top: .4rem; font-size: .93rem; line-height: 1.5; color: var(--ink-soft); }
.intro.tight .inscription { margin-top: 0; }
@media (max-width: 760px) { .proof { grid-template-columns: repeat(2, 1fr); } }

@media print { .site-header, .site-footer, .close { display: none; } body { font-size: 11pt; } }

.quote-block { background: #f4f1e6; padding: 2.6rem 0; }
.quote-block .inscription { margin: 0 auto; }
.mission p.mission-sub { font-size: clamp(0.95rem,1.4vw,1.1rem); font-weight: 600; letter-spacing: 0.02em; margin-top: 1.6rem; opacity: .95; }

/* ---------- Track record ---------- */
.facts.three { grid-template-columns: repeat(3, 1fr); }
.section.tight-top { padding-bottom: 0; }
.split img.fit { aspect-ratio: auto; object-fit: contain; height: auto; background: #fff; border: 1px solid #dfe3d6; }
.planfig { padding: 0 0 3rem; }
.planfig img { width: 100%; max-width: 62rem; margin: 0 auto; display: block; border: 1px solid #dfe3d6; }
.planfig .cap { text-align: center; font-size: .9rem; color: var(--ink-soft); margin: .7rem 0 0; }
.proj-logo { height: 5.4rem; width: auto; display: block; margin: 0 0 1rem; }
.plan-box a { display: block; margin-top: .6rem; font-size: .92rem; }
.split.tint img.fit { background: #fff; }
@media (max-width: 760px) { .facts.three { grid-template-columns: 1fr; } }
.split img.proj-logo { aspect-ratio: auto; width: auto; height: 5.4rem; object-fit: contain; background: none; border: 0; }

.expo .gallery { list-style: none; margin: 2.4rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.expo .gallery li { margin: 0; }
.expo .gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.expo .gallery span { display: block; font-size: .88rem; color: var(--ink-soft); margin-top: .4rem; line-height: 1.4; }
@media (max-width: 760px) { .expo .gallery { grid-template-columns: 1fr 1fr; } }

/* ---------- Learn and Resources ---------- */
.page-head.photo.ochre { background: linear-gradient(rgba(70,36,14,.55), rgba(70,36,14,.72)), var(--bg) center 40% / cover no-repeat, #8d4a22; }
.facts.ochre li { border-top-color: var(--ochre); }
.facts.ochre b { color: var(--ochre); }
.measure-wide { max-width: 62ch; }
.tint-sec { background: #f6f3ea; }
.chips.big { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.4rem; }
.chips.big i { font-style: normal; font-size: .95rem; background: #f3e6da; color: #6b3414; border-radius: 20px; padding: .25rem .9rem; }
.gal { grid-template-columns: repeat(3, 1fr); }
.cards .card.meta, .card .meta { margin-top: .6rem; font-size: .95rem; }
.res-posters h2, .tint-sec h2 { margin-top: 0; }
@media (max-width: 560px) {
  .price-table th:nth-child(3), .price-table td:nth-child(3), .price-table th:nth-child(4), .price-table td:nth-child(4) { display: none; }
  .gal { grid-template-columns: 1fr; }
}
.gal { list-style: none; margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.gal li { margin: 0; }
.gal img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.gal span { display: block; font-size: .88rem; color: var(--ink-soft); margin-top: .4rem; line-height: 1.4; }
@media (max-width: 760px) { .gal { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .gal { grid-template-columns: 1fr; } }
.gal.two { grid-template-columns: 1fr 1fr; }
.gal li.wide { grid-column: 1 / -1; }
.gal li.wide img { aspect-ratio: auto; height: auto; }
@media (max-width: 560px) { .gal.two { grid-template-columns: 1fr; } }

/* Poster gallery */
.posters{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin:28px 0 8px;padding:0}
.posters a{display:block;text-decoration:none;color:inherit}
.posters img{width:100%;aspect-ratio:2/3;object-fit:cover;display:block;border-radius:4px;box-shadow:0 4px 14px rgba(0,0,0,.18);transition:transform .2s}
.posters a:hover img{transform:translateY(-4px)}
.posters span{display:block;font-size:.85rem;font-weight:600;margin-top:8px;line-height:1.3;color:var(--teal-deep,#1f5a74)}
.also{margin-top:30px;font-size:1rem}
.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(15,25,20,.92);align-items:center;justify-content:center;padding:16px}
.lightbox:target{display:flex}
.lightbox .lb-close{position:absolute;inset:0;cursor:zoom-out}
.lightbox figure{position:relative;max-height:100%;text-align:center;margin:0}
.lightbox img{max-height:calc(100vh - 80px);max-width:100%;width:auto;display:block;margin:0 auto;border-radius:3px}
.lightbox figcaption{color:#fff;font-size:.9rem;margin-top:10px}
.lightbox figcaption a{color:#fff;text-decoration:underline;margin-left:6px}
@media(max-width:900px){.posters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.posters{grid-template-columns:repeat(2,1fr);gap:14px}}

/* About */
.board-row{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin:1.6rem 0 0;padding:0}
.board-row li{margin:0}
.board-row img{width:100%;aspect-ratio:518/335;object-fit:cover;display:block;margin-bottom:.7rem}
.board-row strong{display:block;font-size:1.1rem}
.board-row span{font-size:.95rem;color:var(--ink-soft)}
.ethics-head{display:grid;grid-template-columns:1fr minmax(0,26rem);gap:2rem;align-items:center;margin-bottom:1.8rem}
.ethics-head img{width:100%;height:auto;display:block}
.ethics-cards{list-style:none;padding:0;margin:0}
.facts.three b{overflow-wrap:anywhere}
@media(max-width:760px){.board-row{grid-template-columns:1fr}.ethics-head{grid-template-columns:1fr}}

/* Payments */
.donate-wrap{display:grid;grid-template-columns:1fr minmax(0,26rem);gap:3rem;align-items:start}
.steps-mini{list-style:none;padding:0;margin:1.6rem 0 0}
.steps-mini li{display:flex;gap:.9rem;align-items:flex-start;margin:0 0 .9rem}
.steps-mini b{flex:0 0 2rem;height:2rem;border-radius:50%;background:var(--leaf);color:#fff;text-align:center;line-height:2rem;font-size:.95rem}
.pay-card{background:#fff;border:1px solid var(--rule);border-top:5px solid var(--leaf);padding:1.8rem;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.pay-card h3{margin:0 0 1rem;font-size:1.3rem}
.pay-card label{display:block;font-size:.9rem;font-weight:600;margin:0 0 .3rem;color:var(--ink-soft)}
.pay-card input,.pay-card select,.pay-card textarea{width:100%;padding:.65rem .75rem;border:1px solid #b8c4be;border-radius:3px;font:inherit;background:#fff;color:var(--ink)}
.pay-card input:focus,.pay-card select:focus,.pay-card textarea:focus{outline:2px solid var(--teal);outline-offset:1px}
.amt{display:flex;align-items:stretch}
.amt span{display:flex;align-items:center;padding:0 .9rem;background:#eef3f1;border:1px solid #b8c4be;border-right:0;border-radius:3px 0 0 3px;font-weight:700}
.amt input{border-radius:0 3px 3px 0;font-size:1.4rem;font-weight:700}
.chips-amt{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 .4rem}
.chips-amt button{padding:.4rem .9rem;border:1px solid var(--teal);background:#fff;color:var(--teal-deep);border-radius:2rem;font:inherit;font-weight:600;cursor:pointer}
.chips-amt button:hover{background:var(--teal);color:#fff}
.pay-btn{display:block;width:100%;margin:1.2rem 0 .6rem;padding:.95rem 1rem;background:var(--leaf);color:#fff;border:2px solid var(--leaf);border-radius:3px;font:inherit;font-weight:700;font-size:1.05rem;cursor:pointer}
.pay-btn:hover{background:#fff;color:var(--leaf)}
.pay-card .fine{font-size:.82rem;color:var(--ink-soft);margin:.3rem 0 0}
.order-card{max-width:46rem;margin-top:2rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1rem}
.grid2 .full{grid-column:1/-1}
.contact-cards{list-style:none;padding:0;margin:1.4rem 0 0}
a.order-link{font-weight:700}
@media(max-width:860px){.donate-wrap{grid-template-columns:1fr;gap:2rem}}
@media(max-width:560px){.grid2{grid-template-columns:1fr}.pay-card{padding:1.3rem}}

/* Quick fixes: nav call to action, hero buttons, closing band */
.site-nav a.nav-cta{background:var(--leaf);color:#fff;padding:.4rem 1rem;border-radius:3px;border-bottom:0;font-weight:600}
.site-nav a.nav-cta:hover,.site-nav a.nav-cta[aria-current="page"]{background:var(--ink);color:#fff;border-color:transparent}
.hero-cta{margin:1.6rem 0 0}
.hero-cta .btn{margin:.25rem .8rem .25rem 0}
.cta-line{background:var(--teal-deep);color:#fff;text-align:center;padding:3rem 0}
.cta-line h2{color:#fff;margin:0 0 .5rem}
.cta-line p{margin:.4rem auto;max-width:40rem}
@media(max-width:900px){.site-nav a.nav-cta{display:inline-block;padding:.5rem 1rem;margin:.5rem 0}}
@media(min-width:901px){.site-nav ul{gap:.1rem .95rem;flex-wrap:nowrap}.site-nav a{font-size:.86rem;white-space:nowrap}.site-nav a.nav-cta{padding:.4rem .85rem}}
@media(min-width:901px) and (max-width:1180px){.site-nav ul{flex-wrap:wrap}}
/* Watershed model page */
.intro-cta{margin:1.6rem 0 2.6rem}
.intro-cta .btn{margin:.25rem .8rem .25rem 0}
.btn.dark.ghost-dark{background:transparent;color:var(--regen)}
.btn.dark.ghost-dark:hover{background:var(--regen);color:#fff}
.dia{width:100%;height:auto;display:block;margin:1.6rem 0 1rem}
.d-land{fill:#cfe0bd}.d-land2{fill:#b7d0a0}.d-river{fill:none;stroke:#3b86a6;stroke-width:7;stroke-linecap:round}
.d-dam{fill:#5b6663}.d-water{fill:#8ec3d8}.d-tree circle{fill:#2c6b50}.d-trunk rect{fill:#6b4a2b}
.d-home rect{fill:#e8dcc3}.d-home path{fill:#b2521f}.d-gully{fill:none;stroke:#8d4a22;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.d-dot circle{fill:var(--leaf);stroke:#fff;stroke-width:3}.d-num text{fill:#fff;font:700 26px var(--sans)}
.legend{margin:0;padding-left:1.4rem;display:grid;gap:.6rem;max-width:62ch;color:var(--ink-soft)}
.legend li{margin:0}.legend b{color:var(--ink)}
.steps.six{grid-template-columns:repeat(3,1fr);gap:2.2rem 2rem;margin-top:2rem}
.stages{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1.1rem}
.stages li{margin:0;background:#f1f4ee;border-top:4px solid var(--leaf);padding:1.1rem 1.1rem 1.3rem;position:relative}
.stages li:not(:last-child)::after{content:"\2192";position:absolute;right:-.95rem;top:1.1rem;color:var(--leaf);font-weight:700;font-size:1.1rem;z-index:1}
.stages i{display:block;font-style:normal;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--leaf)}
.stages h3{margin:.2rem 0 .5rem;font-size:1.2rem}.stages p{margin:0;font-size:.93rem;color:var(--ink-soft)}
.loop{margin:1.2rem 0 0;font-weight:600;color:var(--leaf)}
.split-inline{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;margin-top:2.6rem}
.split-inline h3{margin:0 0 .6rem}
.dia-hub .h-line path{fill:none;stroke:#5b6663;stroke-width:3}
.h-hive circle{fill:#e3ecd6;stroke:var(--regen);stroke-width:3}
.h-hub{fill:var(--leaf)}.h-mkt{fill:var(--teal)}.h-trust{fill:var(--ochre)}
.h-txt{fill:var(--ink);font:700 24px var(--sans)}.h-txt.big{fill:#fff;font-size:28px}
.h-trust+.h-txt{fill:#fff}
.ticks{list-style:none;margin:1rem 0;padding:0}
.ticks li{margin:0 0 .5rem;padding-left:1.6rem;position:relative}
.ticks li::before{content:"";position:absolute;left:0;top:.55em;width:.9rem;height:.5rem;border-left:3px solid var(--leaf);border-bottom:3px solid var(--leaf);transform:rotate(-45deg) translateY(-50%)}
.tiles.five{grid-template-columns:repeat(5,1fr)}
.ask{background:var(--leaf);color:#fff;padding:4.5rem 0}
.ask h2{color:#fff;margin:0 0 1rem}
.ask-lead{max-width:62ch;font-size:1.1rem;margin:0 0 2rem}
.need{list-style:none;margin:0 0 2rem;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.need li{margin:0;background:rgba(255,255,255,.1);border-top:3px solid #fff;padding:1.2rem}
.need h3{color:#fff;font-size:1.05rem;margin:0 0 .4rem}.need p{margin:0;font-size:.93rem}
.phases{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.phases li{margin:0;border-left:3px solid #fff;padding-left:1rem}
.phases i{display:block;font-style:normal;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;opacity:.85}
.phases b{display:block;font-size:1.05rem}.phases span{font-size:.92rem;opacity:.9}
.ask-cta{margin:0}.ask-cta .btn{margin:.25rem .8rem .25rem 0}
@media(max-width:1000px){.stages{grid-template-columns:1fr 1fr}.stages li::after{display:none!important}.need{grid-template-columns:1fr 1fr}.tiles.five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.steps.six{grid-template-columns:1fr}.split-inline{grid-template-columns:1fr;gap:1.6rem}.phases{grid-template-columns:1fr}}
@media(max-width:560px){.stages,.need,.tiles.five{grid-template-columns:1fr}}
.page-head.photo.green p{max-width:56ch}
.pay-card label.cert{display:flex;gap:.6rem;align-items:center;font-size:.95rem;color:var(--ink);margin:.9rem 0 .2rem;cursor:pointer}
.pay-card label.cert input{width:1.15rem;height:1.15rem;flex:none}
.cert-box{border:1px solid var(--rule);border-top:4px solid var(--leaf);background:#fff;padding:1.2rem 1.5rem;margin:1.6rem 0;max-width:46rem}
.cert-box summary{cursor:pointer;font-weight:700;color:var(--leaf)}
.cert-box form{margin-top:1.2rem}
.cert-box label{display:block;font-size:.9rem;font-weight:600;margin:.9rem 0 .3rem;color:var(--ink-soft)}
.cert-box input,.cert-box textarea{width:100%;padding:.65rem .75rem;border:1px solid #b8c4be;border-radius:3px;font:inherit}
.cert-box .grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cert-box .fine{font-size:.85rem;color:var(--ink-soft);margin:.9rem 0 0}
.cert-box .pay-btn{margin-top:1.2rem}
@media(max-width:560px){.cert-box .grid2{grid-template-columns:1fr}}
.strip ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.strip li{margin:0}.strip img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
@media(max-width:560px){.strip ul{grid-template-columns:1fr}}
.hemp-note{margin:1.6rem 0 0;padding:1rem 1.2rem;background:#eef4f0;border-left:4px solid var(--leaf);max-width:62ch}
.posters img{aspect-ratio:3/4;object-fit:contain;background:#eef1ea}
/* Services */
.svc-cards{list-style:none;padding:0;margin:2rem 0 0}
.lead-svc{font-size:1.2rem;font-weight:300;line-height:1.6;max-width:56ch;margin:0 0 1.6rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:2.4rem;margin-bottom:1rem}
.svc-sub{margin:2rem 0 1rem}
.svc-close{margin:1.8rem 0 0;font-size:1.1rem;font-weight:600;max-width:62ch;color:var(--leaf)}
.svc-cta{margin:1.4rem 0 0}.svc-cta .btn{margin-left:0}
.kicker{font-weight:700;color:var(--regen);margin:0 0 .6rem}
@media(max-width:900px){.two-col{grid-template-columns:1fr;gap:0}}
@media(min-width:901px){.site-nav ul{gap:.1rem .75rem}.site-nav a{font-size:.83rem}.site-nav a.nav-cta{padding:.4rem .75rem}}
.focus-box{background:#fff;border-left:5px solid var(--leaf);padding:1.4rem 1.6rem;margin:0 0 2rem;max-width:64ch}
.focus-box h3{margin:0 0 .5rem}.focus-box p{margin:0 0 .8rem}.focus-box p:last-child{margin:0}
.focus-box .btn{margin-left:0}
.svc-close.sm{font-size:.98rem;font-weight:400;margin-top:.8rem}
/* Watershed page: home-page colour language */
.mission-cta{margin:2rem 0 0!important}
.mission-cta .btn{margin:.3rem .5rem}
.mission-cta .btn.ghost{background:rgba(255,255,255,.08)}
.mission p.mission-sub{max-width:60ch;margin-left:auto;margin-right:auto;font-weight:300;letter-spacing:0;font-size:1.05rem}
.tri{display:grid;grid-template-columns:repeat(3,1fr)}
.tri-b{color:#fff;padding:3rem max(1.5rem,2.2rem)}
.tri-b:first-child{padding-left:max(1.5rem,calc((100vw - var(--wrap))/2))}
.tri-b:last-child{padding-right:max(1.5rem,calc((100vw - var(--wrap))/2))}
.tri-b h3{color:#fff;font-size:1.7rem;margin:0 0 .6rem}.tri-b p{margin:0;max-width:34ch;font-size:.98rem;line-height:1.7}
.tri-b.t1{background:var(--leaf)}.tri-b.t2{background:var(--regen)}.tri-b.t3{background:var(--ochre)}
.band-pair .band-img{background:var(--img) center/cover no-repeat;min-height:20rem}
.band-pair .band p{max-width:52ch}
.band-pair.why .band{padding-right:3rem}
.band-pair.own .band{padding-left:3rem}
.band .ticks li::before{border-color:#fff}
.band .ticks{max-width:52ch}
.method-band{background:var(--teal);color:#fff}
.method-band h2{color:#fff}.method-band .measure-wide{color:#fff}
.method-band .steps h3{color:#fff}.method-band .steps h3 span{background:#fff;color:var(--teal-deep)}
.method-band .steps p{color:#eaf3f7}
.stages li{color:#fff;border-top:0}
.stages li:nth-child(1){background:var(--teal)}.stages li:nth-child(2){background:var(--leaf)}.stages li:nth-child(3){background:var(--regen)}.stages li:nth-child(4){background:var(--olive-deep)}.stages li:nth-child(5){background:var(--ochre)}
.stages li i,.stages li h3{color:#fff}.stages li p{color:#fff}
.stages li:not(:last-child)::after{color:var(--ink)}
.measure-band{background:var(--olive);color:#fff}
.measure-band h2,.measure-band .measure-wide{color:#fff}
.measure-band .tiles li{background:rgba(255,255,255,.14);border-top-color:#fff;color:#fff}
@media(max-width:760px){.tri{grid-template-columns:1fr}.tri-b,.tri-b:first-child,.tri-b:last-child{padding:2.2rem 1.5rem}.band-pair.why .band,.band-pair.own .band{padding:2.6rem 1.5rem}.band-pair .band-img{min-height:14rem}}
/* Submissions page */
.sub-pair .eyebrow{margin:0 0 .6rem;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.sub-pair .band{padding-top:4.2rem;padding-bottom:4.2rem}
.band.green{background:var(--leaf);padding-left:3rem}
.sub-pair.energy .band{padding-right:3rem}
.band a.btn{font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);margin-left:0}
.band a.btn::after{content:none}
.band a.btn:hover{color:#fff}
.sub-docs h2,.sub-think h2{border-left:5px solid var(--regen);padding-left:.8rem}
.sub-think h2{border-left-color:var(--teal)}
@media(max-width:760px){.band.green{padding:2.6rem 1.5rem}.sub-pair.energy .band{padding:2.6rem 1.5rem}}
.think.two{grid-template-columns:repeat(2,1fr)}
.think-sub{margin:2rem 0 1rem;font-size:1.05rem;color:var(--teal-deep)}
@media(max-width:900px){.think.two{grid-template-columns:1fr}}
.think.two img{aspect-ratio:21/9}
.think-more{margin:1.6rem 0 0}.think-more .btn{margin-left:0}
/* About */
.band-list ul{margin:1rem 0 0;padding-left:1.2rem;max-width:52ch}
.band-list li{margin:0 0 .8rem;font-size:.97rem;line-height:1.7}
.band-list .eyebrow{margin:0 0 .5rem;font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.about-pair .band{padding-top:4rem;padding-bottom:4rem}
.about-pair .band.olive{padding-right:3rem}.about-pair .band.teal{padding-left:max(1.5rem,calc((100vw - var(--wrap))/2))}
@media(max-width:760px){.about-pair .band.olive,.about-pair .band.teal{padding:2.6rem 1.5rem}}
.tri-b h3{overflow-wrap:anywhere}
.tri-b h3{font-size:clamp(1.8rem,3vw,2.4rem)}
.split.tint,.split.rev.tint{background:#f4f1e6}
.mission.ochre{background:var(--ochre)}
.chips-w{list-style:none;margin:2rem auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;max-width:62rem}
.chips-w li{margin:0;border:1.5px solid rgba(255,255,255,.85);border-radius:2rem;padding:.35rem 1.1rem;font-size:.97rem;font-weight:600}
.track-sum p.track-note{font-size:.9rem;font-weight:400;opacity:.9;margin-top:1rem;max-width:52ch}

.yt,.yt-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:6px;margin:0 0 1rem}
.yt{position:relative;background:linear-gradient(135deg,#1f5a74,#2c6b50);color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1rem;font:inherit}
.yt:hover,.yt:focus-visible{outline:3px solid #b2521f;outline-offset:2px}
.yt-play{width:3.4rem;height:3.4rem;border-radius:50%;background:rgba(255,255,255,.92);position:relative}
.yt-play:after{content:"";position:absolute;left:1.35rem;top:1rem;border-left:1.1rem solid #1f5a74;border-top:.7rem solid transparent;border-bottom:.7rem solid transparent}
.yt-t{font-weight:700;font-size:.95rem;text-align:center}
.talk .yt{margin-bottom:1rem}

.strip.plans{background:#f4f1e6}.strip.plans img{object-fit:contain;background:#f4f1e6;padding:.5rem}

.tri-b h3{font-size:clamp(1.4rem,2.2vw,1.8rem)}.tri-b .tri-more{margin-top:1rem}.tri-b .tri-more a{color:#fff;font-weight:700;text-decoration:underline}

.strip.two ul{grid-template-columns:repeat(2,1fr);gap:0}.strip.two img{aspect-ratio:3/2;object-fit:cover}.strip.two a{display:block}@media(max-width:700px){.strip.two ul{grid-template-columns:1fr}}

.argue .band.teal.test{display:flex;flex-direction:column;justify-content:center}
.argue .test-label{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;margin:0 0 1rem;font-weight:700}
.argue .band p.test-q{font-size:clamp(1.35rem,2.6vw,1.9rem);font-weight:700;line-height:1.35;max-width:24ch;margin:0}
.argue .band.olive p{max-width:52ch}
.fine-note{font-size:.88rem;color:var(--ink-soft);max-width:80ch;margin:1.2rem 0 0}
#wealth .cards{padding:0;margin:0;list-style:none}

.crops-h{margin:2.6rem 0 .5rem;font-size:1.3rem}
.crops{list-style:none;margin:1.6rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.crops>li{background:#fff;border-top:4px solid var(--leaf);padding:1.3rem 1.3rem 1.4rem}
.crops>li>b{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--leaf);margin-bottom:.7rem}
.crops ul{margin:0 0 .8rem;padding-left:1.1rem;font-size:.95rem}.crops p{margin:0;font-size:.92rem}
@media(max-width:1000px){.crops{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.crops{grid-template-columns:1fr}}
.method-band .crops-h{color:#fff}
.method-band .crops>li,.method-band .crops li li{color:#2b3433}
.method-band .crops p{color:#4a5553;max-width:none}
.method-band .crops a{display:inline;color:var(--teal-deep);font-weight:700;text-decoration:underline;text-transform:none;letter-spacing:0;font-size:inherit}
.method-band .crops a::after{content:none}

.lp{width:100%;height:auto;display:block;margin:1.8rem 0 0;font-family:inherit}.lp-tall{display:none}
.lp-box.leaf{fill:var(--leaf)}.lp-box.regen{fill:var(--regen)}.lp-box.olive{fill:var(--olive)}.lp-box.teal{fill:var(--teal)}.lp-box.ochre{fill:var(--ochre)}
.lp-h{font-size:24px;font-weight:700;fill:#fff}.lp-c{font-size:17px;fill:#fff}
.lp-lbl{font-size:14px;font-weight:700;letter-spacing:.1em;fill:#4a5553}.lp-br{stroke:#b9c2bf;stroke-width:3;fill:none}
.lp-ar{stroke:var(--teal-deep);stroke-width:3;fill:none}.lp-ret{stroke:var(--teal-deep);stroke-width:3;fill:none;stroke-dasharray:7 6}
.lp-lbl2{font-size:17px;font-weight:700;fill:var(--teal-deep)}
.lp-own{fill:var(--teal-deep)}.lp-oh{font-size:26px;font-weight:700;fill:#fff}.lp-oc{font-size:18px;fill:#fff}
@media(max-width:720px){.lp-wide{display:none}.lp-tall{display:block;max-width:420px;margin-inline:auto}.lp-tall .lp-h{font-size:22px}.lp-tall .lp-c{font-size:15px}}
.ask-note{max-width:70ch;margin:1.4rem 0 0;font-size:.97rem}

.lp-skl{fill:var(--olive-deep)}
.lp .lp-skl+text,.lp .lp-skl+text+text{fill:#fff}
.fives{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.fives li{background:rgba(255,255,255,.12);border-top:4px solid #fff;padding:1.1rem 1.1rem 1.2rem;color:#fff}
.fives b{display:block;font-size:1.15rem;margin-bottom:.4rem}.fives span{font-size:.92rem;line-height:1.45}
.method-band .fives-src{color:rgba(255,255,255,.85)}
@media(max-width:1000px){.fives{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.fives{grid-template-columns:1fr}}

/* Cannabis page colour blocks */
.page-head.photo.green.bright{background:linear-gradient(rgba(18,48,36,.32),rgba(18,48,36,.5)),var(--bg) center 40% / cover no-repeat,var(--leaf)}
.photo-band.green-band.bright-band{background:linear-gradient(rgba(14,48,34,.5),rgba(14,48,34,.62)),var(--bg) center 70% / cover no-repeat,var(--leaf)}
.facts-tri .tri-b h3{font-size:clamp(2.6rem,4.5vw,3.6rem);line-height:1.05}
.facts-tri .tri-b p{max-width:30ch}
.tri-b.t4{background:var(--teal)}
.quad{grid-template-columns:repeat(4,1fr)}
.quad .tri-b{padding:2.8rem 1.6rem}
.quad .tri-b:first-child{padding-left:max(1.5rem,calc((100vw - var(--wrap))/2))}
.quad .tri-b:last-child{padding-right:max(1.5rem,calc((100vw - var(--wrap))/2))}
.quad .tri-b h3{font-size:1.25rem}.quad .tri-b p{max-width:none;font-size:.95rem}
.big-num{font-size:clamp(2.2rem,4vw,3.2rem);font-weight:700;line-height:1.05;margin:0 0 1rem;color:#fff}
#landrace .band a{color:#fff;font-weight:700;text-decoration:underline}
#landrace .test-q{font-size:clamp(1.15rem,1.8vw,1.45rem)}
.consult.dev.measure-band h2{color:#fff}.consult.dev.measure-band p{color:#fff}
.consult.dev.measure-band .tiles li{background:rgba(255,255,255,.16);border-top-color:#fff;color:#fff}
@media(max-width:1000px){.quad{grid-template-columns:1fr 1fr}.quad .tri-b:first-child,.quad .tri-b:last-child{padding-left:1.6rem;padding-right:1.6rem}}
@media(max-width:760px){.quad{grid-template-columns:1fr}.quad .tri-b{padding:2.2rem 1.5rem}.quad .tri-b:first-child,.quad .tri-b:last-child{padding-left:1.5rem;padding-right:1.5rem}}
#landrace .band .big-num{font-size:clamp(2.4rem,4.2vw,3.4rem);font-weight:700;line-height:1.05;margin:0 0 1rem;max-width:none}
#landrace .band span a,#landrace .band p a{text-transform:none;letter-spacing:0;font-size:inherit}
#landrace .band p a::after{content:none}
#landrace .band .test-q+p a{text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}
.photo-band.green-band.bright-band{background:linear-gradient(rgba(14,48,34,.38),rgba(14,48,34,.52)),var(--bg) center 70% / cover no-repeat,var(--leaf)}
.photo-band.green-band.bright-band h2,.photo-band.green-band.bright-band p{text-shadow:0 1px 6px rgba(0,0,0,.45)}
#landrace .test-q+p{margin-top:1rem}
#focus h2{max-width:none}
#focus h2{font-size:clamp(1.3rem,2.3vw,1.75rem)}
.page-head.bright h1,.page-head.bright p{text-shadow:0 1px 8px rgba(0,0,0,.4)}

.split img.fit.noframe{border:0;background:none}
.split .proj-logo{mix-blend-mode:multiply}
.tr-plain p{max-width:62ch}
#murals{padding-top:0}
/* trim doubled gaps between back-to-back plain sections */
#economy{padding-top:0}
#value-chain+.docs{padding-top:1rem}
#expo+.split{padding-top:0}
.plan-box .plan-links{margin:.6rem 0 0;font-size:.92rem}.plan-box .plan-links a{display:inline;margin:0;font-size:inherit}

.page-head.photo.bright:not(.green):not(.ochre){background:linear-gradient(rgba(31,52,22,.3),rgba(31,52,22,.48)),var(--bg) center / cover no-repeat,var(--olive-deep)}
.page-head.photo.ochre.bright{background:linear-gradient(rgba(70,36,14,.3),rgba(70,36,14,.48)),var(--bg) center 40% / cover no-repeat,#8d4a22}
.photo-band.bright-band:not(.green-band){background:linear-gradient(rgba(20,40,20,.4),rgba(20,40,20,.52)),var(--bg) center / cover no-repeat,#35502c}
.photo-band.bright-band:not(.green-band) h2,.photo-band.bright-band:not(.green-band) p{text-shadow:0 1px 6px rgba(0,0,0,.45)}

.mission h2{font-size:1.2rem;letter-spacing:.06em}
.mission-cta{margin:2rem auto 0!important;max-width:none!important}
.page-head.photo.green.bright.lite{background:linear-gradient(rgba(18,48,36,.16),rgba(18,48,36,.36)),var(--bg) center 40% / cover no-repeat,var(--leaf)}
.page-head.photo.green.bright.lite.aloe{background:linear-gradient(rgba(18,48,36,.1),rgba(18,48,36,.3)),var(--bg) center 38% / cover no-repeat,var(--leaf)}
.page-head.photo.ochre.bright.lite.recycle{background:linear-gradient(rgba(70,36,14,.12),rgba(70,36,14,.34)),var(--bg) center 6% / cover no-repeat,#8d4a22}

.re-line{display:flex;align-items:center;gap:.6rem}
.re-line svg{flex:none;width:3.9em;height:2.65em;fill:currentColor}
