:root {
  --paper: #FAF7FF;
  --ink: #1F1A3D;
  --ink-soft: #4B4568;
  --lilac: #DCD0FF;
  --butter: #FFF1A8;
  --grape: #6A4DF5;
  --line: rgba(31, 26, 61, .14);
  --sans: "Bricolage Grotesque", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1.0625rem/1.65 var(--sans); font-variation-settings: "opsz" 16; }
a { color: var(--grape); text-underline-offset: 2px; }
:focus-visible { outline: 3px solid var(--grape); outline-offset: 3px; border-radius: 6px; }
.top { width: min(760px, 100% - 40px); margin: 22px auto 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 8px 8px 20px; border: 1px solid var(--line); border-radius: 999px; background: #fff; }
.top a.logo { display: block; line-height: 0; }
.top a.logo svg { height: 30px; width: auto; overflow: visible; }
.top a.back { color: var(--ink); text-decoration: none; font-weight: 600; font-size: .92rem; padding: .7em 1em; border-radius: 999px; border: 2px solid var(--ink); white-space: nowrap; }
.top a.back:hover { background: var(--butter); }
main { width: min(760px, 100% - 40px); margin: 0 auto; padding: 56px 0 80px; }
h1 { font-size: clamp(2.2rem, 7vw, 3.4rem); line-height: 1; letter-spacing: -0.03em; margin: 0 0 10px; font-weight: 700; font-variation-settings: "opsz" 96, "wdth" 88; }
.stand { color: var(--ink-soft); margin: 0 0 36px; font-size: .95rem; }
h2 { font-size: 1.3rem; line-height: 1.2; letter-spacing: -0.015em; margin: 40px 0 10px; font-weight: 700; font-variation-settings: "opsz" 40; }
h3 { font-size: 1.05rem; margin: 24px 0 6px; }
p, li { max-width: 68ch; }
p { margin: 0 0 12px; }
ul { margin: 0 0 12px; padding-left: 1.2em; }
li { margin-bottom: 6px; }
.card { background: #fff; border: 2px solid var(--ink); border-radius: 22px; padding: 20px 24px; margin: 0 0 12px; }
.card p { margin: 0; }
.small { font-size: .9rem; color: var(--ink-soft); }
footer { width: min(760px, 100% - 40px); margin: 0 auto; padding: 22px 0 40px; border-top: 1.5px solid var(--line); display: flex; flex-wrap: wrap; gap: 10px 20px; justify-content: space-between; font-size: .92rem; color: var(--ink-soft); }
footer nav { display: flex; gap: 16px; flex-wrap: wrap; }
footer a { color: inherit; }
footer a[aria-current="page"] { color: var(--ink); font-weight: 650; text-decoration: none; }
