@layer base {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	html {
		-webkit-text-size-adjust: 100%;
		scroll-behavior: smooth;
		scroll-padding-top: calc(var(--header-h) + var(--space-s));
	}

	@media (prefers-reduced-motion: reduce) {
		html {
			scroll-behavior: auto;
		}
		*,
		*::before,
		*::after {
			animation-duration: 1ms !important;
			animation-iteration-count: 1 !important;
			transition-duration: 1ms !important;
		}
	}

	body {
		margin: 0;
		background: var(--bg);
		color: var(--ink);
		font-family: var(--font-body);
		font-size: var(--step-0);
		line-height: var(--lh-body);
		font-synthesis-weight: none;
		text-rendering: optimizeLegibility;
		-webkit-font-smoothing: antialiased;
		overflow-wrap: break-word;
	}

	h1, h2, h3, h4, .h3 {
		margin: 0 0 var(--space-s);
		font-family: var(--font-display);
		font-weight: 600;
		font-variation-settings: "opsz" 72, "SOFT" 40, "WONK" 0;
		line-height: var(--lh-heading);
		letter-spacing: -0.005em;
		text-wrap: balance;
		color: var(--g-950);
	}

	h1 { font-size: var(--step-5); line-height: 1.08; font-weight: 600; letter-spacing: -0.01em; }
	h2 { font-size: var(--step-4); }
	h3, .h3 { font-size: var(--step-2); }
	h4 { font-size: var(--step-1); }

	p, ul, ol, dl, figure, blockquote, table {
		margin: 0 0 var(--space-s);
	}

	p {
		text-wrap: pretty;
	}

	a {
		color: var(--g-700);
		text-decoration-thickness: 0.08em;
		text-underline-offset: 0.18em;
		transition: color var(--dur) var(--ease);
	}

	a:hover {
		color: var(--g-900);
	}

	:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
		outline: 3px solid var(--mint-500);
		outline-offset: 2px;
		border-radius: var(--radius-s);
	}

	img, picture, video, canvas, svg {
		display: block;
		max-width: 100%;
		height: auto;
	}

	button {
		font: inherit;
		color: inherit;
	}

	strong { font-weight: 600; }

	.screen-reader-text {
		position: absolute !important;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
		white-space: nowrap;
	}

	.skip-link {
		position: absolute;
		top: -100%;
		left: var(--space-s);
		z-index: 1000;
		padding: var(--space-xs) var(--space-s);
		background: var(--g-950);
		color: var(--white);
		border-radius: var(--radius-s);
	}
	.skip-link:focus {
		top: var(--space-s);
	}

	/* Conținut formatat din editor */
	.entry > :first-child { margin-top: 0; }
	.entry > :last-child { margin-bottom: 0; }
	.entry p, .entry ul, .entry ol { max-width: 76ch; }
	.entry h2 { font-size: var(--step-3); margin-top: var(--space-l); }
	.entry h3 { font-size: var(--step-2); margin-top: var(--space-m); }
	.entry h4 { font-size: var(--step-1); margin-top: var(--space-m); }
	.entry ul, .entry ol { padding-left: 1.25em; }
	.entry li { margin-bottom: var(--space-2xs); }
	.entry li::marker { color: var(--g-600); }
	.entry blockquote {
		margin-inline: 0;
		padding: var(--space-s) var(--space-m);
		border-left: 4px solid var(--mint-500);
		background: var(--mint-50);
		border-radius: 0 var(--radius) var(--radius) 0;
		font-family: var(--font-display);
		font-size: var(--step-1);
		font-weight: 500;
		color: var(--g-900);
	}
	.entry blockquote p:last-child { margin-bottom: 0; }
	.entry img { border-radius: var(--radius); }
	.entry a { font-weight: 500; }
	.entry table { width: 100%; border-collapse: collapse; font-size: var(--step--1); }
	.entry th, .entry td { text-align: left; padding: var(--space-2xs) var(--space-xs); border-bottom: 1px solid var(--line); vertical-align: top; }
	.entry th { font-weight: 600; color: var(--g-900); }
	.entry--mic { font-size: var(--step--1); color: var(--ink-soft); }
}
