/* Ortak temel. Renk ve font YOK: her site kendi theme.css'inde kendi duzenini kurar.
   Burada yalnizca sifirlama, tipografi mekanigi, gorsel davranisi ve erisilebilirlik var.
   Tum siteler AYDINLIK; koyu tema yok. */

:root {
  --space-1:.25rem; --space-2:.5rem;  --space-3:.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem;   --space-7:3rem;   --space-8:4.5rem;
  --space-9:7rem;   --space-10:10rem;
  --measure: 66ch;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;
  font-family:var(--font-body);
  font-size:clamp(1rem,.97rem + .15vw,1.075rem);
  line-height:1.6;
  color:var(--ink);
  background:var(--bg);
  text-rendering:optimizeLegibility;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;
  /* clip, hidden DEGIL: hidden govdeyi kaydirma kabina cevirir ve
     position:sticky'yi bozar. clip tasmayi keser, yapiskanligi korur. */
  overflow-x:clip;
}

/* Tipografi: tracking ve leading boyutla degisir, tek deger her yerde yanlistir */
h1,h2,h3,h4{font-family:var(--font-display);margin:0 0 var(--space-4);text-wrap:balance}
h1{font-size:var(--h1,clamp(2.4rem,1.2rem + 5.4vw,5.2rem));line-height:.98;letter-spacing:-.03em;font-weight:var(--h1-w,800)}
h2{font-size:clamp(1.6rem,1.2rem + 1.9vw,2.7rem);line-height:1.1;letter-spacing:-.018em;font-weight:var(--h2-w,700)}
h3{font-size:clamp(1.15rem,1.05rem + .5vw,1.4rem);line-height:1.25;letter-spacing:-.008em;font-weight:600}
p{margin:0 0 var(--space-4);max-width:var(--measure)}
.lede{font-size:clamp(1.12rem,1.02rem + .6vw,1.45rem);line-height:1.45;letter-spacing:-.011em;color:var(--ink-2);max-width:54ch}
small,.meta{font-size:.85rem;letter-spacing:.012em}

a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:.06em}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:3px}

img,video{max-width:100%;height:auto;display:block}
figure{margin:0}
figcaption{font-size:.8rem;color:var(--ink-3,var(--ink-2));margin-top:var(--space-2);letter-spacing:.01em}
figcaption a{color:inherit}

/* Genis icerik kendi kabinda kayar; sayfa govdesi asla yana kaymaz */
.tasar{overflow-x:auto;-webkit-overflow-scrolling:touch}

.wrap{width:min(100% - var(--space-5)*2,var(--wrap,74rem));margin-inline:auto}
.dar{width:min(100% - var(--space-5)*2,var(--dar,44rem));margin-inline:auto}
.tam{width:100%}

/* Basma geri bildirimi pointer-down'da */
.press{transition:transform 110ms ease-out;touch-action:manipulation}
.press:active{transform:scale(.975)}

/* GSAP kelime bolucusunun kabi */
.bol-kap{display:inline-block;overflow:hidden;vertical-align:top}
.bol-kap .p{display:inline-block;will-change:transform}

/* JS yoksa veya azaltilmis harekette icerik yerinde durur, hicbir sey gizli kalmaz */
html.no-js [data-anim],html.no-js [data-baslik]{opacity:1!important;transform:none!important}
/* clip-path kaydirma tasmasini ENGELLEMEZ: gorselAc'in olcek buyutmesi
   figure'dan tasip sayfayi yana kaydiriyordu. overflow bunu keser. */
[data-gorsel-ac]{clip-path:inset(0 0 0 0);overflow:hidden}

/* Okuma ilerleme cubugu */
.ilerleme{position:fixed;inset:0 0 auto 0;height:3px;background:var(--brand);transform:scaleX(0);transform-origin:left center;z-index:80}

.gizli{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.atla{position:absolute;left:-999px}
.atla:focus{left:var(--space-4);top:var(--space-4);z-index:99;background:var(--bg);padding:var(--space-3) var(--space-4);border-radius:6px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}
  .ilerleme{display:none}
  [data-anim],[data-baslik]{opacity:1!important;transform:none!important}
}
@media (prefers-contrast:more){a{text-decoration-thickness:2px}}
@media print{.chrome,.no-print,.ilerleme{display:none}}
