/* Reset + temel tipografi. Değerler tokens.css'ten gelir. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

/* Geniş ekranlarda tüm rem tabanlı ölçüler büyür (1920 / 2560). */
html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
@media (min-width: 1920px) {
	html { font-size: 112.5%; }
}
@media (min-width: 2560px) {
	html { font-size: 125%; }
}

body {
	margin: 0;
	font-family: var(--font-sans);
	font-size: var(--text-body);
	line-height: var(--leading-body);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Renk kapsamlarının yüzeyi (bkz. tokens.css) */
body,
.is-light,
.is-cinema {
	background: var(--color-background);
	color: var(--color-text);
}
body { background: var(--gradient-paper-soft) fixed; }
.is-cinema { background: var(--gradient-cinema); }

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

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--space-4);
	font-weight: 500;
	line-height: var(--leading-tight);
	letter-spacing: -0.01em;
	text-wrap: balance;
}
h1 { font-size: var(--text-h1); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
h4 { font-size: var(--text-h4); line-height: var(--leading-snug); }
h5 { font-size: var(--text-h5); line-height: var(--leading-snug); }
h6 { font-size: var(--text-h6); line-height: var(--leading-snug); }

p { margin: 0 0 var(--space-4); }

a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: color var(--dur-fast) var(--ease);
}

:focus-visible {
	outline: var(--focus-ring);
	outline-offset: var(--focus-offset);
}

/* Yardımcılar */
.text-muted { color: var(--color-text-muted); }

/* Eyebrow: küçük metin için gold-muted (koyu kapsamda gold'a eşlenir); saf gold yalnızca dekoratif öğelerde. */
.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	margin: 0 0 var(--space-4);
	font-size: var(--text-label);
	font-weight: 600;
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	color: var(--color-gold-muted);
}
.eyebrow::before {
	content: "";
	width: 2rem;
	height: 1px;
	background: var(--color-gold);
}

.divider-gold {
	width: 3rem;
	height: 1px;
	margin: var(--space-5) 0;
	border: 0;
	background: var(--color-gold);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.skip-link {
	position: absolute;
	top: var(--space-3);
	left: var(--space-3);
	z-index: calc(var(--z-dialog) + 1);
	padding: var(--space-3) var(--space-4);
	background: var(--btn-primary-bg);
	color: var(--btn-primary-fg);
	transform: translateY(-200%);
}
.skip-link:focus { transform: none; }

/* Logo: oran daima korunur, hiçbir filtre/distorsiyon uygulanmaz. */
.brand-logo {
	width: auto;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}

/*
 * Scroll reveal. `html.js` yalnızca inline tema scripti çalıştıysa vardır → JS yoksa içerik görünür kalır.
 * Yalnızca opacity/transform animasyonlanır (layout kayması yok).
 */
.js [data-reveal] {
	opacity: 0;
	transform: translateY(1.5rem);
	transition: opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);
}
.js [data-reveal].is-in { opacity: 1; transform: none; }
.js [data-reveal-line] {
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--dur-slow) var(--ease) 150ms;
}
.js [data-reveal-line].is-in { transform: none; }

@media (prefers-reduced-motion: reduce) {
	/* Anasayfa slider'ı (.force-motion: Chairium → Slider "efektleri her zaman göster") bu sıfırlamanın dışında */
	*:not(.force-motion):not(.force-motion *),
	*:not(.force-motion):not(.force-motion *)::before,
	*:not(.force-motion):not(.force-motion *)::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.js [data-reveal],
	.js [data-reveal-line] { opacity: 1; transform: none; }
}
