:root {
  color-scheme: light dark;
  --bg: #f6f7fb;
  --surface: #ffffff;
  --text: #172033;
  --muted: #566176;
  --line: #d8deea;
  --accent: #2458d6;
  --notice: #fff4d6;
  --notice-text: #4e3a00;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.7;
}

.wrap { width: min(100% - 2rem, 56rem); margin: 0 auto; }

.site-header { padding: 3rem 0 2.5rem; background: #101b3a; color: #fff; }
.eyebrow, .section-label { margin: 0 0 .5rem; color: var(--accent); font-size: .8rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.site-header .eyebrow { color: #b9ccff; }
h1, h2, h3 { line-height: 1.25; }
h1 { margin: 0; font-size: clamp(2rem, 6vw, 3.5rem); letter-spacing: 0; }
h1 span { font-size: .62em; font-weight: 600; }
.date { margin: 1.2rem 0 0; color: #dce5ff; }
.language-nav { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.language-nav a { display: inline-block; padding: .45rem .8rem; border: 1px solid #8397d5; border-radius: .4rem; color: #fff; text-decoration: none; }
.language-nav a:hover, .language-nav a:focus-visible { background: #fff; color: #101b3a; }

.policy { padding: 3rem 0 4rem; }
.policy section { scroll-margin-top: 1rem; }
h2 { margin: 0 0 1rem; font-size: clamp(1.7rem, 4vw, 2.35rem); }
h3 { margin: 2rem 0 .5rem; font-size: 1.25rem; }
p, ul { max-width: 72ch; }
li + li { margin-top: .4rem; }
hr { margin: 3.5rem 0; border: 0; border-top: 1px solid var(--line); }
a { color: var(--accent); }
a:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.notice { padding: 1rem 1.1rem; border-left: .25rem solid #b27a00; background: var(--notice); color: var(--notice-text); }
.site-footer { padding: 1.5rem 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .9rem; }

@media (prefers-color-scheme: dark) {
  :root { --bg: #0e1424; --surface: #151d31; --text: #f2f5ff; --muted: #b4bfd6; --line: #35415c; --accent: #9db8ff; --notice: #3b3014; --notice-text: #ffe9a8; }
  .policy { background: transparent; }
}

@media (min-width: 48rem) { .wrap { width: min(100% - 4rem, 56rem); } }

@media print {
  :root { color-scheme: light; --bg: #fff; --text: #000; --muted: #333; --line: #aaa; }
  .site-header { padding: 1rem 0; background: #fff; color: #000; }
  .site-header .eyebrow, .date { color: #000; }
  .language-nav, .site-footer { display: none; }
  .policy { padding: 1rem 0; }
  a { color: #000; text-decoration: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
