:root { color-scheme: light; --blue: #321fff; --ink: #18181b; --muted: #65656b; }
* { box-sizing: border-box; }
html { background: #f5f5f7; -webkit-text-size-adjust: 100%; }
body { margin: 0; color: var(--ink); font: 17px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
a { color: var(--blue); text-underline-offset: .2em; overflow-wrap: anywhere; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--blue); outline-offset: 5px; border-radius: 3px; }
.page { width: min(100% - 40px, 760px); margin: 0 auto; }
header { padding: 30px 0 20px; border-bottom: 1px solid #dedee3; }
nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
nav a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
nav .brand { margin-right: auto; color: var(--ink); font-weight: 750; letter-spacing: .05em; }
nav [aria-current="page"] { color: var(--ink); text-decoration: underline; }
main { padding: 36px 0 44px; min-height: 52vh; }
h1 { margin: 0 0 18px; font-size: clamp(30px, 6vw, 42px); line-height: 1.18; letter-spacing: -.03em; }
h2 { margin: 28px 0 8px; font-size: 21px; line-height: 1.4; }
p { margin: 0 0 16px; }
.intro { max-width: 640px; font-size: 21px; line-height: 1.6; }
.muted, footer { color: var(--muted); font-size: 14px; }
footer { border-top: 1px solid #dedee3; padding: 24px 0 32px; }
footer p { margin-bottom: 6px; }
details { margin-top: 32px; padding-top: 20px; border-top: 1px solid #dedee3; }
summary { cursor: pointer; min-height: 44px; color: var(--blue); font-weight: 600; }
.contact { font-size: 20px; }
@media (max-width: 420px) { .page { width: calc(100% - 32px); } nav { gap: 6px 16px; } main { padding-top: 28px; } }
