:root {
  color: #202852;
  background: #faf8ff;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", sans-serif;
  line-height: 1.75;
}

body { margin: 0; }
a { color: #5f388e; text-underline-offset: 0.2em; }
a:focus-visible { outline: 2px solid #5f388e; outline-offset: 4px; }
p { max-width: 42rem; margin: 0 0 1em; }
.container { width: min(100% - 2rem, 66rem); margin-inline: auto; }
.site-header, .site-footer { background: #fff; }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; }
.wordmark { color: inherit; font-weight: 800; letter-spacing: 0.12em; text-decoration: none; }
main { padding-block: 2rem 3rem; }
.hero { padding: clamp(2rem, 8vw, 6rem) clamp(1.25rem, 5vw, 4rem); border-radius: 1.5rem; background: linear-gradient(130deg, #eee5fd, #fbeaf4); }
.eyebrow { color: #5f388e; font-weight: 700; }
h1 { margin: 0 0 0.5em; font-size: clamp(1.7rem, 5vw, 3.5rem); line-height: 1.3; overflow-wrap: anywhere; }
h2 { margin: 0 0 0.5em; font-size: 1.35rem; }
h3 { margin: 1.2em 0 0.35em; font-size: 1rem; }
.hero p:last-child, .panel p:last-child { margin-bottom: 0; }
.panel { margin-top: 1.5rem; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #e2d9f2; border-radius: 1rem; background: #fff; }
.page-title { padding-top: 1rem; }
.site-footer { border-top: 1px solid #e2d9f2; }
.site-footer nav { display: flex; flex-wrap: wrap; column-gap: 1.5rem; row-gap: 0.5rem; padding-block: 1.25rem; }
