/* ===== Typography (Barlow) ============================================== */
/* Self-hosted Barlow (WOFF2). Add files under assets/fonts/barlow/. */
@font-face {
  font-family: 'Barlow';
  src: url('../../fonts/barlow/Barlow-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('../../fonts/barlow/Barlow-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('../../fonts/barlow/Barlow-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('../../fonts/barlow/Barlow-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('../../fonts/barlow/Barlow-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Barlow';
  src: url('../../fonts/barlow/Barlow-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
html { font-size: 100%; }
body {
  margin: 0;
  font-family: 'Barlow', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica Neue, Arial, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Media defaults: prevent overflow and keep aspect */
img, video, iframe, embed {
  max-width: 100%;
  height: auto;
}

/* Headings scale (optical sizes for clarity) */
h1, h2, h3, h4, h5, h6 { font-family: 'Barlow', inherit; font-weight: 700; line-height: 1.2; margin: 0 0 .5em; }
h1 { font-size: clamp(2.1rem, 2.6vw + 1.2rem, 3rem); font-weight: 800; }
h2 { font-size: clamp(1.8rem, 2.1vw + 1.1rem, 2.375rem); }
h3 { font-size: clamp(1.5rem, 1.4vw + 1rem, 1.875rem); }
h4 { font-size: 1.25rem; font-weight: 600; }
h5 { font-size: 1.125rem; font-weight: 600; }
h6 { font-size: 1rem; font-weight: 600; letter-spacing: .2px; }

/* Paragraphs and small text */
p { margin: 0 0 1rem; }
small, .text-sm { font-size: .875rem; line-height: 1.5; }
.text-xs { font-size: .8125rem; line-height: 1.45; }

/* Links (browser-like defaults); buttons override below */
a { color:#0000EE; text-decoration: underline; }
a:visited { color:#551A8B; }
a:hover { color:#0000EE; text-decoration: underline; }
a:active { color:#EE0000; }

/* Buttons inherit Barlow */
button, input, select, textarea { font-family: inherit; font-size: 100%; }

