:root {
  --bg: #f9f6ef; --surface: #ffffff; --surface-alt: #f1ead9; --text: #1d1f2b;
  --text-muted: #555a6e; --line: #e2dccb; --accent: #1a2d6b; --gold: #a8801c;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #12141d; --surface: #1b1e2a; --surface-alt: #232838; --text: #e8e6df;
    --text-muted: #b3b1a8; --line: #343a4f; --accent: #b9c6f2; --gold: #e0bd5a;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0; padding: 0 20px 64px; background: var(--bg); color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans", "Noto Sans JP", sans-serif;
  font-size: 16px; line-height: 1.85; -webkit-text-size-adjust: 100%; overflow-wrap: anywhere;
}
main { max-width: 44rem; margin: 0 auto; }
.langs { padding: 20px 0 0; font-size: 0.8125rem; line-height: 2; color: var(--text-muted); }
.langs a { color: var(--text-muted); text-decoration: none; white-space: nowrap; }
.langs a[aria-current] { color: var(--accent); font-weight: 700; }
header { padding: 28px 0 8px; }
.eyebrow { margin: 0; color: var(--gold); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; }
h1 { margin: 6px 0 0; font-size: 1.75rem; line-height: 1.4; }
.intro { margin: 24px 0 0; padding: 20px 22px; background: var(--surface-alt); border-radius: 14px; }
.updated { margin: 0 0 6px; color: var(--text-muted); font-size: 0.8125rem; font-weight: 700; }
.intro p { margin: 0; }
section { margin-top: 36px; }
h2 { margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--line); font-size: 1.15rem; color: var(--accent); }
section p { margin: 0; color: var(--text); }
.services { display: grid; gap: 12px; margin-top: 16px; }
.service { padding: 14px 16px; background: var(--surface); border: 1px solid var(--line); border-radius: 12px; }
.service h3 { margin: 0 0 4px; font-size: 1rem; }
.service p { margin: 0 0 6px; color: var(--text-muted); font-size: 0.9375rem; }
.service a { color: var(--accent); font-size: 0.9375rem; }
footer { margin-top: 48px; color: var(--text-muted); font-size: 0.8125rem; text-align: center; }
