* { box-sizing: border-box; }
:root { color-scheme: light; --ink: #25332d; --muted: #65736c; --line: #dce2db; --accent: #597656; }
body { margin: 0; background: #f8f9f5; color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; line-height: 1.75; }
a { color: inherit; text-underline-offset: 5px; }
a:hover { color: var(--accent); }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.page { max-width: 1000px; padding: 0 40px; margin: auto; }
header, footer { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
header { padding: 30px 0; border-bottom: 1px solid var(--line); }
.wordmark { font-size: 30px; font-weight: 700; text-decoration: none; letter-spacing: -2px; }
.wordmark span { color: var(--accent); }
nav, footer { font-size: 14px; }
main { padding: 80px 0 90px; min-height: 72vh; }
.eyebrow, .label { font-size: 11px; letter-spacing: .16em; color: var(--muted); }
h1 { margin: 24px 0; font-size: clamp(52px, 10vw, 88px); line-height: 1.15; font-weight: 600; letter-spacing: -.04em; }
h1 span { display: block; margin-top: 18px; font-size: clamp(26px, 5vw, 40px); letter-spacing: -.02em; }
.lead { color: var(--muted); font-size: 19px; }
section { margin-top: 65px; padding-top: 26px; border-top: 1px solid var(--line); }
h2 { font-size: 21px; font-weight: 500; }
section > p:last-child { color: var(--muted); }
footer { padding: 24px 0 32px; border-top: 1px solid var(--line); color: var(--muted); }
.skip-link { position: absolute; top: -100px; padding: 8px 16px; background: white; }
.skip-link:focus { top: 8px; }
@media (max-width: 600px) { .page { padding: 0 24px; } main { padding-top: 52px; } header { padding: 22px 0; } footer { flex-wrap: wrap; } }
