/* Temel: reset, tipografi, odak, erişilebilirlik yardımcıları. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--eg-header-height) + 16px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
	margin: 0;
	background: var(--eg-color-background-page);
	color: var(--eg-color-text-primary);
	font: var(--eg-type-body-md);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
body.eg-lock { overflow: hidden; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
h1, h2, h3, h4, h5, h6, p, figure, blockquote, ul, ol, dl { margin: 0; }
h1, h2, h3, h4, h5, h6 { color: var(--eg-color-text-primary); } /* text-wrap: balance yok — Figma satır kırılımları normal akış */
:where(ul[class], ol[class]) { list-style: none; padding: 0; }
a { color: var(--eg-color-text-link); text-decoration: none; }
a:hover { color: var(--eg-color-brand-primary-hover); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; }
[hidden] { display: none !important; }
::selection { background: var(--eg-color-surface-brand-soft); color: var(--eg-color-text-primary); }

/* Görünür odak (WCAG 2.2 AA): odak halkası tokenı. */
:focus { outline: none; }
:focus-visible { outline: 2px solid var(--eg-color-border-focus); outline-offset: 2px; border-radius: 6px; }
.eg-main:focus { outline: none; }

.screen-reader-text, .eg-sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
.eg-skip {
	position: absolute; left: 16px; top: -100px; z-index: 1000;
	background: var(--eg-color-brand-primary); color: var(--eg-color-text-inverse);
	padding: 12px 18px; border-radius: var(--eg-radius-md); font: var(--eg-type-ui-button);
	transition: top var(--eg-motion-fast) var(--eg-ease);
}
.eg-skip:focus { top: 12px; color: var(--eg-color-text-inverse); }

/* Tipografi yardımcıları (Figma text style adları) */
.eg-t-display-xl { font: var(--eg-type-display-xl); letter-spacing: var(--eg-tracking-display-xl); }
.eg-t-display-lg { font: var(--eg-type-display-lg); letter-spacing: var(--eg-tracking-display-lg); }
.eg-t-h1 { font: var(--eg-type-heading-h1); letter-spacing: var(--eg-tracking-h1); }
.eg-t-h2 { font: var(--eg-type-heading-h2); letter-spacing: var(--eg-tracking-h2); }
.eg-t-h3 { font: var(--eg-type-heading-h3); letter-spacing: var(--eg-tracking-h3); }
.eg-t-h4 { font: var(--eg-type-heading-h4); letter-spacing: var(--eg-tracking-h4); }
.eg-t-h5 { font: var(--eg-type-heading-h5); }
.eg-t-body-lg { font: var(--eg-type-body-lg); }
.eg-t-body-sm { font: var(--eg-type-body-sm); }
.eg-t-body-xs { font: var(--eg-type-body-xs); }
.eg-t-meta { font: var(--eg-type-ui-meta); color: var(--eg-color-text-muted); }
@media (max-width: 767px) {
	.eg-t-h1 { font: var(--eg-type-mobile-h1); letter-spacing: var(--eg-tracking-mobile-h1); }
	.eg-t-h2 { font: var(--eg-type-mobile-h2); letter-spacing: var(--eg-tracking-mobile-h2); }
}

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