:root{
    --paper:#FBFAF7;
    --surface:#FFFFFF;
    --band:#F2EFE9;
    --ink:#1D2621;
    --ink-2:#55605A;
    --ink-3:#848D87;
    --line:#E2DED5;
    --line-strong:#CBC5B8;

    --sage-deep:#2C3E34;
    --sage:#4A6350;
    --sage-wash:#E8EDE8;
    --clay:#B8431F;
    --sand:#D9C5A8;
    --gold:#B5842B;

    --on-dark:#F3F1EB;
    --on-dark-2:#AFBAB0;

    --f-display:"Newsreader",Georgia,"Times New Roman",serif;
    --f-sans:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

    --col:62ch;
    --gutter:24px;
    --max:1120px;
  }

  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --paper:#12160F;
      --surface:#1A1F19;
      --band:#171C16;
      --ink:#EDEFE8;
      --ink-2:#A6B0A6;
      --ink-3:#7F8980;
      --line:#28301F;
      --line-strong:#3A4433;
      --sage-deep:#0E1410;
      --sage:#7FA98A;
      --sage-wash:#18241B;
      --clay:#E07649;
      --sand:#C4B094;
      --gold:#D3A652;
      --on-dark:#EDEFE8;
      --on-dark-2:#9FAC9F;
    }
  }

  :root[data-theme="dark"]{
    --paper:#12160F;
    --surface:#1A1F19;
    --band:#171C16;
    --ink:#EDEFE8;
    --ink-2:#A6B0A6;
    --ink-3:#7F8980;
    --line:#28301F;
    --line-strong:#3A4433;
    --sage-deep:#0E1410;
    --sage:#7FA98A;
    --sage-wash:#18241B;
    --clay:#E07649;
    --sand:#C4B094;
    --gold:#D3A652;
    --on-dark:#EDEFE8;
    --on-dark-2:#9FAC9F;
  }

  *{box-sizing:border-box}

  body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:var(--f-sans);
    font-size:17px;
    font-weight:300;
    line-height:1.7;
    -webkit-font-smoothing:antialiased;
  }

  .shell{max-width:var(--max);margin:0 auto;padding-inline:var(--gutter)}

  a{color:inherit}

  /* ---------- nav ---------- */
  nav{
    position:sticky;
    top:env(safe-area-inset-top,0px);
    z-index:50;
    background:color-mix(in srgb, var(--paper) 92%, transparent);
    backdrop-filter:saturate(1.2) blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-in{
    max-width:var(--max);margin:0 auto;padding:14px var(--gutter);
    display:flex;align-items:center;justify-content:space-between;gap:20px;
  }
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
  .brand img{width:34px;height:auto;display:block}
  .brand-type{display:flex;flex-direction:column;line-height:1}
  .brand-name{
    font-family:var(--f-sans);font-weight:500;font-size:14.5px;
    letter-spacing:.17em;text-transform:uppercase;color:var(--ink);
  }
  .brand-sub{
    font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;
    color:var(--ink-3);margin-top:4px;font-weight:400;
  }
  .nav-links{display:flex;gap:26px;font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:400}
  .nav-links a{text-decoration:none;color:var(--ink-2)}
  .nav-links a:hover{color:var(--sage)}
  @media(max-width:700px){.nav-links{display:none}}

  /* ---------- hero ---------- */
  .hero{
    display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;
    padding-block:78px 86px;
  }
  .hero-copy{display:flex;flex-direction:column;gap:22px}

  .eyebrow{
    font-size:11px;letter-spacing:.24em;text-transform:uppercase;
    color:var(--sage);font-weight:500;margin:0;
  }

  h1{
    font-family:var(--f-display);font-weight:300;
    font-size:clamp(2.5rem,5.6vw,3.9rem);line-height:1.06;
    letter-spacing:-.018em;margin:0;text-wrap:balance;
  }
  h1 .em{font-style:italic;color:var(--sage)}

  .hero-es{
    font-family:var(--f-display);font-style:italic;font-weight:300;
    font-size:clamp(1.05rem,2.3vw,1.3rem);color:var(--ink-2);margin:0;
  }

  .hero-sub{margin:0;color:var(--ink-2);max-width:44ch}

  .hero-photo{
    aspect-ratio:4/5;border-radius:2px;overflow:hidden;background:var(--band);
    max-width:100%;
  }
  .hero-photo img{width:100%;height:100%;object-fit:cover;display:block}

  @media(max-width:820px){
    .hero{grid-template-columns:1fr;gap:34px;padding-block:44px 54px}
    .hero-photo{aspect-ratio:5/4}
  }

  /* ---------- the turn ---------- */
  .turn{background:var(--sage-deep);color:var(--on-dark);padding-block:86px}
  .turn .shell{display:flex;flex-direction:column;gap:26px;align-items:center;text-align:center}
  .turn-line{
    font-family:var(--f-display);font-weight:300;
    font-size:clamp(1.85rem,4.6vw,3.05rem);line-height:1.18;
    letter-spacing:-.015em;margin:0;max-width:20ch;text-wrap:balance;
  }
  .turn-line .strike{color:var(--on-dark-2)}
  .turn-line .keep{font-style:italic;color:var(--sand)}
  .turn p{color:var(--on-dark-2);max-width:56ch;margin:0;font-size:1.02rem}
  .turn .rule{width:44px;height:1px;background:var(--gold);opacity:.8}

  /* ---------- sections ---------- */
  section.band{padding-block:82px;border-bottom:1px solid var(--line)}
  section.band:last-of-type{border-bottom:none}

  .sec-head{display:flex;flex-direction:column;gap:12px;margin-bottom:34px;max-width:var(--col)}
  h2{
    font-family:var(--f-display);font-weight:300;
    font-size:clamp(1.85rem,3.9vw,2.6rem);line-height:1.15;
    letter-spacing:-.013em;margin:0;text-wrap:balance;
  }
  h2 .em{font-style:italic;color:var(--sage)}

  p.lede{font-size:1.06rem;color:var(--ink-2);max-width:var(--col);margin:0 0 1.1em}
  p{max-width:var(--col);margin:0 0 1.05em}
  p:last-child{margin-bottom:0}
  strong{font-weight:500;color:var(--ink)}

  /* ---------- photos ---------- */
  .photos{
    display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
  }
  .photos figure{margin:0;aspect-ratio:1/1;overflow:hidden;border-radius:2px;background:var(--band)}
  .photos img{width:100%;height:100%;object-fit:cover;display:block}
  @media(max-width:700px){.photos{grid-template-columns:1fr;gap:10px}}

  .photo-note{
    margin-top:16px;font-size:12.5px;color:var(--ink-3);letter-spacing:.02em;
    max-width:var(--col);
  }
  .ethics{
    margin-top:32px;max-width:var(--col);
    border-top:1px solid var(--line);padding-top:22px;
  }
  .ethics-head{
    font-size:11px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--sage);font-weight:500;margin:0 0 9px;
  }
  .ethics p:last-child{font-size:.93rem;color:var(--ink-2);margin:0}

  figure.wide{margin:34px 0 0;display:flex;flex-direction:column;gap:12px}
  figure.wide img{
    width:100%;height:auto;display:block;border-radius:2px;
    aspect-ratio:4/3;object-fit:cover;
  }
  figure.wide figcaption{
    font-size:12.5px;color:var(--ink-3);letter-spacing:.02em;max-width:var(--col);
  }
  @media(max-width:700px){figure.wide img{aspect-ratio:5/4}}

  /* ---------- pillars ---------- */
  .pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(216px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden}
  .pillar{background:var(--surface);padding:28px 24px 30px;display:flex;flex-direction:column;gap:12px}
  .pillar-n{
    font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:500;
    display:block;line-height:1.5;
  }
  /* Spanish pillar names run longer; reserve two lines so all four cards align */
  .pillars-es .pillar-n{min-height:3em}
  @media(max-width:700px){.pillars-es .pillar-n{min-height:0}}
  .pillar-h{font-family:var(--f-display);font-size:1.6rem;line-height:1;color:var(--sage);font-weight:400}
  .pillar-q{font-family:var(--f-display);font-style:italic;font-size:1rem;line-height:1.45;margin:0;color:var(--ink)}
  .pillar-p{font-size:.9rem;color:var(--ink-2);margin:0;padding-top:12px;border-top:1px solid var(--line);margin-top:auto;line-height:1.6}

  /* ---------- measure ---------- */
  .measure-wrap{background:var(--band);border-radius:2px;padding:38px 34px}
  .measure-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
  .measure-list li{padding:16px 0;border-bottom:1px solid var(--line-strong)}
  .measure-list li:last-child{border-bottom:none;padding-bottom:0}
  .measure-list li:first-child{padding-top:0}
  .m-t{display:block;font-weight:500;color:var(--ink);margin-bottom:3px}
  .m-d{font-size:.93rem;color:var(--ink-2)}
  @media(max-width:600px){.measure-wrap{padding:26px 20px}}

  /* ---------- people ---------- */
  .people{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center}
  .people-photos{display:flex;flex-direction:column;gap:14px;max-width:100%}
  .people-photos figure{margin:0;display:flex;flex-direction:column;gap:9px}
  .people-photos img{
    width:100%;display:block;object-fit:cover;border-radius:2px;background:var(--band);
  }
  .pp-lead img{aspect-ratio:4/5}
  .pp-second img{aspect-ratio:16/10;opacity:.94}
  .people-photos figcaption{font-size:11.5px;color:var(--ink-3);letter-spacing:.02em;line-height:1.55}
  .role{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
  .role + .role{margin-top:18px}
  .role-n{font-weight:500;letter-spacing:.02em}
  .role-t{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-top:2px}
  .role-d{font-size:.93rem;color:var(--ink-2);margin-top:7px;max-width:46ch}
  @media(max-width:820px){.people{grid-template-columns:1fr;gap:30px}}

  /* ---------- where ---------- */
  .where{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}
  .place{
    border:1px solid var(--line-strong);border-radius:2px;padding:20px 24px;
    flex:1 1 220px;background:var(--surface);
  }
  .place-n{font-family:var(--f-display);font-size:1.4rem;color:var(--sage);line-height:1}
  .place-d{font-size:.9rem;color:var(--ink-2);margin-top:8px}

  /* ---------- stay ---------- */
  .stay{background:var(--sage-deep);color:var(--on-dark);padding-block:80px}
  .stay h2{color:var(--on-dark)}
  .stay h2 .em{color:var(--sand)}
  .stay p{color:var(--on-dark-2)}
  .form{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px;max-width:480px}
  .form input{
    flex:1 1 240px;padding:14px 16px;border-radius:2px;
    border:1px solid rgba(243,241,235,.28);background:rgba(243,241,235,.06);
    color:var(--on-dark);font-family:var(--f-sans);font-size:15px;font-weight:300;
  }
  .form input::placeholder{color:rgba(243,241,235,.45)}
  .form input:focus{outline:2px solid var(--sand);outline-offset:1px}
  .form button{
    padding:14px 26px;border-radius:2px;border:none;cursor:pointer;
    background:var(--sand);color:#2C3E34;font-family:var(--f-sans);
    font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  }
  .form button:hover{background:#E7D7BE}
  .form button:focus-visible{outline:2px solid var(--on-dark);outline-offset:2px}
  .form-done{margin-top:20px;color:var(--sand);font-family:var(--f-display);font-style:italic;font-size:1.1rem}
  .form-fine{margin-top:14px;font-size:12.5px;color:rgba(243,241,235,.55);max-width:46ch}

  /* ---------- footer ---------- */
  footer{padding-block:46px 56px;border-top:1px solid var(--line)}
  .foot-in{display:flex;justify-content:space-between;gap:26px;flex-wrap:wrap;align-items:flex-start}
  .foot-brand{display:flex;align-items:center;gap:11px}
  .foot-brand img{width:28px;height:auto;opacity:.85}
  .foot-name{font-size:12.5px;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-2);font-weight:500}
  .foot-meta{font-size:12px;color:var(--ink-3);letter-spacing:.03em;line-height:1.8;max-width:42ch}
  .status{
    display:inline-block;margin-bottom:10px;font-size:10.5px;letter-spacing:.16em;
    text-transform:uppercase;color:var(--gold);border:1px solid var(--line-strong);
    border-radius:2px;padding:5px 10px;font-weight:500;
  }

  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- origin quote (dark band) ---------- */
blockquote.origin{
  margin:30px 0 28px;
  padding:0 0 0 22px;
  border-left:2px solid var(--gold);
  max-width:34ch;
  text-align:left;
}
blockquote.origin p{
  font-family:var(--f-display);
  font-style:italic;
  font-weight:300;
  font-size:clamp(1.35rem,3.6vw,2rem);
  line-height:1.3;
  color:var(--ink);
  margin:0 0 14px;
  max-width:none;
  text-wrap:balance;
}
blockquote.origin .keep{font-style:italic;color:var(--gold)}
blockquote.origin cite{
  font-family:var(--f-sans);
  font-style:normal;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--ink-3);
}
/* homepage give-away band */
.give-away{display:grid;grid-template-columns:1.15fr 1fr;gap:44px;align-items:center}
.give-away .ga-fig{display:block;border-radius:2px;overflow:hidden;border:1px solid var(--line);background:var(--band);transition:.2s}
.give-away .ga-fig:hover{border-color:var(--line-strong)}
.give-away .ga-fig img{width:100%;height:auto;display:block}
.give-away .ga-copy p{max-width:48ch}
.give-away .ga-cta{
  display:inline-block;margin-top:14px;font-family:var(--f-sans);font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-decoration:none;
  color:var(--on-dark);background:var(--sage-deep);border-radius:2px;padding:11px 18px;transition:.16s;
}
.give-away .ga-cta:hover{background:var(--sage)}
@media(max-width:860px){.give-away{grid-template-columns:1fr;gap:26px}}

/* small row of outside links under a bio */
.elsewhere{
  display:flex;flex-wrap:wrap;gap:0 26px;align-items:center;
  margin:22px 0 0;padding-top:16px;border-top:1px solid var(--line);
}
.elsewhere a{
  font-family:var(--f-sans);font-size:11px;letter-spacing:.17em;text-transform:uppercase;
  font-weight:500;color:var(--ink-2);text-decoration:none;
  padding:5px 0;border-bottom:1px solid transparent;transition:.16s;
}
.elsewhere a::after{content:"\2197";margin-left:5px;color:var(--gold);font-size:10px}
.elsewhere a:hover{color:var(--ink);border-bottom-color:var(--gold)}

/* on the dark sage sections the same pull-quote flips to light type */
.turn blockquote.origin{border-left-color:var(--sand)}
.turn blockquote.origin p{color:var(--on-dark)}
.turn blockquote.origin .keep{color:var(--sand)}
.turn blockquote.origin cite{color:var(--on-dark-2)}
.turn .shell{align-items:flex-start;text-align:left}
.turn .shell > .rule{align-self:flex-start}

/* ---------- founders: we practise this ourselves ---------- */
.practice{
  grid-column:1 / -1;
  margin-top:38px;
  padding-top:28px;
  border-top:1px solid var(--line-strong);
  max-width:var(--col);
}
.practice-k{
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--sage);font-weight:500;margin:0 0 12px;
}
.practice-lead{
  font-family:var(--f-display);
  font-size:clamp(1.25rem,2.9vw,1.6rem);
  line-height:1.32;
  margin:0 0 .9em;
  text-wrap:balance;
}
.practice p{margin-bottom:.95em}
.practice p:last-child{margin-bottom:0}

  /* ---------- language toggle + mobile nav ---------- */
  .lang{
    display:inline-flex;flex:none;align-items:stretch;
    border:1px solid var(--line-strong);border-radius:999px;
    background:var(--surface);overflow:hidden;
  }
  .lang a{
    font-family:var(--f-sans);font-size:12.5px;font-weight:500;
    letter-spacing:.1em;text-transform:uppercase;
    padding:9px 17px;line-height:1;text-decoration:none;
    color:var(--ink-2);display:flex;align-items:center;
    transition:background .15s,color .15s;white-space:nowrap;
  }
  .lang a + a{border-left:1px solid var(--line-strong)}
  .lang a:hover{color:var(--sage)}
  .lang a.on{background:var(--sage-deep);color:var(--on-dark)}
  .lang a.on:hover{color:var(--on-dark)}

  @media(max-width:760px){
    .nav-in{flex-wrap:wrap;gap:10px 14px;padding:12px var(--gutter)}
    .brand{order:1;flex:1 1 auto;min-width:0}
    .lang{order:2}
    .lang a{padding:8px 13px;font-size:11.5px;letter-spacing:.08em}
    .nav-links{
      order:3;width:100%;display:flex;gap:18px;font-size:11px;
      overflow-x:auto;white-space:nowrap;
      border-top:1px solid var(--line);padding:10px 0 1px;
      scrollbar-width:none;
    }
    .nav-links::-webkit-scrollbar{display:none}
  }

  /* ---------- where we work: regions ---------- */
  .regions{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-top:8px}
  .region{background:var(--surface);display:flex;flex-direction:column}
  .region-body{padding:28px 28px 32px}
  .region-map{margin:0;display:block;background:var(--band)}
  .region-map img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:cover}
  .region-k{
    font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--gold);font-weight:600;margin:0 0 6px;
  }
  .region-n{
    font-family:var(--f-display);font-size:1.75rem;line-height:1.1;
    color:var(--sage);margin:0 0 18px;font-weight:400;
  }
  .region-list{
    display:flex;flex-wrap:wrap;gap:7px;margin:0 0 18px;padding:0;list-style:none;
  }
  .region-list li{
    font-family:var(--f-sans);font-size:12px;font-weight:500;letter-spacing:.07em;
    text-transform:uppercase;color:var(--sage-deep);
    background:var(--sage-wash);border-radius:2px;padding:7px 11px;line-height:1;
  }
  .region-list.muted li{background:var(--band);color:var(--ink-2);font-weight:400;letter-spacing:.04em;text-transform:none;font-size:12.5px}
  .region p{font-size:.93rem;color:var(--ink-2);max-width:none;margin:0 0 .7em}
  .region p:last-child{margin-bottom:0}
  .region p strong{color:var(--ink);font-weight:500}
  @media(max-width:720px){.regions{grid-template-columns:1fr}}

  .expand{
    background:var(--sage-deep);color:var(--on-dark);border-radius:2px;
    padding:30px 30px 32px;margin-top:18px;max-width:var(--col);
  }
  .expand-k{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--sand);font-weight:600;margin:0 0 12px}
  .expand p{color:var(--on-dark-2);max-width:none;margin:0 0 .7em}
  .expand p:last-child{margin-bottom:0}
  .expand p strong{color:var(--on-dark);font-weight:500}

  /* ---------- accessibility + performance polish ---------- */
  .skip{
    position:absolute;left:-9999px;top:0;z-index:100;
    background:var(--sage-deep);color:var(--on-dark);
    padding:12px 18px;font-size:13px;letter-spacing:.06em;text-decoration:none;
  }
  .skip:focus{left:8px;top:8px}
  a:focus-visible,button:focus-visible,input:focus-visible{
    outline:2px solid var(--sage);outline-offset:3px;border-radius:2px;
  }
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  }

  /* ---------- the five-second band ---------- */
  .facts{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    background:var(--line);border-block:1px solid var(--line);margin-top:0;
  }
  .fact{background:var(--paper);padding:26px 22px 28px}
  .fact-k{
    font-size:10px;letter-spacing:.2em;text-transform:uppercase;
    color:var(--gold);font-weight:600;margin:0 0 9px;
  }
  .fact-v{font-family:var(--f-display);font-size:1.15rem;line-height:1.25;color:var(--ink);margin:0 0 6px}
  .fact-d{font-size:.85rem;color:var(--ink-2);margin:0;line-height:1.55}
  @media(max-width:860px){.facts{grid-template-columns:1fr 1fr}}
  @media(max-width:460px){.facts{grid-template-columns:1fr}}

  /* ---------- why us ---------- */
  .why{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:26px 34px;margin-top:8px}
  .why-item{border-top:2px solid var(--sage);padding-top:16px}
  .why-item:nth-child(2){border-color:var(--clay)}
  .why-item:nth-child(3){border-color:var(--gold)}
  .why-item:nth-child(4){border-color:var(--sand)}
  .why-item:nth-child(5){border-color:var(--sage)}
  .why-item:nth-child(6){border-color:var(--clay)}
  .why-n{
    font-family:var(--f-sans);font-weight:600;font-size:1.02rem;
    margin:0 0 8px;color:var(--sage-deep);line-height:1.3;
  }
  .why-item p{font-size:.93rem;margin:0;max-width:none;color:var(--ink-2)}
  .why-item p strong{color:var(--ink);font-weight:500}

  /* ---------- theory of change chain ---------- */
  .chain{
    display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:2px;
    overflow:hidden;margin-top:10px;
  }
  .chain-step{background:var(--surface);padding:22px 18px 24px;position:relative}
  .chain-k{
    font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
    color:var(--sage);margin:0 0 8px;
  }
  .chain-t{font-family:var(--f-display);font-size:1.05rem;color:var(--ink);margin:0 0 7px;line-height:1.25}
  .chain-d{font-size:.84rem;color:var(--ink-2);margin:0;line-height:1.5}
  @media(max-width:900px){.chain{grid-template-columns:1fr 1fr}}
  @media(max-width:520px){.chain{grid-template-columns:1fr}}

  /* ---------- goals vs results ---------- */
  .ledger{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
  .led{border-radius:2px;padding:26px 26px 28px;border:1px solid}
  .led-goal{background:var(--sage-wash);border-color:var(--sage-line, var(--line-strong))}
  .led-real{background:var(--band);border-color:var(--line-strong)}
  .led-k{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;margin:0 0 14px}
  .led-goal .led-k{color:var(--sage)}
  .led-real .led-k{color:var(--clay)}
  .led ul{margin:0;padding-left:1.05em}
  .led li{font-size:.93rem;margin-bottom:.55em;line-height:1.55}
  .led li:last-child{margin-bottom:0}
  .led-goal li::marker{color:var(--sage)}
  .led-real li::marker{color:var(--clay)}
  .led p{font-size:.93rem;margin:0;max-width:none}
  @media(max-width:700px){.ledger{grid-template-columns:1fr}}

  /* ---------- calls to action ---------- */
  .acts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-top:8px}
  .act{
    background:var(--surface);padding:26px 24px 28px;text-decoration:none;display:flex;
    flex-direction:column;gap:9px;transition:background .15s;
  }
  .act:hover{background:var(--sage-wash)}
  .act-k{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600}
  .act-n{font-family:var(--f-display);font-size:1.3rem;color:var(--sage-deep);line-height:1.2}
  .act-d{font-size:.89rem;color:var(--ink-2);line-height:1.55;margin:0}
  .act-go{font-size:.85rem;color:var(--sage);margin-top:auto;padding-top:10px;font-weight:500}

  /* ---------- compact map teaser ---------- */
  .map-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
  .map-two figure{margin:0}
  .map-two img{width:100%;height:auto;display:block;border-radius:2px;border:1px solid var(--line)}
  .map-two figcaption{font-size:.85rem;color:var(--ink-2);margin-top:9px;line-height:1.55}
  .map-two figcaption b{color:var(--ink);font-weight:500}
  @media(max-width:700px){.map-two{grid-template-columns:1fr}}

  /* ---------- partner selection criteria ---------- */
  .crit{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-top:8px}
  .crit-c{background:var(--surface);padding:24px 22px 26px}
  .crit-n{
    font-family:var(--f-display);font-size:1.6rem;line-height:1;color:var(--line-strong);
    margin:0 0 10px;font-weight:500;
  }
  .crit-t{font-family:var(--f-sans);font-weight:600;font-size:1rem;color:var(--sage-deep);margin:0 0 8px;line-height:1.3}
  .crit-c p{font-size:.92rem;color:var(--ink-2);margin:0;max-width:none;line-height:1.55}

  .nope{
    background:var(--clay-wash);border-left:3px solid var(--clay);
    padding:24px 26px 26px;border-radius:0 2px 2px 0;margin-top:22px;max-width:var(--col);
  }
  .nope .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);font-weight:600;margin:0 0 12px}
  .nope ul{margin:0;padding-left:1.05em}
  .nope li{font-size:.93rem;line-height:1.55;margin-bottom:.55em}
  .nope li:last-child{margin-bottom:0}
  .nope li::marker{color:var(--clay)}

  /* ---------- partners page ---------- */
  .promise{
    background:var(--sage-deep);color:var(--on-dark);border-radius:2px;
    padding:40px 36px;margin-top:30px;
  }
  .promise .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sand);font-weight:500;margin:0 0 16px}
  .promise .lead{
    font-family:var(--f-display);font-style:italic;font-weight:300;
    font-size:clamp(1.25rem,3vw,1.65rem);line-height:1.36;color:var(--on-dark);
    margin:0 0 22px;max-width:40ch;
  }
  .promise .verbs{
    display:flex;gap:10px;flex-wrap:wrap;padding-top:18px;
    border-top:1px solid rgba(243,241,235,.22);
  }
  .promise .verbs span{
    font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;
    color:var(--on-dark);border:1px solid rgba(243,241,235,.32);border-radius:2px;padding:7px 12px;
  }

  .verbs4{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1px;
    background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-top:8px}
  .v4{background:var(--surface);padding:24px 22px 26px}
  .v4-n{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;margin:0 0 9px}
  .v4:nth-child(1) .v4-n{color:var(--sage)}
  .v4:nth-child(2) .v4-n{color:var(--clay)}
  .v4:nth-child(3) .v4-n{color:var(--gold)}
  .v4:nth-child(4) .v4-n{color:var(--sage-deep)}
  .v4 p{font-size:.93rem;margin:0;max-width:none;color:var(--ink-2);line-height:1.55}

  .dims{width:100%;min-width:560px}
  .dims th{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:600}
  .dims td{font-size:.93rem;vertical-align:top}
  .dims .d-name{font-weight:500;color:var(--sage-deep);white-space:nowrap}
  .dims .d-w{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-3);white-space:nowrap}
  .dims th.n{text-align:right}
  .dims tr.gate-row td{background:var(--clay-wash);font-weight:500}

  .matrix{display:grid;grid-template-columns:110px 1fr 1fr;gap:1px;background:var(--line);
    border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-top:8px}
  .mx-h{background:var(--band);padding:14px 16px;font-size:10px;letter-spacing:.14em;
    text-transform:uppercase;font-weight:600;color:var(--ink-2);display:flex;align-items:center}
  .mx-s{background:var(--band);padding:16px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;
    font-weight:600;color:var(--ink-2);display:flex;align-items:center}
  .mx-c{background:var(--surface);padding:22px 20px 24px}
  .mx-c.best{background:var(--sage-wash)}
  .mx-c.warn{background:var(--clay-wash)}
  .mx-t{font-family:var(--f-sans);font-weight:600;font-size:.98rem;margin:0 0 7px;color:var(--sage-deep)}
  .mx-c.warn .mx-t{color:var(--clay)}
  .mx-c p{font-size:.9rem;margin:0;max-width:none;color:var(--ink-2);line-height:1.5}
  @media(max-width:760px){
    .matrix{grid-template-columns:1fr}
    .mx-h{display:none}
    .mx-s{justify-content:flex-start}
  }

  .stages{margin:8px 0 0;padding:0;list-style:none;counter-reset:st}
  .stages li{
    counter-increment:st;display:grid;grid-template-columns:44px 1fr;gap:20px;
    padding:18px 0;border-bottom:1px solid var(--line);align-items:start;
  }
  .stages li:first-child{border-top:1px solid var(--line)}
  .stages li::before{
    content:counter(st,decimal-leading-zero);
    font-family:var(--f-display);font-size:1.3rem;color:var(--line-strong);line-height:1.1;
  }
  .st-t{font-family:var(--f-sans);font-weight:600;font-size:1rem;display:block;margin-bottom:4px;color:var(--sage-deep)}
  .st-d{font-size:.94rem;color:var(--ink-2);line-height:1.55}

  .expect{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px}
  .exp{border-radius:2px;padding:26px 24px 28px;border:1px solid}
  .exp-us{background:var(--sage-wash);border-color:var(--sage-line, var(--line-strong))}
  .exp-you{background:var(--band);border-color:var(--line-strong)}
  .exp-k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin:0 0 14px}
  .exp-us .exp-k{color:var(--sage)}
  .exp-you .exp-k{color:var(--gold)}
  .exp ul{margin:0;padding-left:1.05em}
  .exp li{font-size:.93rem;line-height:1.55;margin-bottom:.55em}
  .exp li:last-child{margin-bottom:0}
  .exp-us li::marker{color:var(--sage)}
  .exp-you li::marker{color:var(--gold)}
  @media(max-width:700px){.expect{grid-template-columns:1fr}}

  .litany{
    background:var(--sage-deep);color:var(--on-dark);border-radius:2px;
    padding:52px 40px;margin-top:46px;text-align:center;
  }
  .litany p{
    font-family:var(--f-display);font-style:italic;font-weight:300;
    font-size:clamp(1.15rem,2.6vw,1.5rem);line-height:1.5;color:var(--on-dark);
    margin:0 auto;max-width:34ch;
  }
  .litany .lit-k{
    font-family:var(--f-sans);font-style:normal;font-size:10.5px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--sand);font-weight:600;margin:0 0 22px;
  }

  /* ---------- partner intake form ---------- */
  .intake{margin-top:8px;max-width:var(--max)}
  .intake-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px}
  .fld{display:flex;flex-direction:column;gap:7px}
  .fld.wide{grid-column:1/-1}
  .fld label{
    font-size:11px;letter-spacing:.14em;text-transform:uppercase;
    font-weight:600;color:var(--ink-2);
  }
  .fld label .opt{text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink-3);font-size:11.5px}
  .fld input,.fld select,.fld textarea{
    font-family:var(--f-sans);font-size:15px;font-weight:300;color:var(--ink);
    background:var(--surface);border:1px solid var(--line-strong);border-radius:2px;
    padding:12px 13px;width:100%;line-height:1.5;
  }
  .fld textarea{resize:vertical;min-height:88px}
  .fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--sage);outline:none;box-shadow:0 0 0 2px var(--sage-wash)}
  .fld .hint{font-size:12px;color:var(--ink-3);line-height:1.5}
  @media(max-width:700px){.intake-grid{grid-template-columns:1fr}}

  .intake-send{
    display:flex;gap:16px;align-items:center;flex-wrap:wrap;
    margin-top:26px;padding-top:24px;border-top:1px solid var(--line);
  }
  .intake-send button{
    font-family:var(--f-sans);font-size:14px;font-weight:500;letter-spacing:.08em;
    text-transform:uppercase;background:var(--sage-deep);color:var(--on-dark);
    border:none;border-radius:2px;padding:15px 28px;cursor:pointer;
  }
  .intake-send button:hover{background:var(--sage)}
  .intake-send .alt{font-size:.88rem;color:var(--ink-3);line-height:1.6}
  .intake-send .alt a{color:var(--sage)}

  .intake-done{
    background:var(--sage-wash);border-left:3px solid var(--sage);
    padding:26px 26px 28px;border-radius:0 2px 2px 0;margin-top:20px;max-width:var(--col);
  }
  .intake-done p{margin:0 0 .7em;max-width:none}
  .intake-done p:last-child{margin-bottom:0}
  .intake-done .k{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-weight:600;margin-bottom:10px}

  /* ---------- statement of belief ---------- */
  .belief{
    background:var(--sand);color:var(--sage-deep);
    border-radius:2px;padding:38px 34px;margin:30px 0 8px;max-width:var(--col);
  }
  .belief-k{
    font-size:11px;letter-spacing:.2em;text-transform:uppercase;
    color:#7C5C22;font-weight:600;margin:0 0 14px;
  }
  .belief-lead{
    font-family:var(--f-display);font-style:italic;font-weight:400;
    font-size:clamp(1.25rem,3vw,1.6rem);line-height:1.34;
    margin:0 0 18px;max-width:32ch;color:var(--sage-deep);
  }
  .belief p{color:#3F4E43;max-width:none;margin-bottom:.85em}
  .belief p:last-child{margin-bottom:0}
  .belief p strong{color:var(--sage-deep);font-weight:600}
  .belief .bridge{
    margin-top:20px;padding-top:18px;border-top:1px solid rgba(44,62,52,.22);
    font-size:.93rem;
  }
