/* ═══════════════════════════════════════════════════
   BASE.CSS — Reset, global element stilleri
   Bileşen veya sayfa stili içermez.
═══════════════════════════════════════════════════ */

*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--black);
  color: var(--white);
  font-family: var(--font-body);
  overflow-x: hidden;
  line-height: 1.7;
  cursor: none;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
}

/* ── Utility: reveal animasyonu ── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity var(--t-reveal), transform var(--t-reveal);
}
.reveal.visible {
  opacity: 1;
  transform: none;
}

/* ── Utility: section tag ── */
.section-tag {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--yellow);
  margin-bottom: 12px;
  display: block;
}

/* ── Grid background pattern ── */
.grid-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--yellow-dim) 1px, transparent 1px),
    linear-gradient(90deg, var(--yellow-dim) 1px, transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}

/* ── SEO strip ── */
.seo-strip {
  background: var(--dark4);
  padding: 14px var(--space-xl);
  border-bottom: 1px solid #1a1a1a;
}
.seo-strip p {
  font-size: 0.78rem;
  color: var(--gray2);
  font-weight: 300;
  margin: 0;
  line-height: 1.6;
}
.seo-strip strong { color: #777; }
.seo-strip a { color: var(--gray2); text-decoration: none; transition: color var(--t-base); }
.seo-strip a:hover { color: var(--yellow); }
.seo-strip a strong { transition: color var(--t-base); }
.seo-strip a:hover strong { color: var(--yellow); }

/* ── h2, h3 default (overrideable by page CSS) ── */
h2 {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  letter-spacing: 0.04em;
  color: var(--white);
  margin-bottom: 20px;
  line-height: 1.05;
}
h3 {
  font-family: var(--font-display);
  font-size: 1.35rem;
  letter-spacing: 0.04em;
  color: var(--white);
  margin-bottom: 10px;
  margin-top: 28px;
}
p {
  font-size: 0.97rem;
  color: #bbb;
  font-weight: 300;
  line-height: 1.85;
  margin-bottom: 16px;
}
p strong { color: var(--white); font-weight: 600; }

/* ── İframe ── */
iframe {
  border: 0;
  display: block;
}

/* ── Responsive yardımcılar ── */
@media (max-width: 900px) {
  .seo-strip { padding: 12px 20px; }
}
