@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 500; font-display: swap; src: url('/css/fonts/inter-a.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 500; font-display: swap; src: url('/css/fonts/inter-b.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 600 700; font-display: swap; src: url('/css/fonts/worksans-a.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Work Sans'; font-style: normal; font-weight: 600 700; font-display: swap; src: url('/css/fonts/worksans-b.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --surface-base: #f4ebdd;
  --surface-raised: #fffaf2;
  --surface-sunk: #ebdfcc;
  --surface-night: #121a3f;
  --surface-overlay: rgba(18, 26, 63, 0.55);
  --text-primary: #1c2863;
  --text-muted: #4b4f66;
  --text-on-action: #ffffff;
  --text-on-night: #e9e1d3;
  --text-on-night-muted: #c9c2d6;
  --text-warm: #a3400c;
  --text-leaf: #566237;
  --action-primary: #1c2863;
  --action-hover: #121a4d;
  --action-glow: rgba(28, 40, 99, 0.33);
  --action-glow-strong: rgba(28, 40, 99, 0.5);
  --accent-ember: #e8812f;
  --accent-sun: #f3b54a;
  --accent-sky: #b9d9e6;
  --accent-night-link: #f0a560;
  --border-soft: rgba(28, 40, 99, 0.12);
  --border-strong: rgba(28, 40, 99, 0.28);
  --font-body: 'Inter', 'Segoe UI', Arial, sans-serif;
  --font-heading: 'Work Sans', 'Segoe UI', Arial, sans-serif;
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4rem;
  --radius-card: 1rem;
  --radius-control: 0.625rem;
  --radius-step: 2.5rem;
  --header-height: 4rem;
  --bar-height: 4.5rem;
}

*, *::before, *::after { box-sizing: border-box; }

html { font-size: 100%; scroll-behavior: smooth; scroll-padding-top: 5rem; }

body {
  margin: 0;
  position: relative;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text-primary);
  background: var(--surface-base);

}

h1, h2, h3, h4 {
  font-family: var(--font-heading);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--text-primary);
  hyphens: auto;
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
}

h1 { font-size: 2.1rem; line-height: 1.12; margin: 0 0 var(--space-sm); }
h2 { font-size: 1.75rem; line-height: 1.2; margin: 0 0 var(--space-md); }
h3 { font-size: 1.25rem; line-height: 1.3; margin: 0 0 var(--space-xs); font-weight: 600; }
p { font-size: 1.0625rem; line-height: 1.7; margin: 0 0 1.25rem; }

a { color: var(--text-primary); text-underline-offset: 0.2em; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 0.1875rem solid var(--accent-ember); outline-offset: 0.1875rem; }

img { max-width: 100%; height: auto; display: block; }

@media (min-width: 48em) {
  h1 { font-size: 2.6rem; }
  h2 { font-size: 2.1rem; }
  h3 { font-size: 1.4rem; }
}

@media (min-width: 64em) {
  h1 { font-size: 3rem; }
}

.welcome-title { hyphens: manual; -webkit-hyphens: manual; }

@media (min-width: 48em) {
  h1, h2, h3, h4 { hyphens: manual; -webkit-hyphens: manual; }
}
