:root {
  color-scheme:light dark;
  --bg:#f8fbf4;
  --fg:#113e3e;
  --muted:#4c6560;
  --accent:#006c60;
  --card:#eef4e8;
  --line:#d6e4d4;
  --lime:#c9f393;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:30px;
}

body {
  margin:0;
  background:var(--bg);
  color:var(--fg);
  line-height:1.65;
}

a {
  color:inherit;
  text-underline-offset:5px;
}

a:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:6px;
}

.wrap {
  max-width:1120px;
  margin:auto;
  padding-left:36px;
  padding-right:36px;
}

header {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:30px;
  padding-bottom:30px;
}

.brand {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:21px;
  font-weight:750;
  letter-spacing:-.6px;
  text-decoration:none;
}

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

nav a {
  text-decoration:none;
}

nav a:hover {
  text-decoration:underline;
}

.hero {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  align-items:center;
  gap:40px;
  padding-top:65px;
  padding-bottom:110px;
}

.eyebrow {
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:11px;
  font-weight:750;
  color:var(--accent);
  margin:0 0 22px;
}

h1 {
  font-size:clamp(48px,6.6vw,78px);
  letter-spacing:-4px;
  line-height:1.05;
  margin:0 0 30px;
  font-weight:760;
}

h1 span {
  color:var(--accent);
}

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

.button {
  display:inline-flex;
  align-items:center;
  gap:22px;
  background:var(--fg);
  color:var(--bg);
  border-radius:12px;
  padding:16px 22px;
  text-decoration:none;
  font-size:14px;
  font-weight:650;
  margin-top:18px;
}

.button:hover {
  background:var(--accent);
}

.meta {
  color:var(--muted);
  font-size:12px;
  margin-top:20px;
}

.mascot {
  width:100%;
  height:auto;
  filter:drop-shadow(0 28px 30px #07564e1a);
}

.section {
  padding-top:70px;
  padding-bottom:80px;
  border-top:1px solid var(--line);
  scroll-margin-top:20px;
}

h2 {
  font-size:clamp(32px,4vw,46px);
  line-height:1.15;
  letter-spacing:-1.8px;
  margin:0 0 32px;
}

h3 {
  font-size:20px;
  letter-spacing:-.5px;
  margin:20px 0 10px;
}

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

article {
  background:var(--card);
  border:1px solid var(--line);
  border-radius:20px;
  padding:28px;
}

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

.number {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--lime);
  color:#174b41;
  font-size:12px;
  font-weight:750;
}

.privacy {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
}

.privacy p:not(.eyebrow) {
  margin:0 0 20px;
  color:var(--muted);
}

pre {
  padding:24px 28px;
  border-radius:16px;
  background:var(--card);
  border:1px solid var(--line);
  overflow-x:auto;
  max-width:620px;
  font-size:14px;
  line-height:2;
}

footer {
  border-top:1px solid var(--line);
  padding-top:30px;
  padding-bottom:40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

footer p {
  font-size:12px;
  color:var(--muted);
}

.skip {
  position:absolute;
  left:16px;
  top:-100px;
  padding:10px;
  background:var(--bg);
  z-index:1;
}

.skip:focus {
  top:10px;
}

@media(prefers-color-scheme:dark) {
  :root {
    --bg:#082f32;
    --fg:#eef7e7;
    --muted:#b0c8bf;
    --accent:#b3ed88;
    --card:#113b3c;
    --line:#285052;
    --lime:#b3ed88;
  }
  .button:hover {
    color:#082f32;
  }
}

@media(max-width:700px) {
  .wrap {
    padding-left:24px;
    padding-right:24px;
  }
  header {
    flex-wrap:wrap;
    gap:20px;
  }
  nav {
    gap:20px;
  }
  .hero {
    grid-template-columns:1fr;
    padding-top:45px;
    padding-bottom:55px;
  }
  .mascot {
    max-width:340px;
    margin:0 auto;
    grid-row:2;
  }
  h1 {
    letter-spacing:-2.5px;
  }
  .cards,.privacy {
    grid-template-columns:1fr;
  }
  .privacy {
    gap:15px;
  }
  .section {
    padding-top:45px;
    padding-bottom:50px;
  }
  footer {
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
  }
  footer p {
    margin:4px 0;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
}

.install-options {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.install-options h3 { margin-top:0; }
.install-options code { overflow-wrap:anywhere; }
.install-options p + p { margin-top:16px; }
.policy { max-width:800px; padding-top:48px; padding-bottom:64px; }
.policy h1 { font-size:clamp(36px,6vw,52px); letter-spacing:-2px; }
.policy h2 { font-size:24px; letter-spacing:-0.5px; margin-top:36px; margin-bottom:16px; }
.policy p { margin-bottom:22px; }
.policy .effective { font-size:13px; color:var(--muted); }
@media(max-width:700px) { .install-options { grid-template-columns:1fr; } }
