/*
 * Propratik - Global katman.
 * Bolumlere ozel kurallar ilgili template-part <style> bloklarindadir;
 * burada yalnizca paylasilan temel/utility kurallari vardir.
 */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  color: #111827;
  background: #fff;
}

img, svg, iframe { display: block; max-width: 100%; }
h1, h2, h3, p { overflow-wrap: break-word; }

/* Klavye odagi - gorunur ve tutarli */
:focus-visible { outline: 3px solid #f97316; outline-offset: 2px; border-radius: 2px; }

/* iOS odak zoom engeli */
input, select, textarea { font-size: 16px; }

/* Layout */
.container { width: min(1200px, calc(100% - 2rem)); margin-inline: auto; }
.center { text-align: center; }
.section { padding-block: 4rem; }
.section-title { font-size: clamp(1.6rem, 3.2vw, 2.4rem); margin: 0 0 .6rem; line-height: 1.15; letter-spacing: -.02em; }
.section-lead { color: #475569; max-width: 72ch; margin: 0 auto 2rem; }
.grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card { background: #fff; border: 1px solid #e5e7eb; border-radius: 14px; padding: 1.4rem; box-shadow: 0 10px 30px rgba(2, 6, 23, .08); }
.frame { overflow: hidden; border-radius: 14px; }
.stack { list-style: none; padding: 0; margin: 0; }
.stack li + li { margin-top: .5rem; }
.hero { min-height: 480px; }

/* Dokunmatik hedef alt siniri */
.btn { min-height: 44px; }