:root {
  --ink: #17211e;
  --pine: #0b3c34;
  --green: #17614e;
  --gold: #d8b26e;
  --mist: #eef3ef;
  --paper: #fbfcfa;
  --line: #d6e0d9;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}

.hero {
  min-height: 45rem;
  color: white;
  background: linear-gradient(90deg, rgba(3, 24, 20, .9), rgba(3, 24, 20, .5)), url("assets/pcb-background.png") center / cover;
}
nav, main > section, footer { max-width: 72rem; margin: 0 auto; padding-left: 2rem; padding-right: 2rem; }
nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
a { color: inherit; }
.brand { font-weight: 750; font-size: 1.12rem; text-decoration: none; letter-spacing: -.02em; }
.nav-links { display: flex; gap: 1.5rem; }
.nav-links a { text-decoration: none; font-size: .94rem; }
.nav-links a:hover, footer a:hover { color: var(--gold); }
.hero-copy { max-width: 42rem; padding: 8rem 2rem 5rem; margin: 0 auto; }
.eyebrow, .section-label, .project-type { text-transform: uppercase; letter-spacing: .11em; font-size: .75rem; font-weight: 750; }
.eyebrow { color: var(--gold); }
h1, h2, h3 { line-height: 1.08; letter-spacing: -.035em; }
h1 { font-size: clamp(3rem, 8vw, 6.3rem); margin: .4rem 0 1.4rem; }
h2 { font-size: clamp(2rem, 4vw, 3.3rem); max-width: 40rem; margin: .35rem 0 1rem; }
h3 { font-size: 1.55rem; margin: .4rem 0 .7rem; }
.hero-copy > p:not(.eyebrow) { max-width: 35rem; margin: .25rem 0; font-size: 1.2rem; }
.button { display: inline-block; margin-top: 2rem; padding: .8rem 1.1rem; background: var(--gold); color: #17211e; font-weight: 750; text-decoration: none; border-radius: .3rem; }
main > section { padding-top: 5.5rem; padding-bottom: 5.5rem; }
.intro { max-width: 57rem; }
.intro > p:last-child, .about > p:last-child, .notes > p:last-child { max-width: 44rem; font-size: 1.12rem; }
.section-label, .project-type { color: var(--green); margin: 0; }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; margin-top: 2rem; }
.project { background: white; border: 1px solid var(--line); border-radius: .55rem; padding: 1.8rem; min-height: 18rem; }
.project.featured { grid-column: span 2; background: var(--pine); color: white; border-color: var(--pine); }
.project.featured .project-type, .status { color: var(--gold); }
.status { font-weight: 650; margin-top: 1.5rem; }
.notes { background: var(--mist); max-width: none; }
.notes > * { max-width: 72rem; margin-left: auto; margin-right: auto; }
.about { border-bottom: 1px solid var(--line); }
footer { display: flex; justify-content: space-between; padding-top: 2rem; padding-bottom: 2rem; font-size: .92rem; color: #53605a; }
footer a { text-decoration: none; }

@media (max-width: 700px) {
  .hero { min-height: 38rem; }
  nav, main > section, footer { padding-left: 1.25rem; padding-right: 1.25rem; }
  .hero-copy { padding: 5rem 1.25rem 4rem; }
  .nav-links { gap: .85rem; font-size: .85rem; }
  .project-grid { grid-template-columns: 1fr; }
  .project.featured { grid-column: auto; }
  main > section { padding-top: 4rem; padding-bottom: 4rem; }
}
