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

@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url('assets/fonts/cormorant-garamond.woff2') format('woff2');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300 400;
  font-display: swap;
  src: url('assets/fonts/cormorant-garamond-italic.woff2') format('woff2');
}
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url('assets/fonts/jost.woff2') format('woff2');
}

:root {
  --cream: #F7F3EE;
  --warm-white: #FDFAF7;
  --ink: #2C2820;
  --ink-light: #5A524A;
  --ink-faint: #9A8F82;
  --sage: #8A9E8C;
  --border: rgba(44,40,32,0.12);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Jost', system-ui, sans-serif;
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--serif);
  background: var(--warm-white);
  color: var(--ink);
  overflow-x: hidden;
}

h1, h2, h3 { text-wrap: balance; }

a {
  color: #2C2820;
  text-decoration: underline;
  text-decoration-color: rgba(44, 40, 32, 0.35);
  text-underline-offset: 3px;
}

a:hover {
  text-decoration-color: #2C2820;
}

[class*="cky-"] {
  font-family: var(--sans);
}

.section-label {
  font-family: var(--sans);
  font-size: 0.65rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.section-label::after {
  content: '';
  display: block;
  width: 40px;
  height: 1px;
  background: var(--ink-faint);
}
