/* Kerimoğlu Mermer — tek stil dosyası.
   Düzen: token'lar → temel → ortak bileşenler → bölümler (sayfa sırasıyla) → hareket azaltma.
   Mobil önce yazıldı; kırılımlar 700 / 900 / 1280 / 1680 px. */

/* ---------- Token'lar ---------- */
:root {
  --zemin: #f5f3ee;                       /* traverten tonunda kırık beyaz */
  --zemin-2: #ebe8e1;
  --metin: #1d1c1a;                       /* Send Grey'den alınmış sıcak grafit; koyu bölüm zemini */
  --metin-2: #5e5a53;
  --vurgu: #b4925f;                       /* taş damarındaki pirinç tonu: çizgi, odak, ilerleme */
  --vurgu-metin: #7b5b32;                 /* vurgunun küçük metinde AA geçen koyu tonu */
  --cizgi: rgba(29, 28, 26, .12);
  --acik: #f5f3ee;
  --acik-2: rgba(245, 243, 238, .7);
  --acik-3: rgba(245, 243, 238, .5);
  --cizgi-koyu: rgba(245, 243, 238, .16);
  --sahne: #121110;

  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", Inter, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --olcu: clamp(1rem, .94rem + .25vw, 1.125rem);
  --icerik: 1200px;
  --kenar: clamp(20px, 5vw, 56px);
  --ust-yukseklik: 64px;
  --kose: 18px;

  --hiz-kisa: 200ms;
  --hiz: 450ms;
  --hiz-uzun: 700ms;
  --egri: cubic-bezier(.22, 1, .36, 1);
}

/* ---------- Temel ---------- */
*, *::before, *::after { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--ust-yukseklik);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
html.menu-acik { overflow: hidden; }
body {
  margin: 0;
  background: var(--zemin);
  color: var(--metin);
  font-family: var(--font);
  font-size: var(--olcu);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; height: auto; }
[hidden] { display: none !important; }
a { color: inherit; }
button { font: inherit; color: inherit; cursor: pointer; }
h1, h2, h3, p, dl, dd, figure, ol, ul { margin: 0; }
ol, ul { padding: 0; list-style: none; }
h1, h2, h3 { font-weight: 500; text-wrap: balance; }
:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 3px; border-radius: 4px; }

.atla {
  position: fixed; top: 12px; left: 12px; z-index: 100;
  padding: 12px 20px; border-radius: 999px;
  background: var(--acik); color: var(--metin); text-decoration: none;
  transform: translateY(-160%);
}
.atla:focus { transform: none; }

.kap { width: min(100% - 2 * var(--kenar), var(--icerik)); margin-inline: auto; }

/* ---------- Ortak bileşenler ---------- */
.bolum { padding-block: clamp(80px, 12vw, 150px); }
.bolum + .bolum { border-top: 1px solid var(--cizgi); }
.bolum--koyu { background: var(--metin); color: var(--acik); border-top: none !important; }

.bolum-bas h2 {
  font-size: clamp(2.1rem, 4.8vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: -.03em;
  max-width: 16ch;
}
.bolum-bas p {
  margin-top: 20px;
  max-width: 46ch;
  color: var(--metin-2);
  font-size: clamp(1.0625rem, 1.5vw, 1.1875rem);
  line-height: 1.6;
}
.bolum--koyu .bolum-bas p { color: var(--acik-2); }

.dugme {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; padding: 0 26px; border-radius: 999px;
  font-weight: 500; font-size: 1rem; text-decoration: none;
  border: 1px solid transparent;
  transition: background-color var(--hiz-kisa), color var(--hiz-kisa), border-color var(--hiz-kisa);
}
.dugme--koyu { background: var(--metin); color: var(--acik); }
.dugme--acik { background: var(--acik); color: var(--metin); }
.dugme--hayalet { border-color: rgba(245, 243, 238, .34); color: var(--acik); }

.metin-bag {
  display: inline-block;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .3em;
  text-decoration-color: currentColor;
  transition: color var(--hiz-kisa);
}

/* Ekran okuyucuya duyurulan, görünmeyen metin. */
.gorunmez { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (hover: hover) {
  .dugme--koyu:hover { background: #33312d; }
  .dugme--acik:hover { background: #fff; }
  .dugme--hayalet:hover { border-color: var(--acik); }
  .metin-bag:hover { color: var(--vurgu-metin); }
  .bolum--koyu .metin-bag:hover, .alt .metin-bag:hover { color: var(--vurgu); }
}

/* Kaydırınca beliren öğeler (yalnız JS açıkken gizli başlar). */
html:not(.js-yok) .beliren { opacity: 0; transform: translateY(24px); }
html:not(.js-yok) .beliren.gorundu {
  opacity: 1; transform: none;
  transition: opacity var(--hiz) var(--egri), transform var(--hiz) var(--egri);
}
.beliren.gorundu[data-gecikme="1"] { transition-delay: 80ms; }
.beliren.gorundu[data-gecikme="2"] { transition-delay: 160ms; }

/* ---------- Üst çubuk ve menü ---------- */
.ust {
  position: fixed; inset: 0 0 auto; z-index: 30;
  height: var(--ust-yukseklik);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--kenar);
  transition: background-color var(--hiz), border-color var(--hiz);
  border-bottom: 1px solid transparent;
}
.js-yok .ust { background: rgba(29, 28, 26, .9); }
.ust-logo { display: block; width: 168px; }
.logo { width: 100%; }
.logo--koyu { display: none; }

.ust[data-tema="acik"] {
  background: rgba(245, 243, 238, .82);
  -webkit-backdrop-filter: saturate(160%) blur(14px);
  backdrop-filter: saturate(160%) blur(14px);
  border-bottom-color: var(--cizgi);
}
.ust[data-tema="acik"] .logo--beyaz { display: none; }
.ust[data-tema="acik"] .logo--koyu { display: block; }
.ust[data-tema="koyu-dolu"] {
  background: rgba(29, 28, 26, .72);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  backdrop-filter: saturate(140%) blur(14px);
  border-bottom-color: var(--cizgi-koyu);
}

/* Factory titles scroll underneath an opaque header, keeping the logo legible. */
.ust[data-tema="fabrika"] {
  background: #252b25;
  border-bottom-color: transparent;
  transition: none;
}

.menu-dugme {
  position: relative;
  width: 44px; height: 44px; border-radius: 50%; border: 0;
  background: rgba(245, 243, 238, .14);
  transition: background-color var(--hiz-kisa);
}
.ust[data-tema="acik"] .menu-dugme { background: var(--metin); }
.menu-dugme span {
  position: absolute; left: 13px; width: 18px; height: 1.5px; border-radius: 2px;
  background: var(--acik);
  transition: transform var(--hiz) var(--egri), top var(--hiz) var(--egri);
}
.menu-dugme span:first-child { top: 18px; }
.menu-dugme span:last-child { top: 25px; }
.menu-dugme[aria-expanded="true"] span:first-child { top: 21.5px; transform: rotate(45deg); }
.menu-dugme[aria-expanded="true"] span:last-child { top: 21.5px; transform: rotate(-45deg); }
.js-yok .menu-dugme { display: none; }

html.menu-acik .ust { background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
html.menu-acik .ust .logo--beyaz { display: block; }
html.menu-acik .ust .logo--koyu { display: none; }
html.menu-acik .ust .menu-dugme { background: rgba(245, 243, 238, .14); }

.menu {
  position: fixed; inset: 0; z-index: 25;
  background: var(--metin); color: var(--acik);
  display: flex; align-items: center;
  padding: calc(var(--ust-yukseklik) + 24px) var(--kenar) 40px;
  opacity: 0;
  transition: opacity 460ms var(--egri);
}
.menu.acik { opacity: 1; transition-duration: 640ms; }
.menu-ic { width: min(100%, var(--icerik)); margin-inline: auto; }
.menu-baglar a {
  display: inline-block; padding: 6px 0;
  font-size: clamp(2.1rem, 6vw, 3.6rem); font-weight: 500; letter-spacing: -.03em; line-height: 1.15;
  text-decoration: none;
  opacity: 0; transform: translateY(18px);
}
.menu.acik .menu-baglar a {
  opacity: 1; transform: none;
  transition: opacity 700ms var(--egri), transform 700ms var(--egri), color var(--hiz-kisa);
}
.menu.acik li:nth-child(1) a { transition-delay: 160ms, 160ms, 0ms; }
.menu.acik li:nth-child(2) a { transition-delay: 250ms, 250ms, 0ms; }
.menu.acik li:nth-child(3) a { transition-delay: 340ms, 340ms, 0ms; }
.menu.acik li:nth-child(4) a { transition-delay: 400ms, 400ms, 0ms; }
.menu.acik li:nth-child(5) a { transition-delay: 460ms, 460ms, 0ms; }
.menu-alt {
  display: flex; flex-wrap: wrap; gap: 8px 28px;
  margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--cizgi-koyu);
  color: var(--acik-2);
}
.menu-alt a { text-decoration: none; }
@media (hover: hover) {
  .menu-baglar a:hover { color: var(--vurgu); }
  .menu-alt a:hover { color: var(--acik); }
}

/* ---------- Açılış (kendi oynayan film) ---------- */
.acilis {
  position: relative; height: 100svh; min-height: 560px; overflow: hidden;
  background: var(--sahne); color: var(--acik);
}
.acilis-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.acilis-golge {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(18, 17, 16, .5) 0%, transparent 22%),
    linear-gradient(90deg, rgba(18, 17, 16, .5) 0%, rgba(18, 17, 16, .2) 45%, transparent 70%),
    linear-gradient(0deg, rgba(18, 17, 16, .85) 0%, rgba(18, 17, 16, .4) 45%, transparent 72%);
}
.acilis-metin {
  position: absolute; left: var(--kenar); right: var(--kenar); bottom: clamp(96px, 16svh, 168px);
  max-width: 42rem;
}
.acilis h1 { font-size: clamp(2.6rem, 7vw, 5.6rem); line-height: 1.02; letter-spacing: -.035em; max-width: 11ch; }
.acilis-metin p { margin-top: 22px; max-width: 42ch; color: var(--acik-2); font-size: clamp(1rem, 1.3vw, 1.125rem); line-height: 1.65; }
.acilis-eylem { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.acilis-not {
  position: absolute; left: var(--kenar); bottom: 28px; max-width: 46ch;
  font-size: .8125rem; line-height: 1.5; color: var(--acik-3);
}
.acilis-bolumler {
  position: absolute; left: 50%; bottom: 30px; transform: translateX(-50%);
  display: none; gap: 22px;
  font-size: .8125rem; color: var(--acik-3);
}
.acilis-bolumler li { transition: color var(--hiz) var(--egri); }
.acilis-bolumler li.etkin { color: var(--acik); }
.js-yok .acilis-bolumler, .acilis.durgun .acilis-bolumler { visibility: hidden; }
@media (min-width: 1000px) {
  .acilis-bolumler { display: flex; }
}
@media (max-width: 999px) {
  .acilis-bolumler {
    display: flex; gap: 14px; left: var(--kenar); right: auto; bottom: auto; transform: none;
    top: calc(var(--ust-yukseklik) + 14px); font-size: .75rem;
  }
}
.acilis-durdur {
  position: absolute; right: var(--kenar); bottom: 20px;
  min-height: 44px; padding: 0 18px; border-radius: 999px;
  border: 1px solid rgba(245, 243, 238, .3); background: rgba(18, 17, 16, .35);
  color: var(--acik-2); font-size: .875rem;
  transition: color var(--hiz-kisa), border-color var(--hiz-kisa);
}
@media (hover: hover) {
  .acilis-durdur:hover { color: var(--acik); border-color: var(--acik); }
}
@media (max-width: 699px) {
  .acilis-metin { bottom: 112px; }
  .acilis-not { right: calc(var(--kenar) + 156px); font-size: .75rem; }
  .acilis-durdur { min-height: 40px; padding: 0 14px; font-size: .8125rem; }
}

/* ---------- Taşlarımız (taş listesi + yakından / mekânda görünüm) ---------- */
.taslar .bolum-bas { margin-bottom: clamp(36px, 5vw, 64px); }
.tas-sahne { margin: 0; }
.tas-katman {
  position: relative; aspect-ratio: 1200 / 896; border-radius: var(--kose); overflow: hidden;
  background: var(--zemin-2);
}
/* Material variants share a fixed room composition. */
.tas-gorsel {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transition: opacity 450ms var(--egri);
}
.tas-gorsel.etkin { opacity: 1; }
.tas-sabit-katman, .tas-sabit-oda { opacity: 1; transition: none; }
.tas-sabit-oda[hidden] { display: none; }
.tas-bos {
  position: absolute; inset: 0; display: grid; place-items: center; padding: 32px; text-align: center;
  background: linear-gradient(135deg, #2a2926, #161514); color: var(--acik-2);
  opacity: 0; pointer-events: none; transition: opacity 450ms var(--egri);
}
.tas-bos.gorunur { opacity: 1; }
.tas-secim { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 14px; }
.tas-secim p { text-align: right; font-size: .875rem; color: var(--metin-2); }
.tas-doku { display: flex; align-items: center; gap: 10px; border: 0; background: none; padding: 0; color: var(--metin); font: inherit; font-size: .8125rem; cursor: pointer; text-align: left; }
.tas-doku img { width: 48px; height: 48px; object-fit: cover; border-radius: 6px; }
.tas-doku[hidden] { display: none; }
.tas-doku:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 4px; }

.gorunum-secenekler {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin-top: 12px; padding: 4px;
  border-radius: 22px; background: var(--zemin-2);
}
.js-yok .gorunum-secenekler { display: none; }
.gorunum-secenek { position: relative; cursor: pointer; }
.gorunum-secenek input { position: absolute; opacity: 0; pointer-events: none; }
.gorunum-secenek span {
  display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 8px; border-radius: 999px;
  font-size: .875rem; color: var(--metin-2);
  transition: background-color var(--hiz-kisa), color var(--hiz-kisa);
}
.gorunum-secenek input:checked + span { background: var(--metin); color: var(--acik); }
.gorunum-secenek input:focus-visible + span { outline: 2px solid var(--vurgu); outline-offset: 2px; }

.tas-liste { border-bottom: 1px solid var(--cizgi); }
.tas { border-top: 1px solid var(--cizgi); }
.tas-bag {
  display: grid; grid-template-columns: 64px 1fr auto; align-items: center; gap: 16px;
  padding: 12px 0; min-height: 72px;
  text-decoration: none;
}
.tas-kucuk {
  width: 64px; height: 48px; border-radius: 8px; object-fit: cover;
  background: var(--zemin-2);
  transition: box-shadow var(--hiz-kisa);
}
.tas-kucuk--bos { display: block; background: linear-gradient(135deg, #2a2926, #161514); }
.tas-ad { font-size: clamp(1.125rem, 1.7vw, 1.375rem); font-weight: 500; letter-spacing: -.02em; line-height: 1.2; transition: color var(--hiz-kisa); }
.tas-grup { font-size: .875rem; color: var(--metin-2); }
.tas.secili .tas-kucuk { box-shadow: 0 0 0 2px var(--zemin), 0 0 0 3.5px var(--metin); }

/* JS yokken bütün açıklamalar listede görünür; JS açıkken yalnız seçili taşınki açılır. */
.tas-detay { padding: 0 0 22px; color: var(--metin-2); max-width: 64ch; }
.tas-detay:empty { display: none; }
.tas-detay p + p { margin-top: 10px; }
.tas-kullanim span { font-weight: 600; color: var(--metin); }
html:not(.js-yok) .tas-detay { display: none; }
html:not(.js-yok) .tas.secili .tas-detay:not(:empty) { display: block; padding-bottom: 0; animation: tas-ac var(--hiz) var(--egri); }
.tas-eylem { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; padding: 18px 0 24px; animation: tas-ac var(--hiz) var(--egri); }
@keyframes tas-ac { from { opacity: 0; } }

.taslar-not { margin-top: 28px; max-width: 70ch; font-size: .875rem; line-height: 1.55; color: var(--metin-2); }

@media (hover: hover) {
  .gorunum-secenek:hover span { color: var(--metin); }
  .gorunum-secenek input:checked + span { color: var(--acik); }
  .tas-bag:hover .tas-ad { color: var(--vurgu-metin); }
}

@media (min-width: 700px) {
  .tas-detay, .tas-eylem { padding-left: 80px; }
  .gorunum-secenek span { font-size: .9375rem; }
}

@media (min-width: 900px) {
  .tas-duzen { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: start; }
  .tas-sahne { position: sticky; top: calc(var(--ust-yukseklik) + 28px); }
  /* Short laptop screens: the picture gives up height (and crops) so the view choices stay on screen. */
  .tas-katman { max-height: calc(100svh - var(--ust-yukseklik) - 220px); width: 100%; }
}
@media (min-width: 1200px) { .gorunum-secenekler { grid-template-columns: repeat(6, 1fr); border-radius: 999px; } }
/* ---------- Fabrika (kaydırmayla ilerleyen fotoğraf hikâyesi) ---------- */
.fabrika { position: relative; height: 480svh; background: var(--sahne); color: var(--acik); }
.fabrika-sahne { position: sticky; top: 0; height: 100svh; min-height: 560px; overflow: hidden; }
.fabrika-gorsel {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transform: scale(calc(1.1 - .1 * var(--yakin, 0)));
  transition: opacity 900ms var(--egri);
  will-change: opacity, transform;
}
.fabrika-gorsel.etkin { opacity: 1; }
.fabrika-golge {
  position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(0deg, rgba(18, 17, 16, .9) 0%, rgba(18, 17, 16, .55) 45%, rgba(18, 17, 16, .15) 75%),
    linear-gradient(180deg, rgba(18, 17, 16, .45) 0%, transparent 20%);
}
.fabrika-metin {
  position: absolute; left: var(--kenar); right: var(--kenar); bottom: clamp(64px, 12svh, 120px);
  max-width: 34rem;
}
.fabrika-metin h2 {
  font-size: clamp(1.125rem, 1.6vw, 1.375rem); font-weight: 500; letter-spacing: -.01em;
  color: var(--acik-2); margin-bottom: 18px;
}
.fabrika-adimlar { display: grid; }
.fabrika-adim { grid-area: 1 / 1; opacity: 0; transform: translateY(16px); transition: opacity 600ms var(--egri), transform 600ms var(--egri); }
.fabrika-adim.etkin { opacity: 1; transform: none; }
.fabrika-adim h3 { font-size: clamp(2rem, 5vw, 3.75rem); line-height: 1.05; letter-spacing: -.03em; }
.fabrika-adim p { margin-top: 16px; max-width: 40ch; color: var(--acik-2); line-height: 1.65; }
.fabrika-cizelge { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--cizgi-koyu); }
.fabrika-cizelge span { display: block; height: 100%; background: var(--vurgu); transform: scaleX(0); transform-origin: left; }

@media (min-width: 900px) {
  .fabrika-golge {
    background:
      linear-gradient(90deg, rgba(18, 17, 16, .88) 0%, rgba(18, 17, 16, .55) 38%, rgba(18, 17, 16, .05) 70%),
      linear-gradient(180deg, rgba(18, 17, 16, .45) 0%, transparent 20%);
  }
  .fabrika-metin { top: 50%; bottom: auto; transform: translateY(-40%); }
}

/* JS yokken ya da hareket azaltıldığında: ilk fotoğraf ve bütün adımlar alt alta. */
.js-yok .fabrika, .fabrika.durgun { height: auto; }
.js-yok .fabrika-sahne, .fabrika.durgun .fabrika-sahne { position: relative; height: auto; min-height: 100svh; padding: 140px 0 80px; }
.js-yok .fabrika-gorsel:first-child, .fabrika.durgun .fabrika-gorsel:first-child { opacity: 1; transform: none; }
.js-yok .fabrika-metin, .fabrika.durgun .fabrika-metin { position: relative; inset: auto; transform: none; margin-inline: var(--kenar); }
.js-yok .fabrika-adimlar, .fabrika.durgun .fabrika-adimlar { gap: 36px; }
.js-yok .fabrika-adim, .fabrika.durgun .fabrika-adim { grid-area: auto; opacity: 1; transform: none; }
.js-yok .fabrika-adim h3, .fabrika.durgun .fabrika-adim h3 { font-size: clamp(1.625rem, 3vw, 2.25rem); }
.js-yok .fabrika-cizelge, .fabrika.durgun .fabrika-cizelge { display: none; }
.js-yok .fabrika-golge, .fabrika.durgun .fabrika-golge { background: rgba(18, 17, 16, .72); }

/* ---------- Hakkımızda ---------- */
.zaman { margin-top: 48px; border-bottom: 1px solid var(--cizgi); }
.zaman-satir { display: grid; grid-template-columns: 6.5rem 1fr; gap: 20px; align-items: baseline; padding: 20px 0; border-top: 1px solid var(--cizgi); }
.zaman dt { font-size: clamp(1.75rem, 3.4vw, 2.5rem); font-weight: 500; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.zaman dd { color: var(--metin-2); max-width: 36ch; }
@media (min-width: 900px) {
  .hakkimizda-duzen { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: end; }
  .zaman { margin-top: 0; }
}

.genis-foto { position: relative; margin: clamp(72px, 10vw, 128px) 0; height: clamp(340px, 60vw, 780px); overflow: hidden; background: var(--zemin-2); }
.genis-foto img { width: 100%; height: 118%; object-fit: cover; transform: translateY(var(--kayma, -8%)); will-change: transform; }
.genis-foto figcaption {
  position: absolute; left: var(--kenar); bottom: 20px;
  padding: 8px 14px; border-radius: 999px;
  background: rgba(29, 28, 26, .7); color: var(--acik);
  font-size: .875rem;
}

.soru { font-size: 1.375rem; font-weight: 600; letter-spacing: -.015em; }
.sozluk { margin-top: 28px; border-bottom: 1px solid var(--cizgi); }
.sozluk-satir { display: grid; gap: 6px; padding: 22px 0; border-top: 1px solid var(--cizgi); }
.sozluk dt { font-size: 1.25rem; font-weight: 600; letter-spacing: -.015em; }
.sozluk dd { color: var(--metin-2); max-width: 52ch; }
.ilke-not { margin-top: 28px; max-width: 46ch; font-size: clamp(1.25rem, 2.2vw, 1.625rem); font-weight: 500; letter-spacing: -.02em; line-height: 1.3; }
@media (min-width: 700px) {
  .sozluk-satir { grid-template-columns: 14rem 1fr; gap: 24px; align-items: baseline; }
}

/* ---------- Uygulamalar ---------- */
.bolum.hakkimizda { padding-bottom: 0; }
.hakkimizda > .genis-foto:last-child { margin-bottom: 0; }
.hakkimizda + .uygulamalar { padding-top: clamp(48px, 6vw, 80px); border-top: 0; }
.uygulamalar .bolum-bas { margin-bottom: clamp(36px, 5vw, 64px); }
.uygulama-serit {
  display: flex; gap: 12px;
  padding-inline: var(--kenar);
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--kenar);
  scrollbar-width: none;
}
.uygulama-serit::-webkit-scrollbar { display: none; }
.uygulama-serit li { flex: 0 0 72%; scroll-snap-align: start; }
.uygulama-serit img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 14px; background: var(--zemin-2); }
@media (min-width: 700px) {
  .uygulama-serit li { flex-basis: 40%; }
}
@media (min-width: 900px) {
  .uygulama-serit {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px;
    width: min(100% - 2 * var(--kenar), var(--icerik)); margin-inline: auto; padding: 0; overflow: visible;
  }
  .uygulama-serit li:nth-child(even) { margin-top: 56px; }
}

/* ---------- İletişim ---------- */
.iletisim-eylem { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.kunye { margin-top: 56px; border-bottom: 1px solid var(--cizgi-koyu); }
.kunye-satir { display: grid; gap: 6px; padding: 20px 0; border-top: 1px solid var(--cizgi-koyu); }
.kunye dt { font-size: .9375rem; color: var(--acik-3); }
.kunye dd { display: grid; justify-items: start; gap: 4px; font-size: 1.0625rem; }
.kunye address { font-style: normal; }
.kunye dd a:not(.metin-bag) { text-decoration: none; }
.kunye .metin-bag { margin-top: 6px; color: var(--acik-2); font-size: .9375rem; }
@media (hover: hover) {
  .kunye dd a:not(.metin-bag):hover { color: var(--vurgu); }
}
@media (min-width: 700px) {
  .kunye-satir { grid-template-columns: 9rem 1fr; gap: 24px; }
}
@media (min-width: 900px) {
  .iletisim-duzen { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 120px); align-items: end; }
  .kunye { margin-top: 0; }
}

/* ---------- Alt bilgi ---------- */
.alt { background: var(--metin); color: var(--acik-3); font-size: .875rem; }
.alt-duzen {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px;
  padding: 36px 0 calc(36px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--cizgi-koyu);
}
.alt-logo { width: 150px; opacity: .85; }

/* ---------- Çok geniş ekranlar ---------- */
@media (min-width: 1680px) {
  :root { --icerik: 1360px; }
}

/* ---------- Mobil düzen ve ortak taşma korumaları ---------- */
main > section[tabindex="-1"]:focus { outline: none; border-radius: 0; }
.tas-mobil-secici, .tas-mobil-detay, .fabrika-mobil-foto { display: none; }
.dugme { max-width: 100%; padding-block: 12px; text-align: center; line-height: 1.35; }
.menu-dugme { flex: 0 0 44px; }
.menu { overflow-y: auto; overscroll-behavior: contain; }
.menu-alt a, .kunye a { overflow-wrap: anywhere; }
.tas-duzen > *, .hakkimizda-duzen > *, .iletisim-duzen > * { min-width: 0; }

/* Phone and tablet layouts stay in normal document flow. Nothing covers the next row. */
@media (max-width: 899px) {
  :root { --kenar: clamp(20px, 5vw, 36px); }
  .bolum { padding-block: 64px; }
  .bolum-bas h2 { font-size: clamp(2rem, 6vw, 2.75rem); line-height: 1.12; }
  .bolum-bas p { font-size: 1rem; line-height: 1.65; margin-top: 16px; }
  .ust { background: rgba(29,28,26,.94); }
  .ust[data-tema="acik"] { background: rgba(245,243,238,.97); }
  .ust-logo { width: min(180px, 65%); flex-shrink: 1; }
  .menu { align-items: flex-start; padding-bottom: max(28px, env(safe-area-inset-bottom)); }
  .menu-baglar a { font-size: clamp(1.8rem, 6vw, 2.6rem); padding-block: 10px; }
  .menu-alt { margin-top: 24px; gap: 8px 20px; }
  .menu-alt a { display: inline-flex; align-items: center; min-height: 44px; }

  .acilis { height: auto; min-height: 100svh; display: flex; flex-direction: column; gap: 20px; padding: calc(var(--ust-yukseklik) + 24px) var(--kenar) max(24px, env(safe-area-inset-bottom)); }
  .acilis-bolumler { position: relative; inset: auto; transform: none; order: -1; gap: 0; justify-content: space-between; width: 100%; max-width: 440px; }
  .acilis-metin { position: relative; inset: auto; margin-top: auto; padding-top: 44px; width: 100%; }
  .acilis h1 { font-size: clamp(2.35rem, 8.8vw, 4rem); line-height: 1.06; max-width: 13ch; }
  .acilis-metin p { margin-top: 20px; font-size: 1rem; line-height: 1.6; }
  .acilis-eylem { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 24px; max-width: 420px; }
  .acilis-not { position: relative; inset: auto; width: 100%; max-width: 46ch; font-size: .75rem; line-height: 1.5; }
  .acilis-durdur { position: relative; inset: auto; align-self: flex-start; min-height: 44px; min-width: 154px; font-size: .8125rem; }

  .taslar .bolum-bas { margin-bottom: 28px; }
  .tas-sahne { position: static; margin: 0; padding: 0; }
  .tas-katman { width: 100%; aspect-ratio: 4 / 3; max-height: none; border-radius: 14px; }
  .tas-mobil-secici { display: grid; gap: 8px; margin-bottom: 12px; min-width: 0; }
  .tas-secici-bas { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: .8125rem; }
  .tas-secici-bas strong { font-weight: 600; }
  .tas-secici-bas > span { flex-shrink: 0; color: var(--metin-2); font-size: .6875rem; }
  .tas-doku-seridi { display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; padding: 3px; scrollbar-width: none; }
  .tas-doku-seridi::-webkit-scrollbar { display: none; }
  .tas-doku-seridi button { position: relative; flex: 0 0 50px; width: 50px; height: 50px; padding: 3px; border: 1px solid var(--cizgi); border-radius: 9px; background: transparent; cursor: pointer; }
  .tas-doku-seridi img { width: 100%; height: 100%; object-fit: cover; border-radius: 5px; display: block; }
  .tas-doku-seridi button[aria-pressed="true"] { border-color: var(--vurgu); box-shadow: 0 3px 9px #755d2920; }
  .tas-doku-seridi button[aria-pressed="true"]::after { content: ""; position: absolute; left: 15px; right: 15px; bottom: 0; height: 2px; border-radius: 2px; background: var(--vurgu); }
  .tas-doku-seridi button:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 1px; }
  html:not(.js-yok) .tas-liste { display: none; }
  .tas-mobil-detay { display: block; }
  .tas-secim { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }
  .tas-doku { gap: 12px; min-height: 48px; width: fit-content; font-size: .875rem; }
  .tas-doku img { flex: 0 0 48px; }
  .tas-doku span { white-space: nowrap; }
  .tas-secim p { text-align: left; min-height: 4.65em; line-height: 1.55; overflow-wrap: anywhere; }
  .gorunum-secenekler { grid-template-columns: repeat(3, minmax(0,1fr)); border-radius: 16px; }
  .gorunum-secenek span { min-height: 44px; padding: 8px 4px; font-size: .875rem; border-radius: 12px; }
  .tas-eylem { display: grid; justify-items: stretch; gap: 10px; padding: 12px 0 24px; animation: none; }
  .tas-eylem .metin-bag { min-height: 44px; display: flex; align-items: center; justify-content: center; }
  .tas-detay-kopya { color: var(--metin-2); }
  .tas-detay-kopya p + p { margin-top: 12px; }
  .taslar-not { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--cizgi); font-size: .8125rem; }

  .fabrika, .fabrika.durgun { height: auto; }
  .fabrika .fabrika-sahne { position: relative; height: auto; min-height: 0; padding: 64px var(--kenar); overflow: visible; }
  .fabrika-gorseller, .fabrika-golge, .fabrika-cizelge { display: none; }
  .fabrika .fabrika-metin { position: static; inset: auto; transform: none; margin: 0; max-width: none; }
  .fabrika-metin h2 { font-size: 2rem; line-height: 1.15; color: var(--acik); margin-bottom: 32px; max-width: 22ch; }
  .fabrika .fabrika-adimlar { display: grid; gap: 36px; }
  .fabrika .fabrika-adim { grid-area: auto; opacity: 1; transform: none; transition: none; }
  .fabrika .fabrika-adim h3 { font-size: 1.6rem; line-height: 1.2; }
  .fabrika-adim p { margin-top: 12px; }
  .fabrika-mobil-foto { display: block; width: 100%; aspect-ratio: 4/3; height: auto; object-fit: cover; border-radius: 12px; margin-bottom: 20px; }

  .zaman { margin-top: 28px; }
  .zaman-satir { grid-template-columns: minmax(70px, .3fr) minmax(0, 1fr); gap: 16px; }
  .genis-foto { height: auto; margin-block: 48px; background: var(--zemin); }
  .genis-foto img { height: auto; aspect-ratio: 4/3; transform: none !important; will-change: auto; }
  .genis-foto figcaption { position: static; margin: 12px var(--kenar) 0; padding: 0; border-radius: 0; background: none; color: var(--metin-2); font-size: .8125rem; }
  .sozluk-satir { grid-template-columns: 1fr; gap: 8px; }
  .iletisim-eylem { display: grid; grid-template-columns: 1fr; max-width: 420px; }
  .kunye { margin-top: 36px; }
  .kunye-satir { grid-template-columns: 1fr; }
  .kunye dd { min-width: 0; }
  .kunye dd a { min-height: 44px; display: inline-flex; align-items: center; }
  .alt-duzen { align-items: flex-start; flex-direction: column; gap: 20px; }
  .alt-duzen .metin-bag { min-height: 44px; display: flex; align-items: center; }
  html:not(.js-yok) .beliren { opacity: 1; transform: none; transition: none; }
}

/* Full-bleed marble scene; copy stays above the image without splitting the hero. */
.acilis--gorsel {
  display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start;
  height: auto; min-height: 100svh; gap: 0;
  padding: calc(var(--ust-yukseklik) + 64px) var(--kenar) clamp(40px, 8svh, 96px);
  background: #25221e;
}
.acilis--gorsel .acilis-mimari { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; overflow: hidden; }
.acilis--gorsel::after {
  content: ''; position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(90deg, #171511b3 0%, #17151155 45%, transparent 78%), linear-gradient(0deg, #171511a8, transparent 70%);
}
.acilis--gorsel .acilis-metin { position: relative; inset: auto; z-index: 1; width: 100%; max-width: 680px; padding: 0; margin: 0; }
.acilis--gorsel h1 { font-size: clamp(2.5rem, 5.5vw, 5.6rem); max-width: 13ch; line-height: 1.04; }
.acilis--gorsel .acilis-metin p { max-width: 40ch; color: #f0ebe2; }
.acilis--gorsel .acilis-eylem { display: flex; flex-wrap: wrap; max-width: none; gap: 12px; margin-top: 28px; }
@media (max-width: 899px) {
  .acilis--gorsel { padding: calc(var(--ust-yukseklik) + 96px) var(--kenar) max(32px, env(safe-area-inset-bottom)); }
  .acilis--gorsel::after { background: linear-gradient(0deg, #171511d9 0%, #17151177 50%, #1715110d 100%); }
  .acilis--gorsel h1 { font-size: clamp(2.25rem, 7.5vw, 3.5rem); max-width: 15ch; }
  .acilis--gorsel .acilis-metin p { margin-top: 18px; max-width: 42ch; }
  .acilis--gorsel .acilis-eylem { display: grid; grid-template-columns: 1fr; max-width: 420px; margin-top: 24px; }
}

/* ---------- Hareket azaltma ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0ms !important; animation: none !important; }
  .beliren, html:not(.js-yok) .beliren { opacity: 1; transform: none; }
  .genis-foto img { transform: translateY(-8%); }
}

/* Living surfaces: movement stays inside reserved frames, never shifts text or controls. */
.acilis-mimari { position: relative; isolation: isolate; }
.hero-mermer { display: block; width: 100%; height: 100%; position: absolute; inset: 0; }
.hero-kaydirma--hazir { height: calc(var(--hero-yukseklik, 100svh) + var(--hero-yol, 1800px)); }
.hero-kaydirma--hazir .acilis { position: sticky; top: 0; min-height: 100svh; }
@media (prefers-reduced-motion: reduce) {
  .hero-kaydirma--hazir { height: auto; }
  .hero-kaydirma--hazir .acilis { position: relative; }
}
.sayfa-ilerleme { position: fixed; inset: 0 0 auto; height: 2px; z-index: 60; background: var(--vurgu); transform-origin: left; pointer-events: none; }
.hareket-giris { opacity: 0; translate: 0 18px; transition: opacity 800ms ease, translate 800ms cubic-bezier(.2,.65,.3,1); }
.hareket-giris.hareket-gorundu { opacity: 1; translate: 0 0; }
.uygulama-serit img { transition: transform 900ms cubic-bezier(.2,.65,.3,1), filter 700ms; }
.uygulama-serit li { overflow: hidden; border-radius: 14px; }
.dugme { transition: background-color .3s, color .3s, box-shadow .3s, transform .3s; }
.dugme:active { transform: scale(.98); }
@media (hover: hover) and (pointer: fine) {
  .uygulama-serit li:hover img { transform: scale(1.055); filter: brightness(1.04); }
  .dugme:hover { transform: translateY(-3px); box-shadow: 0 9px 24px #0002; }
  .zaman-satir { transition: background-color .4s, opacity .8s, translate .8s; }
  .zaman-satir:hover { background: #bca78a10; }
}
@media (max-width: 899px) {
  .hareket-giris { translate: 0 10px; transition-duration: 600ms; }
}
@media (prefers-reduced-motion: reduce) {
  .acilis-mimari img, .acilis-mimari img.hero-etkin { animation: none; transform: none; transition: none; }
  .hareket-giris { opacity: 1; translate: none; }
  .dugme:hover, .dugme:active, .uygulama-serit li:hover img { transform: none; }
}

/* Mobile art direction: leave the upper composition clear and ground the copy below it. */
@media (max-width: 599px) {
  .acilis--gorsel { padding: calc(var(--ust-yukseklik) + 160px) 24px max(24px, env(safe-area-inset-bottom)); }
  .acilis--gorsel .hero-mermer { height: 100%; }
  .acilis--gorsel .acilis-mimari { background: #211e1a; }
  .acilis--gorsel::after { background: linear-gradient(180deg, transparent 40%, #211e1a40 54%, #211e1ac9 72%, #211e1aeb 100%); }
  .acilis--gorsel h1 { font-size: clamp(1.9rem, 7vw, 2.65rem); line-height: 1.08; max-width: 16ch; }
  .acilis--gorsel .acilis-metin p { font-size: .875rem; line-height: 1.55; margin-top: 16px; color: #e2ddd5; }
  .acilis--gorsel .acilis-eylem { margin-top: 20px; gap: 4px; }
  .acilis--gorsel .dugme--hayalet { border-color: transparent; background: transparent; min-height: 44px; }
}

/* Each copy group follows the visible text height during the crossfade. */
.hero-yazi-grubu { display: grid; position: relative; }
.hero-yazi-grubu > span { grid-area: 1 / 1; align-self: start; }
.hero-yazi-grubu.hero-yazi-olculdu { display: block; }
.hero-yazi-olculdu > span { position: absolute; top: 0; left: 0; width: 100%; }
.hero-yazi-grubu > span[aria-hidden="true"] { opacity: 0; visibility: hidden; }
.hero-mermer--mobil { display: none; }
@media (max-width: 599px) {
  .hero-mermer--genis { display: none; }
  .hero-mermer--mobil { display: block; }
  .acilis--gorsel { padding-top: calc(var(--ust-yukseklik) + 150px); }
}

@media (max-width: 599px) {
  .acilis--gorsel .hero-mermer--mobil { height: auto; aspect-ratio: 2 / 3; mask-image: linear-gradient(#000 0%, #000 72%, transparent 100%); }
}

/* Editorial story: one anchored photograph, three measured chapters. */
.bolum-imza { display: block; font-size: .6875rem; letter-spacing: .22em; margin-bottom: 24px; color: var(--metin-2); }
.hikaye-baslik .bolum-bas { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 56px; }
.hikaye-baslik h2 { font-size: clamp(3.25rem, 7.5vw, 7.5rem); line-height: .98; letter-spacing: -.065em; }
.hikaye-baslik h2 em { font-family: Georgia, serif; font-weight: 400; letter-spacing: -.055em; }
.hikaye-baslik .bolum-bas p { max-width: 26ch; }
.hikaye-duzen { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(40px, 7vw, 100px); align-items: start; }
.hikaye-foto { position: sticky; top: calc(var(--ust-yukseklik) + 24px); height: min(680px, 78svh); overflow: hidden; background: #272820; margin: 0; }
.hikaye-foto img { width: 100%; height: 112%; object-fit: cover; object-position: 48% center; transform: translateY(var(--hikaye-kayma, -5%)) scale(1.02); }
.hikaye-foto::after { content: ''; position: absolute; inset: 0; background: linear-gradient(transparent 30%, #11150ebf); pointer-events: none; }
.hikaye-foto-yazi { position: absolute; inset: auto 32px 32px; z-index: 1; color: #fff; display: flex; flex-direction: column; }
.hikaye-foto-yazi span:first-child { font-size: .625rem; letter-spacing: .18em; }
.hikaye-foto-yazi strong { font-size: clamp(5rem, 11vw, 11rem); font-weight: 400; line-height: 1.1; letter-spacing: -.075em; }
.hikaye-foto-yazi span:last-child { font-size: 1rem; }
.hikaye-adim { padding: 40px 0 64px; border-top: 1px solid var(--cizgi); transition: opacity .6s, transform .8s; }
.hikaye-adim dt { font-size: clamp(3rem, 5.5vw, 5rem); line-height: 1.2; letter-spacing: -.06em; }
.hikaye-adim dt span { display: block; font-size: .625rem; letter-spacing: .18em; color: var(--metin-2); margin-bottom: 18px; }
.hikaye-adim h3 { font-size: 1.25rem; font-weight: 500; margin: 20px 0 12px; }
.hikaye-adim dd p { color: var(--metin-2); line-height: 1.75; max-width: 36ch; }
.hikaye-adim.hikaye-bekliyor { opacity: .35; transform: translateY(20px); }
.hikaye-adim.hikaye-aktif { opacity: 1; transform: none; }
.hakkimizda + .uygulamalar { padding-top: clamp(80px, 10vw, 144px); }
.uygulama-serit { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 64px 36px; width: min(100% - 2 * var(--kenar), var(--icerik)); margin-inline: auto; padding: 0; overflow: visible; }
.uygulama-serit li { min-width: 0; border-radius: 0; overflow: visible; }
.uygulama-serit li:nth-child(even) { margin-top: 100px; }
.uygulama-serit figure { margin: 0; }
.uygulama-kadraj { overflow: hidden; background: var(--zemin-2); }
.uygulama-serit img { aspect-ratio: 4 / 5; border-radius: 0; transform: scale(var(--uygulama-olcek, 1.035)); }
.uygulama-serit li:last-child img { object-position: 50% center; }
.uygulama-serit figcaption { display: flex; gap: 24px; padding-top: 22px; border-top: 1px solid var(--cizgi); margin-top: 16px; }
.uygulama-serit figcaption > span { font-size: .6875rem; color: var(--metin-2); padding-top: 6px; }
.uygulama-serit h3 { font-size: clamp(1.125rem, 2vw, 1.625rem); font-weight: 500; letter-spacing: -.025em; }
.uygulama-serit figcaption p { margin-top: 5px; font-size: .8125rem; color: var(--metin-2); }
@media (max-width: 899px) {
  .hikaye-baslik .bolum-bas { display: block; margin-bottom: 32px; }
  .hikaye-baslik .bolum-bas p { margin-top: 24px; }
  .hikaye-duzen { grid-template-columns: 1fr; gap: 36px; }
  .hikaye-foto { position: relative; top: auto; height: clamp(340px, 70vw, 560px); }
  .hikaye-foto-yazi { inset: auto 24px 24px; }
  .hikaye-adim { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 24px; padding: 28px 0 36px; }
  .hikaye-adim h3 { margin-top: 0; }
  .uygulama-serit { gap: 36px 20px; }
  .uygulama-serit li:nth-child(even) { margin-top: 48px; }
}
@media (max-width: 599px) {
  .hikaye-adim { grid-template-columns: 1fr; gap: 10px; }
  .hikaye-adim dt span { margin-bottom: 10px; }
  .hikaye-adim dd p { max-width: none; }
  .uygulama-serit { grid-template-columns: 1fr; gap: 40px; }
  .uygulama-serit li:nth-child(even) { margin-top: 0; }
  .uygulama-serit img { aspect-ratio: 5 / 6; }
}
@media (prefers-reduced-motion: reduce) {
  .hikaye-adim.hikaye-bekliyor { opacity: 1; transform: none; }
  .hikaye-foto img, .uygulama-serit img { transform: none !important; }
}

/* Loose photographic prints, arranged like a material archive. */
.galeri { margin-top: 0; padding-block: clamp(48px,6vw,88px) 24px; background: radial-gradient(ellipse at 50% 64%, #e5dfd3 0, var(--zemin) 66%); color: var(--metin); }
.galeri > .kap { display: grid; grid-template-columns: 1fr auto; align-items: end; }
.galeri-bas { margin-bottom: 24px; }
.galeri-bas h2 { font-size: clamp(3rem,6.5vw,5.5rem); line-height: .95; letter-spacing: -.065em; font-weight: 400; }
.galeri-arac { margin-bottom: 24px; }
.galeri-filtre { display: flex; gap: 26px; }
.galeri-filtre button { position: relative; border: 0; padding: 10px 0; min-height: 44px; color: var(--metin-2); background: none; font: inherit; font-size: .8125rem; cursor: pointer; }
.galeri-filtre button::after { content: ''; position: absolute; height: 1px; bottom: 4px; left: 0; right: 0; background: var(--vurgu-metin); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.galeri-filtre button[aria-pressed="true"] { color: var(--metin); }
.galeri-filtre button[aria-pressed="true"]::after { transform: scaleX(1); }
.galeri-grid { grid-column: 1 / -1; display: flex; align-items: center; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; list-style: none; padding: 40px 26px 64px; margin: 0 -20px; cursor: grab; }
.galeri-grid::-webkit-scrollbar { display: none; }
.galeri-kart { --foto-yukseklik: clamp(250px,24vw,310px); --donus: -3deg; --seviye: 12px; position: relative; flex: 0 0 clamp(300px,36vw,460px); min-width: 0; margin-left: -32px; }
.galeri-kart.ilk-kart, .galeri-kart:first-child { margin-left: 0; }
.galeri-kart[data-pose="1"], .galeri-kart[data-pose="4"] { flex-basis: clamp(220px,23vw,290px); --foto-yukseklik: clamp(310px,30vw,390px); --donus: 3deg; --seviye: -5px; }
.galeri-kart[data-pose="2"] { flex-basis: clamp(290px,32vw,410px); --foto-yukseklik: clamp(230px,23vw,295px); --donus: -2deg; --seviye: 32px; }
.galeri-kart[data-pose="3"] { --donus: 2deg; --seviye: 4px; }
.galeri-kart[data-pose="4"] { --donus: -4deg; --seviye: 14px; }
.galeri-kart[data-pose="5"] { --donus: 3deg; --seviye: 28px; }
.galeri-kart[hidden] { display: none; }
.galeri-ac { display: block; color: inherit; background: #fffdf8; border: 0; padding: 8px; width: 100%; cursor: grab; font: inherit; transform: translateY(var(--seviye)) rotate(var(--donus)); box-shadow: 0 3px 5px #332d2414, 0 14px 26px -12px #332d2440; transition: transform .42s cubic-bezier(.22,1,.36,1), box-shadow .42s ease; }
.galeri-resim { display: block; height: var(--foto-yukseklik); overflow: hidden; background: var(--zemin-2); }
.galeri-resim img { display: block; width: 100%; height: 100%; object-fit: cover; }
.galeri-kart:focus-within { z-index: 5; }
.galeri-ac:focus-visible { transform: translateY(calc(var(--seviye) - 14px)) rotate(0); }
.galeri-grid.surukleniyor, .galeri-grid.surukleniyor .galeri-ac { cursor: grabbing; }
.galeri-sayac { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.galeri button:focus-visible { outline: 2px solid var(--vurgu-metin); outline-offset: 4px; }
@media(hover:hover) {
  .galeri-kart:hover { z-index: 6; }
  .galeri-ac:hover { transform: translateY(calc(var(--seviye) - 14px)) rotate(0); box-shadow: 0 5px 8px #332d2414, 0 25px 34px -14px #332d2459; }
  .galeri-grid.surukleniyor .galeri-ac { transform: translateY(var(--seviye)) rotate(var(--donus)); }
  .galeri-filtre button:hover { color: var(--metin); }
}
.galeri-isik { position: fixed; inset: 0; width: 100%; max-width: none; height: 100%; max-height: none; padding: 70px 5vw 40px; margin: 0; border: 0; background: #151613f5; color: #f4f0e8; }
.galeri-isik::backdrop { background: #151613; }
.galeri-isik figure { height: 100%; display: grid; margin: 0; overflow: hidden; }
.galeri-isik figure img { grid-area: 1 / 1; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.galeri-kapat { position: absolute; top: 16px; right: 20px; }
@media(max-width:599px) {
  .galeri > .kap { grid-template-columns: minmax(0,1fr); }
  .galeri-bas { margin-bottom: 18px; }
  .galeri-arac { margin-bottom: 4px; }
  .galeri-filtre { gap: 0; justify-content: space-between; }
  .galeri-filtre button { font-size: .75rem; }
  .galeri-grid { padding: 30px 20px 52px; margin-inline: -20px; }
  .galeri-kart { flex-basis: 80%; margin-left: -16px; --foto-yukseklik: 240px; --donus: -2deg; --seviye: 10px; }
  .galeri-kart[data-pose="1"], .galeri-kart[data-pose="4"] { flex-basis: 69%; --foto-yukseklik: 285px; }
  .galeri-kart[data-pose="2"] { flex-basis: 83%; --foto-yukseklik: 225px; --seviye: 22px; }
  .galeri-ac { padding: 6px; }
}
@media(prefers-reduced-motion:reduce) {
  .galeri-ac, .galeri-filtre button::after { transition: none; }
  .galeri-ac:hover, .galeri-ac:focus-visible { transform: translateY(var(--seviye)) rotate(var(--donus)); }
}

/* Shared visual stone picker; room controls sit beside the image on desktop. */
html:not(.js-yok) .tas-liste { display: none; }
.tas-doku-adi { display: none; }
.tas-secici-panel:empty { display: none; }
.tas-secim { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.tas-secim .tas-mobil-detay { display: block; flex-basis: 100%; width: 100%; }
.tas-detay-kopya { color: var(--metin-2); font-size: .8125rem; line-height: 1.65; max-width: 85ch; }
.tas-detay-kopya p + p { margin-top: 8px; }
.tas-detay-kopya:empty { display: none; }
@media (min-width: 900px) {
  .tas-duzen { grid-template-columns: minmax(0, 1fr) minmax(290px, 360px); gap: clamp(24px, 3vw, 48px); }
  .tas-sahne { position: static; }
  .tas-katman { max-height: none; aspect-ratio: 4 / 3; }
  .tas-secici-panel { display: grid; gap: 22px; align-content: start; }
  .tas-mobil-secici { display: grid; gap: 16px; min-width: 0; }
  .tas-secici-bas { display: flex; font-size: 1rem; }
  .tas-secici-bas strong { font-weight: 500; }
  .tas-secici-bas > span { display: none; }
  .tas-doku-seridi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px 10px; padding: 3px; }
  .tas-doku-seridi button { position: relative; display: grid; gap: 6px; align-content: start; min-width: 0; padding: 0; border: 0; background: none; color: var(--metin-2); font: inherit; cursor: pointer; text-align: left; }
  .tas-doku-seridi img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; display: block; border-radius: 7px; border: 3px solid var(--zemin); box-shadow: 0 0 0 1px var(--cizgi); transition: box-shadow 220ms ease; }
  .tas-doku-adi { display: block; font-size: .6875rem; line-height: 1.3; overflow-wrap: anywhere; }
  .tas-doku-seridi button[aria-pressed="true"] { color: var(--metin); }
  .tas-doku-seridi button[aria-pressed="true"] img { box-shadow: 0 0 0 1px var(--vurgu), 0 5px 12px #755d2920; }
  .tas-doku-adi::after { content: ""; display: block; width: 22px; height: 2px; margin-top: 6px; background: var(--vurgu); border-radius: 2px; opacity: 0; transform: scaleX(.3); transform-origin: left; transition: opacity 220ms ease, transform 220ms ease; }
  .tas-doku-seridi button[aria-pressed="true"] .tas-doku-adi::after { opacity: 1; transform: scaleX(1); }
  .tas-doku-seridi button:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 4px; border-radius: 7px; }
  .tas-secici-panel .gorunum-secenekler { grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-radius: 16px; }
  .tas-secici-panel .gorunum-secenek span { font-size: .8125rem; min-height: 42px; padding: 0 5px; }
  .tas-secici-panel .tas-eylem { display: grid; gap: 12px; padding: 0; animation: none; }
  .tas-secici-panel .tas-eylem .dugme { justify-content: center; }
  .tas-secici-panel .tas-eylem .metin-bag { justify-self: center; }
}
@media (max-width: 899px) {
  .tas-secim p { min-height: 0; }
  .tas-secim .tas-mobil-detay { margin-top: 2px; }
  .tas-secim .tas-eylem { padding-bottom: 0; }
}
.tas-secim > .taslar-not { flex-basis: 100%; width: 100%; margin-top: 8px; text-align: left; min-height: 0; }
.tas-secim .tas-detay-kopya p { text-align: left; font-size: inherit; }

/* Quiet architectural view tiles, with one consistent active underline. */
.taslar .gorunum-secenekler {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px; padding: 0; border-radius: 0; background: none;
}
.taslar .gorunum-secenek span {
  position: relative; flex-direction: column; gap: 7px;
  min-height: 70px; padding: 10px 4px; border: 1px solid var(--cizgi);
  border-radius: 7px; background: transparent; color: var(--metin-2);
  font-size: .75rem; line-height: 1.25;
  transition: color 200ms ease, border-color 200ms ease, background-color 200ms ease;
}
.gorunum-secenek svg { width: 22px; height: 22px; flex-shrink: 0; }
.taslar .gorunum-secenek span::after {
  content: ''; position: absolute; bottom: -1px; left: calc(50% - 12px);
  width: 24px; height: 2px; background: var(--vurgu);
  opacity: 0; transform: scaleX(.4); transition: opacity 200ms ease, transform 200ms ease;
}
.taslar .gorunum-secenek input:checked + span {
  color: var(--metin); border-color: #b4925f80; background: #b4925f0d;
}
.taslar .gorunum-secenek input:checked + span::after { opacity: 1; transform: scaleX(1); }
.tas-secim > [data-tas-durum] { text-align: left; }
@media (hover: hover) {
  .taslar .gorunum-secenek:hover span { border-color: #b4925f80; color: var(--metin); background: #b4925f08; }
}
@media (prefers-reduced-motion: reduce) {
  .taslar .gorunum-secenek span, .taslar .gorunum-secenek span::after { transition: none; }
}

/* Quiet editorial history. */
.zaman-hikayesi { background: #efede6; color: #292b24; }
.zaman-sahnesi { padding-block: 80px 48px; }
.zaman-baslik { display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.zaman-baslik .bolum-imza { margin-bottom: 12px; color: #7b705d; font-size: .625rem; }
.zaman-baslik h2 { font-size: clamp(1.6rem,3vw,3rem); font-weight: 400; letter-spacing: -.055em; line-height: 1.15; }
.zaman-tarihler { display: flex; gap: 18px; align-items: center; }
.zaman-tarihler button { font: inherit; font-size: .875rem; min-height: 44px; padding: 8px 0; border: 0; background: none; cursor: pointer; color: #969185; transition: color .25s; }
.zaman-tarihler span { color: #c0b9aa; font-size: .7rem; }
.zaman-tarihler button[aria-current], .zaman-tarihler button:hover { color: #292b24; }
.zaman-tarihler button[aria-current] { text-decoration: underline; text-decoration-color: #9b8158; text-underline-offset: 8px; text-decoration-thickness: 1px; }
.zaman-tarihler button:focus-visible { outline: 1px solid #9b8158; outline-offset: 5px; }
.zaman-bolum { display: grid; grid-template-columns: .85fr 1.4fr; gap: 4vw; align-items: center; padding-block: 60px; }
.zaman-yil { display: block; font-size: clamp(4rem,9vw,9rem); line-height: 1; letter-spacing: -.075em; margin-bottom: 32px; }
.zaman-etiket { font-size: .625rem; letter-spacing: .19em; color: #8a7554; }
.zaman-yazi h3 { font-size: clamp(1.4rem,2.4vw,2.25rem); font-weight: 400; letter-spacing: -.03em; line-height: 1.15; margin: 14px 0; }
.zaman-yazi p { max-width: 40ch; font-size: .9375rem; line-height: 1.75; color: #6a6c61; }
.zaman-yazi { opacity: var(--yazi-opaklik,1); transform: translateY(var(--yazi-y,0px)); }
.zaman-illustrasyon { margin: 0; width: 100%; aspect-ratio: 3/2; transform: translateY(var(--cizim-y,0px)) scale(var(--cizim-olcek,1)); }
.zaman-illustrasyon img { display: block; width: 100%; height: 100%; object-fit: contain; user-select: none; }
.zaman-hazir { height: 350svh; }
.zaman-hazir .zaman-sahnesi { position: sticky; top: 0; height: 100svh; padding-top: calc(var(--ust-yukseklik) + 32px); padding-bottom: 36px; display: flex; flex-direction: column; }
.zaman-hazir .zaman-bolumler { display: grid; flex: 1; min-height: 0; }
.zaman-hazir .zaman-bolum { grid-area: 1/1; min-width: 0; padding-block: 24px; }
.zaman-hazir .zaman-bolum[aria-hidden="true"] { pointer-events: none; }
@media (max-width:899px) {
 .zaman-baslik { flex-direction: column; align-items: start; gap: 12px; }
 .zaman-baslik h2 { font-size: 1.6rem; }
 .zaman-tarihler { gap: 16px; }
 .zaman-tarihler button { font-size: .75rem; }
 .zaman-bolum { grid-template-columns: 1fr; gap: 20px; }
 .zaman-illustrasyon { grid-row: 1; align-self: center; max-height: 280px; }
 .zaman-yil { font-size: 4rem; margin-bottom: 18px; }
 .zaman-yazi h3 { font-size: 1.5rem; margin-block: 10px; }
 .zaman-yazi p { font-size: .8125rem; line-height: 1.6; }
 .zaman-hazir .zaman-sahnesi { padding-top: calc(var(--ust-yukseklik) + 20px); padding-bottom: 32px; }
 .zaman-hazir .zaman-bolum { grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) auto; gap: 12px; padding-block: 12px; }
}
@media (prefers-reduced-motion:reduce) { .zaman-tarihler button { transition: none; } }

/* Connected chronology: three stops, one continuous path. */
.zaman-anlati { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 60px; align-items: center; }
.zaman-hazir .zaman-anlati { flex: 1; min-height: 0; }
.zaman-hazir .zaman-bolumler { height: 100%; }
.zaman-tarihler { position: relative; display: flex; flex-direction: column; align-items: stretch; gap: 0; height: 340px; justify-content: space-between; }
.zaman-tarihler button { position: relative; display: flex; gap: 24px; align-items: center; padding: 0; min-height: 70px; text-align: left; color: #aaa596; }
.zaman-tarihler button > i { flex: 0 0 9px; width: 9px; height: 9px; border: 1px solid #bdb5a5; background: #efede6; border-radius: 50%; transition: background .3s, box-shadow .3s; z-index: 1; }
.zaman-tarihler .zaman-donem { color: inherit; font-size: 30px; line-height: 1.1; letter-spacing: -.055em; transition: color .3s, transform .3s; transform-origin: left; }
.zaman-donem small { display: block; margin-top: 9px; font-size: 11px; letter-spacing: .01em; color: #989182; }
.zaman-tarihler button[aria-current] { text-decoration: none; color: #302f27; }
.zaman-tarihler button[aria-current] .zaman-donem { transform: scale(1.12); }
.zaman-tarihler button[aria-current] small { color: #94774e; }
.zaman-tarihler button[aria-current] > i { background: #987a50; border-color: #987a50; box-shadow: 0 0 0 6px #efede6,0 0 0 7px #a78e603a; }
.zaman-tarihler button.gecildi > i { background: #987a50; border-color: #987a50; }
.zaman-bag { position: absolute; top: 35px; bottom: 35px; left: 4px; width: 1px; background: #cfc8b9; }
.zaman-bag i { display: block; width: 100%; height: 100%; background: #987a50; transform-origin: top; transform: scaleY(var(--donem-ilerleme,0)); }
.zaman-yil { display: none; }
.zaman-bolum { grid-template-columns: .85fr 1.2fr; gap: 28px; }
.zaman-yazi h3 { font-size: clamp(1.65rem,2.45vw,2.4rem); line-height: 1.13; margin-block: 20px; }
.zaman-yazi p { font-size: .875rem; }
.zaman-illustrasyon { width: calc(100% + 28px); margin-left: -14px; }
@media (min-width:900px) and (max-width:1150px) { .zaman-anlati { grid-template-columns: 145px minmax(0,1fr); gap: 30px; } .zaman-bolum { grid-template-columns: 1fr; gap: 20px; } .zaman-illustrasyon { grid-row: 1; max-height: 340px; } }
@media (max-width:899px) {
 .zaman-anlati { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
 .zaman-tarihler { flex-direction: row; justify-content: space-between; height: 89px; flex-shrink: 0; margin-top: 27px; }
 .zaman-tarihler button { flex-direction: column; gap: 16px; align-items: center; justify-content: start; width: 82px; min-height: 80px; text-align: center; }
 .zaman-tarihler button > i { flex-basis: 7px; height: 7px; width: 7px; }
 .zaman-tarihler .zaman-donem { font-size: 23px; transform-origin: center top; }
 .zaman-tarihler button[aria-current] .zaman-donem { transform: none; }
 .zaman-donem small { font-size: 9px; margin-top: 7px; }
 .zaman-bag { top: 3px; bottom: auto; left: 41px; right: 41px; width: auto; height: 1px; }
 .zaman-bag i { transform-origin: left; transform: scaleX(var(--donem-ilerleme,0)); }
 .zaman-hazir .zaman-bolumler { flex: 1; height: auto; }
 .zaman-hazir .zaman-bolum { grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) auto; gap: 18px; padding-block: 12px; }
 .zaman-illustrasyon { width: 100%; margin: 0; max-height: 290px; }
 .zaman-yazi h3 { font-size: 1.65rem; margin-block: 12px; }
 .zaman-yazi p { font-size: .8125rem; }
}

.galeri-grid { touch-action: pan-x pan-y pinch-zoom; user-select: none; }
.galeri-isik figure { touch-action: pan-y pinch-zoom; user-select: none; }
.galeri-grid img, .galeri-isik figure img { -webkit-user-drag: none; }

@media (max-width:899px) {
  .zaman-sahnesi { padding-block: 56px; }
  .zaman-bolum { grid-template-columns: minmax(0,1fr); padding-block: 24px; }
}

/* Automatic photographic slideshow; no scroll-bound rendering. */
.mekan-akisi { position: relative; background: #242620; color: #f5f3e9; }
/* Follow the visible viewport as mobile browser toolbars collapse/expand. */
.akis-sahne { position: relative; height: 100svh; height: 100dvh; overflow: hidden; isolation: isolate; }
.akis-fotograflar, .akis-golge { position: absolute; inset: 0; pointer-events: none; }
.akis-fotograflar { z-index: -3; overflow: hidden; }
.akis-kare { display: contents; }
.akis-foto { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center 54%; opacity: 0; }
.akis-kare:first-child .akis-foto { opacity: 1; }
.akis-kare:nth-child(2) .akis-foto { object-position: 59% 50%; }
.akis-slayt-hazir .akis-kare .akis-foto { opacity: 0; visibility: hidden; }
.akis-slayt-hazir .akis-kare .akis-etkin { opacity: 1; visibility: visible; z-index: 1; }
.akis-slayt-hazir .akis-kare .akis-sonraki { visibility: visible; z-index: 2; will-change: opacity; animation: akis-slayt-gecis 800ms ease-in-out both; }
@keyframes akis-slayt-gecis { from { opacity: 0; } to { opacity: 1; } }
.akis-golge { z-index: -2; background: linear-gradient(180deg,#11171148,transparent 24%,#11171118 40%,#111711b5 83%,#111711db); }
.akis-baslik { position: absolute; bottom: 12%; left: var(--kenar); right: var(--kenar); }
.akis-baslik h1 { font-size: clamp(62px,7.6vw,124px); line-height: .96; letter-spacing: -.065em; font-weight: 400; }
.akis-aciklama { max-width: 52ch; margin-top: 24px; font-size: 14px; line-height: 1.7; color: #f5f3e9d9; text-wrap: pretty; }
.akis-baslik em { font-family: Georgia,'Times New Roman',serif; font-weight: 400; letter-spacing: -.055em; }
@media (max-width:699px) {
  .akis-kare:first-child .akis-foto { object-position: 52% center; }
  .akis-baslik { bottom: 9%; }
  .akis-aciklama { max-width: 36ch; margin-top: 18px; font-size: 12px; line-height: 1.65; }
  .akis-baslik h1 { font-size: clamp(36px,11.5vw,78px); }
}
@media (max-height:500px) and (min-width:700px) {
  .akis-baslik { bottom: 30%; }
  .akis-baslik h1 { font-size: 50px; }
}
@media (prefers-reduced-motion:reduce) {
  .akis-slayt-hazir .akis-kare .akis-sonraki { animation: none; will-change: auto; }
}

@media (max-width:899px) and (orientation:portrait) {
  .akis-kare .akis-foto { object-position: center 40%; }
}

/* One quiet invitation, with a full touch target. */
.akis-kaydir { position: absolute; bottom: max(16px,env(safe-area-inset-bottom)); left: 50%; translate: -50% 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-width: 64px; min-height: 44px; color: #f5f3e9cc; text-decoration: none; font-size: 10px; letter-spacing: .08em; transition: opacity 400ms ease, visibility 400ms; }
.akis-kaydir svg { animation: akis-ok 2.6s ease-in-out infinite; }
.akis-kaydir:focus-visible { opacity: 1; visibility: visible; }
@keyframes akis-ok { 0%,100% { transform: translateY(0); } 50% { transform: translateY(4px); } }

/* Selected stone: complete frame and check. Selected room: solid graphite. */
.tas-doku-adi::after, .taslar .gorunum-secenek span::after { display: none; }
.tas-doku-seridi button[aria-pressed="true"] { border-color: #81704c; background: #e5dfd1; box-shadow: 0 0 0 2px #81704c; }
.tas-doku-seridi button[aria-pressed="true"]::after { content: '✓'; position: absolute; inset: 3px 3px auto auto; display: grid; place-items: center; width: 17px; height: 17px; border-radius: 50%; background: #353a30; color: #fff; font-size: 11px; line-height: 1; box-shadow: 0 0 0 2px var(--zemin); }
.taslar .gorunum-secenek input:checked + span { color: #f5f3ee; border-color: #353a30; background: #353a30; box-shadow: 0 3px 9px #292d2118; }
@media (min-width:900px) {
  .tas-doku-seridi button[aria-pressed="true"] { background: none; box-shadow: none; }
  .tas-doku-seridi button[aria-pressed="true"] img { box-shadow: 0 0 0 2px #81704c; }
  .tas-doku-seridi button[aria-pressed="true"] .tas-doku-adi { color: #353a30; font-weight: 600; }
}
@media (max-width:899px) {
  :root { --olcu: .875rem; }
  .bolum-bas h2, .galeri-bas h2 { font-size: clamp(27px,6.5vw,36px); }
  .bolum-bas p { font-size: 14px; line-height: 1.65; }
  .menu-baglar a { font-size: clamp(25px,6vw,34px); }
  .kunye dd { font-size: 14px; }
  .kunye dt, .kunye .metin-bag, .dugme { font-size: 13px; }
  .alt { font-size: 12px; }
  .akis-baslik { bottom: max(100px,13%); }
  .akis-baslik h1 { font-size: clamp(32px,9.5vw,64px); }
  .akis-aciklama { font-size: 12px; margin-top: 16px; }
  .tas-secici-bas { font-size: 12px; }
  .tas-secim > [data-tas-durum], .taslar-not { font-size: 12px; }
  .tas-detay-kopya { font-size: 12px; }
  .taslar .gorunum-secenek span { font-size: 11px; min-height: 64px; }
  .gorunum-secenek svg { width: 20px; height: 20px; }

  /* The next photograph peeks into view to invite horizontal swiping. */
  .fabrika .fabrika-sahne { padding: 48px 0; overflow: hidden; }
  .fabrika-metin h2 { margin: 0 var(--kenar) 24px; font-size: 28px; letter-spacing: -.04em; }
  .fabrika .fabrika-adimlar { display: flex; gap: 14px; overflow-x: auto; padding: 0 var(--kenar) 20px; scroll-padding-inline: var(--kenar); scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #a89571 #ffffff0d; counter-reset: uretim; }
  .fabrika .fabrika-adim { position: relative; flex: 0 0 min(82vw,390px); overflow: hidden; border: 1px solid #ffffff19; border-radius: 12px; background: #292a24; scroll-snap-align: start; counter-increment: uretim; padding-bottom: 24px; }
  .fabrika .fabrika-adim::before { content: '0' counter(uretim); position: absolute; top: 14px; left: 14px; z-index: 1; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #ffffff50; border-radius: 50%; background: #20241ddd; color: #f5f3ee; font-size: 11px; font-variant-numeric: tabular-nums; }
  .fabrika .fabrika-mobil-foto { aspect-ratio: 4/3; border-radius: 0; margin: 0 0 22px; opacity: 1; translate: none; transform: none; }
  .fabrika .fabrika-adim h3 { padding-inline: 20px; font-size: 21px; font-weight: 400; letter-spacing: -.025em; }
  .fabrika .fabrika-adim p { padding-inline: 20px; margin-top: 10px; font-size: 13px; line-height: 1.65; }

  /* Every chapter shares the same bounded mobile stage. */
  .zaman-hazir { height: 300svh; }
  .zaman-baslik h2 { font-size: 25px; }
  .zaman-baslik .bolum-imza { font-size: 9px; margin-bottom: 8px; }
  .zaman-hazir .zaman-sahnesi { padding-top: calc(var(--ust-yukseklik) + 18px); padding-bottom: 24px; }
  .zaman-tarihler { height: 70px; margin-top: 22px; }
  .zaman-tarihler button { min-height: 60px; gap: 12px; }
  .zaman-tarihler .zaman-donem { font-size: 20px; }
  .zaman-hazir .zaman-bolum { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr) 150px; gap: 12px; padding: 0; }
  .zaman-hazir .zaman-illustrasyon { min-width: 0; width: 100%; height: 100%; max-height: 32svh; align-self: center; }
  .zaman-yazi h3 { font-size: 22px; margin-block: 10px; }
  .zaman-yazi p { font-size: 12px; line-height: 1.65; }
}
@media (prefers-reduced-motion: reduce) { .akis-kaydir svg { animation: none; } .akis-kaydir { transition: none; } .fabrika .fabrika-adimlar { scroll-behavior: auto; } }

/* Material samples: a clean dark mount, with no badge or decorative underline. */
.yalniz-okuyucu { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap; border: 0 !important; }
.tas-doku-seridi button { transition: background-color .25s ease, border-color .25s ease; }
.tas-doku-seridi button[aria-pressed="true"] { background: #353a30; border-color: #353a30; box-shadow: none; }
.tas-doku-seridi button[aria-pressed="true"]::after { display: none; content: none; }
.tas-doku-seridi button[aria-pressed="true"] img { box-shadow: none; }
.tas-secim > .taslar-not { border: 0; padding: 0; margin: 4px 0 0; font-size: 11px; max-width: none; }
.tas-secim .tas-mobil-detay[hidden] { display: none; }
.tas-eylem .tas-gizlilik { justify-self: center; font-size: 10px; color: var(--metin-2); text-underline-offset: 3px; padding: 3px; }
@media (min-width:900px) {
  .tas-doku-seridi { gap: 8px; padding: 0; }
  .tas-doku-seridi button { padding: 5px; border-radius: 9px; }
  .tas-doku-seridi img { border: 0; box-shadow: none; border-radius: 5px; }
  .tas-doku-seridi .tas-doku-adi { padding: 2px 2px 3px; font-size: 10px; min-height: 32px; }
  .tas-doku-seridi button[aria-pressed="true"] .tas-doku-adi { color: #f5f3ee; font-weight: 400; }
}
@media (max-width:899px) {
  .tas-doku-seridi { padding: 2px; gap: 8px; }
  .tas-doku-seridi button { border: 2px solid transparent; padding: 3px; border-radius: 8px; }
  .tas-doku-seridi button:not([aria-pressed="true"]) img { opacity: .8; }
  .tas-secim { gap: 8px; margin-top: 8px; }
  .tas-secim .tas-eylem { padding-top: 0; gap: 4px; }
}

/* The factory reads as four photographic posters rather than small information cards. */
.fabrika-metin h2 em { font-family: Georgia,'Times New Roman',serif; font-weight: 400; }
@media (min-width:900px) {
  .fabrika-metin { max-width: none; top: auto; bottom: 9svh; transform: none; display: grid; grid-template-columns: 1.2fr 1fr; align-items: end; gap: 8vw; }
  .fabrika-metin h2 { font-size: clamp(66px,8vw,132px); line-height: .88; letter-spacing: -.06em; margin: 0; color: #f5f3ee; }
  .fabrika-adimlar { counter-reset: uretim; padding-bottom: 6px; }
  .fabrika-adim { counter-increment: uretim; }
  .fabrika-adim::before { content: '0' counter(uretim); display: block; font-size: 13px; letter-spacing: .12em; margin-bottom: 24px; color: #e4d6bd; }
  .fabrika-adim h3 { font-size: clamp(32px,4vw,60px); font-weight: 400; }
  .fabrika-adim p { font-size: 14px; max-width: 32ch; }
  .fabrika-golge { background: linear-gradient(0deg,#10150ff2, #10150f60 42%,#10150f0a 70%,#10150f40); }
  .fabrika.durgun .fabrika-metin, .js-yok .fabrika-metin { display: block; }
  .fabrika.durgun .fabrika-metin h2, .js-yok .fabrika-metin h2 { margin-bottom: 48px; }
}
@media (max-width:899px) {
  .fabrika .fabrika-sahne { padding: 42px 0 28px; background: #252b25; }
  .fabrika-metin h2 { font-size: clamp(48px,13vw,78px); line-height: .9; margin-bottom: 28px; letter-spacing: -.06em; }
  .fabrika .fabrika-adimlar { gap: 10px; padding-bottom: 18px; }
  .fabrika .fabrika-adim { display: flex; flex-direction: column; justify-content: end; flex-basis: min(83vw,440px); height: clamp(360px,60svh,550px); padding: 28px 22px; border: 0; border-radius: 2px; isolation: isolate; background: #161c15; }
  .fabrika .fabrika-adim::before { top: 18px; left: 20px; width: auto; height: auto; border: 0; border-radius: 0; background: transparent; color: #fff; font-size: 64px; font-weight: 300; line-height: 1; letter-spacing: -.07em; }
  .fabrika .fabrika-adim::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#10150f35,transparent 35%,#10150f70 60%,#10150fee); }
  .fabrika .fabrika-mobil-foto { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; margin: 0; z-index: -2; }
  .fabrika .fabrika-adim h3 { padding: 0; font-size: 38px; line-height: 1; letter-spacing: -.05em; }
  .fabrika .fabrika-adim p { padding: 0; margin-top: 12px; font-size: 12px; line-height: 1.6; max-width: 28ch; color: #f1efe4d9; }
}

/* A date, a drawing, a short sentence. */
.zaman-baslik h2 { letter-spacing: -.045em; }
.zaman-yazi h3 { font-family: Georgia,'Times New Roman',serif; font-size: clamp(28px,3.1vw,48px); line-height: 1.08; letter-spacing: -.045em; font-weight: 400; margin: 0 0 16px; text-wrap: balance; }
.zaman-yazi p { max-width: 33ch; line-height: 1.65; }
.zaman-tarihler .zaman-donem { font-family: Georgia,'Times New Roman',serif; letter-spacing: -.035em; }
@media (max-width:899px) {
  .zaman-tarihler { height: 55px; margin-top: 24px; }
  .zaman-tarihler button { min-height: 50px; }
  .zaman-hazir .zaman-bolum { grid-template-rows: minmax(0,1fr) 125px; }
  .zaman-hazir .zaman-illustrasyon { max-height: 42svh; }
  .zaman-yazi h3 { font-size: clamp(26px,7vw,34px); margin: 0 0 12px; }
  .zaman-yazi p { font-size: 12px; max-width: 38ch; }
}

/* An open invitation, with a single strong contact action. */
.iletisim { background: #252b25; padding-block: clamp(64px,9vw,132px); }
.iletisim .bolum-bas { margin: 0; max-width: none; }
.iletisim .bolum-bas h2 { font-size: clamp(38px,5.4vw,84px); line-height: 1.02; letter-spacing: -.055em; font-weight: 400; }
.iletisim .bolum-bas h2 em { font-family: Georgia,'Times New Roman',serif; font-weight: 400; color: #d8c8a8; }
.iletisim .bolum-bas p { font-size: 14px; margin-top: 22px; color: #f4f0e6b3; }
.iletisim-eylem { align-items: center; gap: 24px; margin-top: 30px; }
.iletisim-eylem .dugme--acik { padding: 16px 26px; background: #e5dbc7; border-color: #e5dbc7; color: #252b25; }
.iletisim-eylem .dugme--hayalet { border: 0; border-radius: 0; padding: 12px 0; text-decoration: underline; text-underline-offset: 6px; }
.iletisim-gizlilik { display: inline-block; margin-top: 18px; font-size: 10px; color: #d5d1c4; text-underline-offset: 4px; }
.iletisim .kunye { border: 0; }
.iletisim .kunye-satir { grid-template-columns: 1fr; gap: 9px; padding: 22px 0; }
.iletisim .kunye dt { color: #b5b8a9; font-size: 11px; }
.iletisim .kunye dd { font-size: 15px; line-height: 1.65; }
.iletisim .kunye-satir:last-child { padding-bottom: 0; }
.alt-yasal { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.alt-yasal a { display: inline-flex; align-items: center; min-height: 44px; font-size: 11px; text-decoration: none; }
.alt-yasal a:hover { text-decoration: underline; text-underline-offset: 4px; }
.iletisim .kunye dd span { display: block; }
@media (min-width:900px) { .iletisim-duzen { grid-template-columns: 1.4fr 1fr; align-items: start; } }
@media (max-width:899px) {
  .iletisim .bolum-bas h2 { font-size: clamp(34px,9.5vw,54px); }
  .iletisim .kunye { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .iletisim .kunye dd { font-size: 12px; }
  .iletisim .kunye-satir:first-child, .iletisim .kunye-satir:last-child, .iletisim .kunye-satir--tam { grid-column: 1/-1; }
  .iletisim .kunye-satir:last-child { padding-top: 20px; }
  .alt-duzen { gap: 12px 24px; }
  .alt-yasal { width: 100%; }
}
@media (prefers-reduced-motion:reduce) { .tas-doku-seridi button { transition: none; } }

/* The same photographic production cards on every screen. */
.fabrika, .js-yok .fabrika { height: auto; }
.fabrika .fabrika-sahne, .js-yok .fabrika .fabrika-sahne { position: relative; height: auto; min-height: 100svh; padding: clamp(112px,16svh,180px) 0 64px; overflow: hidden; background: #252b25; }
.fabrika .fabrika-metin, .js-yok .fabrika .fabrika-metin { position: static; inset: auto; transform: none; display: block; margin: 0; max-width: none; }
.fabrika .fabrika-metin h2 { margin: 0 var(--kenar) 48px; font-size: clamp(48px,6vw,88px); line-height: .9; letter-spacing: -.06em; color: #f5f3ee; }
.fabrika .fabrika-adimlar, .js-yok .fabrika .fabrika-adimlar { display: flex; gap: 16px; padding: 0 var(--kenar) 20px; overflow-x: auto; scroll-padding-inline: var(--kenar); scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #a89571 #ffffff0d; counter-reset: uretim; cursor: grab; }
.fabrika .fabrika-adim { position: relative; display: flex; flex-direction: column; justify-content: end; grid-area: auto; flex: 0 0 clamp(290px,30vw,460px); height: clamp(390px,57svh,560px); padding: 28px 26px; border: 0; border-radius: 2px; background: #161c15; isolation: isolate; overflow: hidden; opacity: 1; transform: none; transition: none; scroll-snap-align: start; counter-increment: uretim; }
.fabrika .fabrika-adim::before { content: '0' counter(uretim); position: absolute; top: 18px; left: 22px; z-index: 1; display: block; width: auto; height: auto; margin: 0; border: 0; border-radius: 0; background: transparent; color: #fff; font-size: 64px; font-weight: 300; line-height: 1; letter-spacing: -.07em; }
.fabrika .fabrika-adim::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg,#10150f35,transparent 35%,#10150f70 60%,#10150fee); }
.fabrika .fabrika-mobil-foto { display: block; position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; margin: 0; border-radius: 0; z-index: -2; opacity: 1; transform: none; translate: none; user-select: none; -webkit-user-drag: none; }
.fabrika .fabrika-adim h3, .js-yok .fabrika .fabrika-adim h3 { padding: 0; font-size: 38px; font-weight: 400; line-height: 1; letter-spacing: -.05em; }
.fabrika .fabrika-adim p { padding: 0; margin-top: 12px; font-size: 13px; line-height: 1.6; max-width: none; white-space: nowrap; color: #f1efe4d9; }
.fabrika .fabrika-adimlar.surukleniyor { cursor: grabbing; scroll-snap-type: none; user-select: none; }
@media(max-width:899px) {
  .fabrika .fabrika-sahne { padding: clamp(96px,13svh,136px) 0 48px; }
  .fabrika .fabrika-metin h2 { font-size: clamp(48px,13vw,78px); margin-bottom: 36px; }
  .fabrika .fabrika-adimlar { gap: 10px; padding-bottom: 18px; }
  .fabrika .fabrika-adim { flex-basis: min(83vw,440px); height: clamp(360px,60svh,550px); padding: 28px 22px; }
  .fabrika .fabrika-adim p { font-size: 12px; }
}

@media (min-width:900px) {
  .fabrika .fabrika-metin h2 { white-space: nowrap; }
  #fabrika-baslik br { display: none; }
}

.tas-secim > .taslar-not { font-size: clamp(8.5px,2.8vw,10px); white-space: nowrap; line-height: 1.5; }
.tas-eylem button.dugme { font-family: inherit; cursor: pointer; }

/* Compact contact layout; keep all contact and company details accessible. */
.iletisim { padding-block: clamp(40px,5vw,72px); }
.iletisim .bolum-bas h2 { font-size: clamp(34px,4vw,56px); }
.iletisim .bolum-bas p { margin-top: 12px; }
.iletisim-eylem { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 20px; }
.iletisim-eylem .dugme--acik { padding: 12px 20px; }
.iletisim .kunye { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.iletisim .kunye-satir { padding: 12px 0; gap: 4px; }
.iletisim .kunye-satir:first-child, .iletisim .kunye-satir:last-child, .iletisim .kunye-satir--tam { grid-column: 1 / -1; }
.iletisim .kunye-satir:first-child { padding-top: 0; }
.iletisim .kunye-satir:last-child { padding-top: 12px; }
.iletisim .kunye dd { font-size: 13px; line-height: 1.5; }
.alt-duzen { border-top: 0; }
@media (max-width: 899px) {
  .iletisim .kunye { margin-top: 24px; }
  .iletisim .kunye dd { font-size: 12px; }
  .iletisim-eylem .dugme { font-size: 12px; }
}

/* Keep the archive photo’s embedded white margin outside the card. */
.fabrika .fabrika-adim--yasam .fabrika-mobil-foto { inset: -5%; width: 110%; height: 110%; transform: none; }

/* Equal breathing room around contact dividers. */
.iletisim .kunye-satir,
.iletisim .kunye-satir:first-child,
.iletisim .kunye-satir:last-child { padding-block: 16px; align-content: start; }
.iletisim .kunye dd { align-content: start; }
.menu-alt { gap: 0 16px; }
@media (max-width: 899px) {
  .menu { display: block; padding-bottom: max(28px, env(safe-area-inset-bottom)); }
  .menu-ic { display: flex; flex-direction: column; min-height: calc(100dvh - var(--ust-yukseklik) - 24px - max(28px, env(safe-area-inset-bottom))); }
  .menu-baglar { margin-bottom: 24px; }
  .menu-alt { flex-direction: column; align-items: flex-start; margin-top: auto; padding-top: 16px; gap: 0; }
  .menu-alt a { display: inline-flex; align-items: center; min-height: 32px; line-height: 1.5; }
}

/* Compact, individually tappable phone rows. */
.iletisim .kunye .iletisim-telefonlar { gap: 0; }
.iletisim .kunye .iletisim-telefonlar a { display: inline-flex; align-items: center; min-height: 28px; }

/* Disclosures remain readable at narrow widths and during image changes. */
.tas-secim > .taslar-not { font-size: 11px; white-space: normal; line-height: 1.6; min-height: 3.2em; }
.iletisim .bolum-bas .iletisim-veri { margin-top: 12px; font-size: 11px; line-height: 1.7; }
.iletisim-veri a { text-underline-offset: 3px; }
.galeri-temsili { display: block; padding: 8px 4px 2px; font-size: 12px; line-height: 1.5; }
.galeri-isik figure { grid-template-rows: minmax(0,1fr) auto; }
.galeri-aciklama { grid-area: 2 / 1; text-align: center; font-size: 12px; line-height: 1.6; padding-top: 12px; }

.tas-temsili { display: block; font-size: 12px; line-height: 1.5; padding: 8px 0; }

/* Small centered icon with a generous invisible touch target. */
.pencere-kapat { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 0; appearance: none; background: transparent; color: inherit; line-height: 1; cursor: pointer; }
.pencere-kapat svg { display: block; width: 16px; height: 16px; pointer-events: none; }
.pencere-kapat:focus-visible { outline: 2px solid currentColor; outline-offset: -6px; }
