:root {
  --theme-color-primary: #b08d3e;
  --theme-color-secondary: #1a1a1a;
  --theme-color-surface: #faf7f2;
  --theme-color-text: #1f1f1f;
  --theme-color-muted: #8a8378;
  --theme-font-heading: 'Playfair Display', serif;
  --theme-font-body: 'Lora', serif;
  --theme-radius: 0px;
  --theme-spacing-scale: 1.15;
  --theme-button-radius: 0px;
  --theme-button-bg: transparent;
  --theme-button-fg: var(--theme-color-primary);
  --theme-button-border: 2px solid var(--theme-color-primary);
}
/*
 * Self-hosted Google Fonts (plan.md Phase 5 task 1 — no CDN allowed).
 * Latin-subset woff2 only. Browsers only fetch a face that's actually
 * applied to rendered text, so listing all of them here costs nothing
 * for themes that don't use every font.
 */

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/inter-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/inter-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/nunito-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Nunito';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/nunito-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/montserrat-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 800;
    font-display: swap;
    src: url('/assets/fonts/montserrat-800.woff2') format('woff2');
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/worksans-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Work Sans';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/worksans-600.woff2') format('woff2');
}

@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/assets/fonts/playfairdisplay-600.woff2') format('woff2');
}

@font-face {
    font-family: 'Playfair Display';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/playfairdisplay-700.woff2') format('woff2');
}

@font-face {
    font-family: 'Lora';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/assets/fonts/lora-400.woff2') format('woff2');
}

@font-face {
    font-family: 'Lora';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/assets/fonts/lora-700.woff2') format('woff2');
}

.sb-text-block { padding: 56px 24px; max-width: 900px; margin: 0 auto; }
.sb-text-block .text-content { font-size: 17px; line-height: 1.75; color: var(--theme-color-text); }
.sb-text-block .text-content.cols-2 { columns: 2; column-gap: 40px; }
.sb-text-block h3, .sb-text-block h4 { margin: 24px 0 10px; letter-spacing: -0.01em; }
.sb-text-block p { margin-bottom: 16px; }
.sb-text-block a { color: var(--theme-color-primary); text-underline-offset: 3px; }
@media (max-width: 640px) {
  .sb-text-block .text-content.cols-2 { columns: 1; }
}
