

*, ::before, ::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: currentColor;
}
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  scroll-behavior: smooth;
}
body { margin: 0; line-height: inherit; }
hr { height: 0; color: inherit; border-top-width: 1px; }
abbr[title] { text-decoration: underline dotted; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
table { text-indent: 0; border-color: inherit; border-collapse: collapse; }
button, input, optgroup, select, textarea {
  font-family: inherit; font-size: 100%; font-weight: inherit;
  line-height: inherit; color: inherit; margin: 0; padding: 0;
}
button, select { text-transform: none; }
button, [type='button'], [type='submit'] { -webkit-appearance: button; background-color: transparent; background-image: none; }
:-moz-focusring { outline: auto; }
progress { vertical-align: baseline; }
summary { display: list-item; }
blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre { margin: 0; }
fieldset { margin: 0; padding: 0; }
legend { padding: 0; }
ol, ul, menu { list-style: none; margin: 0; padding: 0; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { opacity: 1; color: #8d9397; }
button, [role="button"] { cursor: pointer; }
:disabled { cursor: default; }
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }


:root {
  --paper: #ffffff;
  --ink: #333333;
  --ink-deep: #151719;
  --graphite: #2a2e31;
  --stone: #6d7478;
  --mist: #c8cccf;
  --haze: #eef0f1;
  --shell: #f6f7f7;
  --line: #dcdfe1;
  --accent: #1c1f22;
  --accent-soft: #3a4045;
  --on-dark: #f2f3f4;
  --scrim: rgba(21, 23, 25, 0.62);
}


body {
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  font-weight: 400;
  line-height: 1.7;
  color: var(--ink);
  background: var(--paper);
  font-size: 17px;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 700;
  color: var(--ink-deep);
  letter-spacing: -0.01em;
}
h1 { font-size: clamp(2rem, 6.4vw, 3rem); line-height: 1.12; }
h2 { font-size: clamp(1.6rem, 4.2vw, 2.1rem); line-height: 1.2; }
h3 { font-size: 1.4rem; line-height: 1.3; }
h4 { font-size: 1.1rem; line-height: 1.35; }
p { font-size: 1rem; line-height: 1.7; }
strong { font-weight: 600; color: var(--ink-deep); }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}
::selection { background: var(--ink-deep); color: var(--paper); }
