:root {
  color-scheme: light;
  --cream: #fff8f0;
  --paper: #ffffff;
  --ink: #2d1d19;
  --muted: #67534c;
  --terracotta: #9a4937;
  --line: #e7d8ce;
  --teal: #236b4a;
}

* { box-sizing: border-box; }

html { font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif; }

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-size: 1rem;
  line-height: 1.65;
}

.shell {
  width: min(calc(100% - 2rem), 72ch);
  margin-inline: auto;
}

.hero {
  padding: clamp(3rem, 9vw, 6rem) 0 2.75rem;
  background: var(--cream);
  border-bottom: 1px solid var(--line);
}

.eyebrow {
  margin: 0 0 0.5rem;
  color: var(--terracotta);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

h1, h2 { line-height: 1.15; overflow-wrap: anywhere; text-wrap: balance; }
h1 { margin: 0; font-size: clamp(2.4rem, 8vw, 4.6rem); letter-spacing: -0.035em; }
h2 { margin-top: 0; font-size: clamp(1.45rem, 4vw, 2rem); }

.lede { max-width: 58ch; margin: 1.25rem 0 0; color: var(--muted); font-size: 1.16rem; }
.effective { margin: 1.5rem 0 0; }

main { padding-block: 1rem 4rem; }

section {
  padding-block: 2.25rem;
  border-bottom: 1px solid var(--line);
}

p { margin: 0.85rem 0 0; }
a { color: #82402f; text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 0.14em; }
a:focus-visible { outline: 3px solid #236b4a; outline-offset: 4px; border-radius: 2px; }

.summary-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  padding: 0;
  list-style: none;
}

.summary-grid li {
  padding: 1rem;
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 0.8rem;
}

.summary-grid strong { display: block; color: var(--teal); }

.contact { border-bottom: 0; }

footer {
  padding: 1.5rem 0;
  color: var(--muted);
  background: var(--cream);
  border-top: 1px solid var(--line);
}

@media (max-width: 560px) {
  .shell { width: min(calc(100% - 1.25rem), 72ch); }
  .hero { padding-top: 2.5rem; }
  .summary-grid { grid-template-columns: 1fr; }
  section { padding-block: 1.75rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
