
:root {
  /* Original green theme
  --ink: #24302b;
  --muted: #66736c;
  --green: #367a5a;
  --line: #e5ebe7;
  --soft: #f5f8f6;
  */

  /* New grayscale theme */
  --ink: #242424;
  --muted: #666666;
  --green: #555555;
  --line: #e5e5e5;
  --soft: #f5f5f5;
}


* {
    box-sizing: border-box
}

html {
    scroll-behavior: auto
}

body {
    margin: 0;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    color: var(--ink);
    background: #fff;
    line-height: 1.7
}

a {
    color: inherit;
    text-decoration: none
}

a:hover,
a:focus-visible {
    color: var(--green);
    text-decoration: underline;
    text-underline-offset: 5px
}

.wrap {
    width: min(1080px, calc(100% - 48px));
    margin: auto
}

header {
    border-bottom: 1px solid var(--line)
}

.nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 86px
}

.brand {
    font-size: 22px;
    font-weight: 750;
    letter-spacing: -.7px;
    white-space: nowrap
}

.brand span,
.eyebrow,
.link,
.number {
    color: var(--green)
}

nav {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    font-size: 14px
}

nav a[aria-current=page] {
    color: var(--green);
    font-weight: 700
}

.hero {
    padding: 72px 0 60px;
    max-width: 870px
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    font-weight: 700
}

h1 {
    font-size: clamp(39px, 6vw, 68px);
    line-height: 1.13;
    letter-spacing: -2px;
    font-weight: 650;
    margin: 20px 0 26px
}

.intro {
    font-size: 19px;
    color: var(--muted);
    max-width: 760px
}

.link {
    display: inline-block;
    margin-top: 20px;
    font-weight: 650
}

section {
    padding: 64px 0;
    border-top: 1px solid var(--line)
}

h2 {
    font-size: 31px;
    letter-spacing: -.8px;
    margin: 0 0 12px
}

h3 {
    font-size: 20px;
    line-height: 1.35;
    margin: 0 0 12px
}

.section-desc,
.body-copy {
    color: var(--muted);
    max-width: 780px
}

.section-desc {
    margin: 0 0 32px
}

.cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px
}

.card {
    background: var(--soft);
    padding: 28px 24px;
    border-radius: 5px;
    min-height: 200px
}

.number {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 20px
}

.card p {
    color: var(--muted);
    font-size: 15px;
    margin: 0
}

.stack {
    display: grid;
    gap: 28px;
    max-width: 820px
}

.entry {
    padding-bottom: 26px;
    border-bottom: 1px solid var(--line)
}

.entry:last-child {
    border-bottom: 0
}

.entry p {
    color: var(--muted);
    margin: 0 0 12px
}

.tag {
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: var(--green);
    font-weight: 700
}

.note {
    background: var(--soft);
    padding: 22px 26px;
    border-left: 3px solid var(--green);
    color: var(--muted);
    max-width: 800px
}

.small {
    font-size: 14px;
    color: var(--muted)
}

footer {
    border-top: 1px solid var(--line);
    padding: 30px 0 48px;
    font-size: 13px;
    color: var(--muted)
}

@media(max-width:750px) {
    .nav {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px 0
    }

    nav {
        gap: 12px 18px
    }

    .hero {
        padding: 72px 0
    }

    h1 {
        letter-spacing: -1.2px
    }

    .intro {
        font-size: 17px
    }

    .cards {
        grid-template-columns: 1fr
    }

    section {
        padding: 46px 0
    }
}


/* Homepage: News and Join Us */
.home-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
}

.home-column h2 {
  border-bottom: 1px solid var(--line);
  padding-bottom: 16px;
  margin-bottom: 24px;
}

.home-column p {
  color: var(--muted);
}

/* Mobile layout */
@media (max-width: 750px) {
  .home-bottom {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}


/* News photos */
.news-image {
  display: block;
  width: 100%;
  max-width: 600px;
  height: auto;
  border-radius: 4px;
  margin-top: 20px;
}

.news-item {
  margin-bottom: 36px;
}

