:root {
  color-scheme: light;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #233b32;
  background: #f7f7ef;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100svh; }
.shell { min-height: 100svh; display: flex; flex-direction: column; padding: 2rem 6vw; }
header, footer { display: flex; align-items: center; justify-content: space-between; }
.wordmark { font-size: 1.65rem; font-weight: 650; letter-spacing: -.07em; }
main { flex: 1; display: grid; align-content: center; padding: 5rem 0 6rem; }
.eyebrow { font-size: .75rem; text-transform: uppercase; letter-spacing: .16em; }
h1 { max-width: 13ch; font-size: clamp(3.3rem, 9vw, 7.5rem); line-height: 1.02;
  letter-spacing: -.065em; font-weight: 500; margin: 1.2rem 0 1.8rem; }
.intro { font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.6; margin: 0 0 2rem; }
a { color: inherit; text-underline-offset: .3em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible, button:focus-visible { outline: 3px solid #427e60; outline-offset: 5px; }
.contact { width: fit-content; font-size: 1rem; padding: .5rem 0; }
footer { border-top: 1px solid #ccd4c8; padding-top: 1.3rem; font-size: .8rem; gap: 1rem; }
button { font: inherit; color: inherit; background: transparent; border: 1px solid currentColor;
  border-radius: .2rem; padding: .65rem 1rem; cursor: pointer; }
.consent { position: fixed; inset: auto 1rem 1rem; background: #fff; border: 1px solid #ccd4c8;
  padding: 1.5rem; max-width: 32rem; box-shadow: 0 4px 24px #233b3210; }
.consent p { line-height: 1.5; margin: 0 0 1rem; }
.actions { display: flex; flex-wrap: wrap; gap: .75rem; }
[hidden] { display: none !important; }
@media (max-width: 480px) {
  .shell { padding: 1.5rem; }
  main { padding: 4rem 0; }
  footer { align-items: flex-start; flex-direction: column; }
}
