:root { color-scheme: light; font: 100%/1.6 var(--sans); background: #fff; color: #17271e; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #155436; text-underline-offset: .18em; }
a:focus-visible { outline: 2px solid #20633e; outline-offset: 4px; }
.skip { position: absolute; left: 1rem; top: -5rem; background: white; padding: .5rem 1rem; }
.skip:focus { top: 1rem; }
header, main, footer { max-width: 72rem; margin: auto; padding-inline: clamp(1.25rem, 5vw, 4rem); }
header, footer, nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
header { min-height: 5rem; border-bottom: 1px solid #d9e2da; }
.wordmark img { display: block; object-fit: contain; filter: brightness(0) saturate(100%) invert(23%) sepia(29%) saturate(1016%) hue-rotate(97deg); }
nav a, .button { display: inline-flex; min-height: 44px; align-items: center; font-weight: 550; text-decoration: none; }
.outlined { border: 1px solid #99b3a0; border-radius: .65rem; padding-inline: 1rem; }
.hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; padding-block: clamp(3rem, 7vw, 6rem); }
h1, h2, h3, p { margin: 0; }
h1, h2, h3 { line-height: 1.12; letter-spacing: -.035em; }
h1 { font-size: clamp(2.65rem, 5.7vw, 4.8rem); font-weight: 600; max-width: 14ch; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
h3 { font-size: 1.35rem; }
.intro, article p, .sharing p, .policy p, .policy li { color: #415548; }
.intro { font-size: clamp(1.08rem, 2vw, 1.25rem); margin-block: 1.2rem 1.55rem; max-width: 42rem; }
.eyebrow { font-size: .8rem; text-transform: uppercase; letter-spacing: .12em; font-weight: 650; margin: 0 0 1rem; color: #386549; }
.button { border-radius: .65rem; padding: .75rem 1.2rem; background: #174e32; color: white; gap: 1.4rem; }
.sample { padding: clamp(1.5rem, 3vw, 2.3rem); border-radius: 1.2rem; background: #173b2a; color: #f6faf6; }
.sample .eyebrow, .sample span, .sample small { color: #c1d9c8; }
.sample h2 { font-size: 1.65rem; }
.sample ul { list-style: none; padding: 0; margin: 1.2rem 0 0; }
.sample li { border-top: 1px solid #4d6a58; padding-block: .78rem; }
.sample li:last-child { padding-bottom: 0; }
.sample li > * { display: block; }
.sample span, .sample small { font-size: .85rem; }
.sample strong { font-size: 1.05rem; }
.connections, .sharing { border-top: 1px solid #d9e2da; padding-block: 2.5rem; }
.services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 1.7rem; }
article p, .sharing p { margin-top: .55rem; }
.sharing p { max-width: 45rem; margin-bottom: .8rem; }
footer { border-top: 1px solid #d9e2da; padding-block: 1.5rem; flex-wrap: wrap; color: #43594a; }
.policy { max-width: 54rem; padding-block: clamp(2rem, 5vw, 4rem); overflow-wrap: anywhere; }
.policy h1 { font-size: clamp(2.25rem, 5vw, 3.55rem); max-width: 18ch; }
.policy h2 { font-size: clamp(1.45rem, 3vw, 1.85rem); margin: 2rem 0 .65rem; }
.policy p + p, .policy li + li { margin-top: .65rem; }
.policy ul { padding-left: 1.35rem; }
@media(max-width: 700px) {
  .hero, .services { grid-template-columns: 1fr; }
  .hero { gap: 1.75rem; }
  .services { gap: 1.25rem; }
  .connections, .sharing { padding-block: 2rem; }
  nav { gap: .7rem; }
}
