/* CiCC Typography Contract v1 — one readable baseline for every content type. */
:root {
  --cicc-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --cicc-font-heading: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --cicc-text-base: 1rem;
  --cicc-leading-body: 1.7;
  --cicc-leading-heading: 1.2;
  --cicc-measure: 78ch;
}

body { font-family: var(--cicc-font-body); font-size: var(--cicc-text-base); line-height: var(--cicc-leading-body); }
body h1, body h2, body h3, body h4, body h5, body h6 { font-family: var(--cicc-font-heading); line-height: var(--cicc-leading-heading); }

/* Editorial single posts and ordinary pages use the same readable measure. */
.single-post .single-title,
.page-template-default .page-header h1 { font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 800; letter-spacing: -.03em; }
.single-post .single-content,
.page-template-default .site-content > .container:not(.container-narrow) { font-size: 1rem; line-height: var(--cicc-leading-body); }
.single-post .single-content { max-width: var(--cicc-measure); margin-inline: auto; }
.single-post .single-content p,
.page-template-default .site-content p { margin: 0 0 1.15rem; }
.single-post .single-content h2,
.page-template-default .site-content h2 { margin: 2.5rem 0 1rem; font-size: clamp(1.45rem, 2.5vw, 2rem); font-weight: 800; }
.single-post .single-content h3,
.page-template-default .site-content h3 { margin: 2rem 0 .75rem; font-size: 1.25rem; font-weight: 700; }
.single-post .single-content ul,
.single-post .single-content ol,
.page-template-default .site-content ul,
.page-template-default .site-content ol { margin: 0 0 1.25rem; padding-left: 1.4rem; }
.single-post .single-content li,
.page-template-default .site-content li { margin-bottom: .45rem; }

/* Content-generated headings should never inherit browser-default margins. */
.entry-content > :first-child,
.single-content > :first-child { margin-top: 0; }

@media (max-width: 767px) {
  .single-post .single-content,
  .page-template-default .site-content > .container:not(.container-narrow) { font-size: .96875rem; }
  .single-post .single-title,
  .page-template-default .page-header h1 { font-size: clamp(1.85rem, 8vw, 2.5rem); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
