/* =========================================================================
   Reclamation Ventures Fund: look matched to learn.reclamation.ventures
   (Nov 2026). Loaded after the Webflow stylesheet, so it only changes the
   look: colors, fonts, buttons, spacing. Wording, links and forms untouched.
   Headings: DM Serif Display. Body + labels: Figtree.
   Sharp corners, hairline rules, no drop shadows.
   ========================================================================= */

:root {
  --green:        #364F38;
  --green-deep:   #0F3A22;
  --bright:       #A8E063;
  --accent:       #2F7D3E;
  --cream:        #E4F1D6;
  --cream-soft:   #F2F3F0;
  --ivory:        #F7F8F6;
  --ink:          #1c211d;
  --muted:        #5f665d;
  --rule:         rgba(54, 79, 56, 0.18);

  --font-display: "DM Serif Display", Georgia, serif;
  --font-body:    "Figtree", -apple-system, BlinkMacSystemFont, sans-serif;

  /* Webflow's own color names, pointed at the Learn palette */
  --black:      var(--ink);
  --white:      var(--ivory);
  --silver:     var(--cream);
  --grey:       var(--muted);
  --light-grey: #8a9187;
  --soft-grey:  #8a9187;
  --dark-grey:  var(--green);
  --lime:       var(--bright);
  --purple:     var(--green);
  --dark-blue:  var(--green);
  --relume-library-lite--rl-black: var(--green);
  --relume-library-lite--rl-white: var(--ivory);
}

body {
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--ivory);
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

/* ---------- Type ---------- */
h1, h2, h3, h4,
.heading, .gr-header,
[class^="rl-heading-style"], [class*=" rl-heading-style"] {
  font-family: var(--font-display);
  font-weight: 400;
  color: var(--green);
  letter-spacing: -0.01em;
  line-height: 1.06;
  text-wrap: balance;
}
h1, .heading._3xl {
  font-size: clamp(3rem, 7.4vw, 6.8rem);
  line-height: 0.98;
  letter-spacing: -0.025em;
}
/* Webflow uses this size for long statement headlines, so it stays a step smaller */
.heading._2xl {
  font-size: clamp(2.6rem, 5.2vw, 4.8rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
}
h2, .heading.xl, .heading.l { font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: 1.02; letter-spacing: -0.02em; }
h3, .heading.m, .heading.s, .gr-header { font-size: clamp(1.55rem, 2.5vw, 2rem); line-height: 1.15; }
h4, .heading.xs { font-size: 1.45rem; line-height: 1.2; }

/* Small spaced-out capitals, like the Learn site's labels */
h5, h6, .heading._2xs {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--accent);
}

/* Italic words: DM Serif italic in the saturated green */
em, .paragraph.italic, .heading.m.italic, .heading-5, .paragraph-3, .pronouns {
  font-family: var(--font-display);
  font-style: italic;
}
h1 em, h2 em, h3 em, .heading em { color: var(--accent); }

p, .paragraph, .bio, .paragraph-8, .grantees, [class^="rl-text-style"], [class*=" rl-text-style"] {
  font-family: var(--font-body);
  letter-spacing: 0;
}
.paragraph { line-height: 1.7; }
.paragraph.large, .paragraph.medium, .grantees { font-size: 1.18rem; font-weight: 300; color: var(--muted); }
.paragraph.grey, .tag-slash.light-grey, .news-info { color: var(--muted); }
.news-info, .tag-slash { font-size: 0.72rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }

a { color: var(--green); }
.w-richtext a, .rich-text a { text-decoration: underline; text-underline-offset: 3px; }
.w-richtext h2, .w-richtext h3, .w-richtext h4 { margin-top: 1.4em; }
.w-richtext p, .rich-text p { margin-bottom: 1.1em; }
.w-richtext blockquote {
  border-left: 0; border-top: 1px solid var(--rule); padding: 28px 0 0; margin: 40px 0;
  font-family: var(--font-display); font-size: 1.35rem; line-height: 1.45; color: var(--green);
}

/* Hairline rules */
.horizontal-line { background-color: var(--green); opacity: 0.18; }
.questions-section, .question-container { border-color: var(--rule); }
.question { color: var(--green); font-family: var(--font-display); font-size: 1.45rem; }

/* ---------- Spacing ---------- */
.section { padding-top: clamp(72px, 10vw, 140px); padding-bottom: clamp(72px, 10vw, 140px); }
.section.small { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(48px, 6vw, 80px); }
.section.grey, .section.grey.no-bottom-padding { background-color: var(--cream); }
.section.large.lime-gradient { background: var(--green-deep); }

/* ---------- Buttons ---------- */
.button, .rl-button, .rl-button-secondary, .w-button, .button-2, .button-3, .button-4, .button-5 {
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-body); font-weight: 600; font-size: 0.78rem; line-height: 1.2;
  text-transform: uppercase; letter-spacing: 0.18em;
  padding: 18px 34px; border-radius: 0; box-shadow: none;
  border: 1px solid var(--green); background-color: var(--green); color: var(--cream-soft);
  transition: background .25s ease, color .25s ease, border-color .25s ease;
}
.button:hover, .rl-button:hover, .w-button:hover, .button-3:hover, .button-4:hover, .button-5:hover {
  opacity: 1; background-color: var(--green-deep); border-color: var(--green-deep); color: var(--cream-soft);
}
.button.outline, .button.light, .button.minimal, .rl-button-secondary, .rl-button.is-secondary {
  background-color: transparent; color: var(--green); box-shadow: none;
}
.button.outline:hover, .button.light:hover, .rl-button-secondary:hover, .rl-button.is-secondary:hover {
  background-color: var(--green); color: var(--cream-soft); box-shadow: none;
}
.button.minimal { border-color: transparent; }
.rl-button-link, .rl-button-link-2 {
  font-family: var(--font-body); font-weight: 600; font-size: 0.74rem;
  text-transform: uppercase; letter-spacing: 0.2em; color: var(--green);
}

/* ---------- Header ---------- */
.nav-bar-white {
  background: rgba(247, 248, 246, 0.94);
  -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px);
  border-bottom: 1px solid rgba(54, 79, 56, 0.12);
  padding-top: 8px; padding-bottom: 8px;
}
.nav-link, .nav-link.w--current {
  font-family: var(--font-body); font-weight: 500; color: var(--green);
  font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.18em;
  padding: 6px 0; margin: 0 17px; border-bottom: 1px solid transparent;
  transition: border-color .2s;
}
.nav-link:hover { filter: none; border-bottom-color: currentColor; }
.nav-button-animated .top-line, .nav-button-animated .bottom-line { background-color: var(--green); height: 1px; }
@media (max-width: 767px) {
  .nav-menu.w-nav-menu { background: var(--ivory); padding: 22px 28px 30px; }
  .nav-link, .nav-link.w--current { display: block; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--rule); }
}

/* ---------- Home hero: deep green block, like Learn ---------- */
.rl_section_header26 {
  background-color: var(--green-deep);
  padding-top: clamp(80px, 10vw, 140px);
}
.rl_section_header26 h1 { color: var(--cream-soft); max-width: 16ch; margin-left: auto; margin-right: auto; }
.rl_section_header26 h1 em { color: var(--bright); }
.rl_section_header26 .rl-button { background-color: var(--bright); border-color: var(--bright); color: var(--green-deep); }
.rl_section_header26 .rl-button:hover { background-color: var(--cream-soft); border-color: var(--cream-soft); }
.rl_section_header26 .rl-button-secondary { background-color: transparent; color: var(--cream-soft); border-color: rgba(242, 243, 240, .55); }
.rl_section_header26 .rl-button-secondary:hover { background-color: var(--cream-soft); color: var(--green-deep); border-color: var(--cream-soft); }
.rl-button-group-center { margin-top: 42px; }

/* Dark green sections get light type */
.section.large.lime-gradient, .section.large.lime-gradient :is(h1, h2, h3, h4, p) { color: var(--cream-soft); }
.section.lime, .section.small.lime { background-color: var(--green-deep); color: rgba(242, 243, 240, 0.78); }
.section.lime :is(h1, h2, h3, h4, .heading, .question) { color: var(--cream-soft); }
.section.lime :is(h1, h2, h3, .heading) em { color: var(--bright); }
.section.lime :is(p, .paragraph, .answer) { color: rgba(242, 243, 240, 0.78); }
.section.lime a { color: var(--cream-soft); }
.section.lime :is(.questions-section, .question-container) { border-color: rgba(242, 243, 240, 0.22); }
.section.lime .question-plus-icon { filter: invert(1); }
.section.lime .horizontal-line { background-color: var(--cream-soft); opacity: 0.22; }
.footer { border-top: 1px solid rgba(242, 243, 240, 0.12); }

/* ---------- Images ---------- */
.project-thumbnail:hover { filter: none; opacity: 0.85; }
.team-image { filter: none; }

/* ---------- Forms ---------- */
.w-input, .w-select, textarea.w-input {
  height: auto; padding: 15px 16px; border: 1px solid rgba(54, 79, 56, 0.35); border-radius: 0;
  background: #fff; font-family: var(--font-body); font-size: 1rem; color: var(--ink);
}
.w-input:focus, .w-select:focus { border-color: var(--green); outline: none; }
.w-form label, .field-label { font-weight: 600; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.18em; }
.form-success-black { background-color: var(--green-deep); color: var(--cream-soft); }

/* ---------- Footer ---------- */
.footer { background-color: var(--green-deep); color: rgba(242, 243, 240, 0.78); padding-top: 90px; padding-bottom: 40px; }
.footer-link { color: rgba(242, 243, 240, 0.78); font-size: 0.95rem; }
.footer-link:hover { color: var(--cream-soft); }
.footer h3, .footer .heading { color: var(--cream-soft); }
.footer h3 em, .footer .heading em { color: var(--bright); }
.footer .paragraph.small { color: rgba(242, 243, 240, 0.78); font-size: 0.78rem; }
.footer .w-input { border-color: var(--cream-soft); }
.footer .rv-subscribe .w-button {
  background: var(--bright); color: var(--green-deep); border: 1px solid var(--bright); border-radius: 0;
}
.footer .rv-subscribe .w-button:hover { background: transparent; color: var(--cream-soft); }
.footer .rv-subscribe-msg { color: var(--cream-soft); }
