:root {
	--color-primary: #155eef;
	--color-heading: #111827;
	--color-text: #111827;
	--color-muted: #667085;
	--color-surface: #ffffff;
	--content-width: 1160px;
	--article-width: 760px;
	--article-wide-width: 1040px;
	--font-heading: Georgia, "Times New Roman", serif;
	--font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--heading-scale: 1;
	--font-body-size: 16px;
	--image-radius: 14px;
	--image-radius-mobile: 11px;
	--space-xs: 0.5rem;
	--space-sm: 1rem;
	--space-md: 1.5rem;
	--space-lg: 3rem;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-text); background: var(--color-surface); font-family: var(--font-body); font-size: var(--font-body-size); line-height: 1.6; }
h1, h2, h3, h4, h5, h6 { color: var(--color-heading); font-family: var(--font-heading); }
img { max-width: 100%; height: auto; }
a { color: inherit; }
.editorial-container, .site-header__inner, .primary-navigation, .site-footer__inner { width: min(calc(100% - 2rem), var(--content-width)); margin-inline: auto; }
.site-main { min-height: 60vh; padding-block: var(--space-lg); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed; z-index: 100000; top: 1rem; left: 1rem; width: auto; height: auto; padding: .75rem 1rem; clip: auto; background: #fff; color: #000; }
:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
.category-label { display: inline-block; padding: .2rem .5rem; border-radius: .25rem; background: var(--section-color, var(--color-primary)); color: #fff; font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.site-footer { margin-top: var(--space-lg); padding-block: var(--space-lg); border-top: 1px solid #eaecf0; }
