/* Siluet proje sayfası (2026-10-24, Kurallar 41 turu). Sıra: zemin ve menü, açılış, bölümler, imza sahneleri, sahadan, şantiye, görsel dizileri, künye, sıradaki,
   ışık kutusu, kırılımlar, hareket azaltma.
   Zeminler fotoğraftan türeyen açık ve sıcak tonlardır (--p-acilis, --p-sicak, --b-zemin; proje.js); soğuk mavi-gri zemin yok (Kurallar 12, kisitlar 22).
   Görsel kart değildir: köşe, gölge ve çerçeve yok; kenarı zemine erir (mask-image) ve hiçbir görsel görünür alandan uzun değildir (--fit; Kurallar 41b, 41d). */
body.sayfa-proje { --p-acilis: #F2F1EE; --p-sicak: #F4F2EE; --kahve: #6F4A30; --gri-koyu: #48484D; --fit: calc(100svh - 52px - clamp(28px, 4svh, 48px)); --cubuk: 52px; background: var(--p-sicak); }

/* ---------- tek menü çubuğu: genel bağlantılar ile proje bağlantıları aynı çubukta yer değiştirir ---------- */
.sayfa-proje.menu-cekik .menu { transform: none; }
.sayfa-proje .menu { border-bottom-color: transparent; }
.sayfa-proje .menu__orta, .sayfa-proje .menu__proje { grid-column: 2; grid-row: 1; transition: opacity var(--t-hizli) var(--e-cikis), transform var(--t-hizli) var(--e-cikis), visibility 0s; }
.menu__proje { display: flex; align-items: center; gap: 28px; font-size: 14px; opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; }
.menu__ad { font-size: 17px; font-weight: 500; letter-spacing: -.015em; white-space: nowrap; }
.menu__yerel { display: flex; gap: 24px; }
.menu__yerel a { color: #333336; position: relative; }
.menu__yerel a[aria-current]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 1.5px; background: currentColor; }
.menu__yerel a[aria-current] { color: #000; }
.menu__bilgi { margin-left: 4px; }
.sayfa-proje.menu-cekik .menu__orta { opacity: 0; visibility: hidden; transform: translateY(-8px); pointer-events: none; transition-delay: 0s, 0s, var(--t-hizli); }
.sayfa-proje.menu-cekik .menu__proje { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.mobil-menu__proje { margin: 22px 0 2px; padding-top: 18px; border-top: 1px solid var(--cizgi); font-size: 14px; color: var(--kahve); }
.mobil-menu .mobil-menu__kucuk { font-size: 22px; font-weight: 500; letter-spacing: -.02em; padding: 8px 0; min-height: 44px; }
.sayfa-proje .mobil-menu { overflow-y: auto; }
@media (pointer: coarse) {
  .sayfa-proje .hap--kucuk { min-height: 44px; padding: 0 18px; }
  .sayfa-proje .alt__sutunlar a { display: flex; align-items: center; min-height: 44px; padding: 0; }
  .sayfa-proje .alt__son a { display: inline-flex; align-items: center; min-height: 44px; }
  .sayfa-proje .menu__ad { display: inline-flex; align-items: center; min-height: 44px; }
}

/* ---------- açılış ve tanıtım: tek yapışık sahne ---------- */
.p-acilis { position: relative; height: 320vh; height: var(--ac-h, 360svh); } /* --ac-h proje.js'ten: okunacak metne göre */
.p-acilis__sahne { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; background: var(--p-acilis); perspective: 1600px; }
.p-acilis__dunya { position: absolute; inset: 0; z-index: 2; transform-style: preserve-3d; }
.p-acilis__kubbe { position: absolute; inset: 0; z-index: 2; visibility: hidden; -webkit-mask-composite: source-in; mask-composite: intersect; } /* alt kenarın ve iç yan kenarların erimesi proje.js onMaske() */
.p-acilis.hazir .p-acilis__kubbe { visibility: visible; }
.p-acilis__perde { position: absolute; inset: 0; }
.p-acilis__kutu { position: absolute; inset: 0; overflow: hidden; -webkit-mask-composite: source-in; mask-composite: intersect; } /* kenarları zemine eriten maske proje.js ciz()'de kırpıma göre yazılır */
.p-acilis__kutu img, .p-acilis__kutu video { position: absolute; left: 0; top: 0; max-width: none; transform-origin: 0 0; will-change: transform; }
/* temiz ön katmanlı açılış: gök plakası kendi kabında yumuşak biçimle sayfa zeminine erir (proje.js gokMaske, Kurallar 27); ad gök ile bina arasında, fotoğrafla aynı karede */
.p-acilis__gokkat { position: absolute; inset: 0; }
.p-acilis__yazi { position: absolute; left: 0; top: 0; z-index: 1; transform-origin: 0 0; pointer-events: none; }
.p-gok-ad { position: absolute; margin: 0; white-space: nowrap; font-weight: 300; line-height: 1; letter-spacing: -.045em; color: var(--metin); }
.p-gok-ad .k, .p-gok-soz .s { display: inline-block; }
.p-gok-ad .k--bos { width: .24em; }
.p-gok-soz { position: absolute; margin: 0; font-weight: 400; line-height: 1.06; letter-spacing: -.03em; color: var(--metin); text-align: center; text-wrap: balance; }
@media (max-width: 819px) { .p-gok-soz { text-align: left; } }
.p-acilis__gok[hidden], .p-acilis__video[hidden], .p-acilis__on[hidden], .p-acilis__hazir { display: none !important; }
.p-acilis__gok:not([hidden]) + .p-acilis__foto { --ua: 0; -webkit-mask-image: linear-gradient(180deg, rgba(0,0,0,var(--ua)) var(--u0, 0%), #000 var(--u1, 0%)); mask-image: linear-gradient(180deg, rgba(0,0,0,var(--ua)) var(--u0, 0%), #000 var(--u1, 0%)); }
/* ön katmanlı açılış: gök plakası + ön katman (bina ve zemini tek parça) bütün fotoğrafın yerini alır; ikisi aynı karede, gök daha yavaş */
.p-acilis__kutu.katmanli > .p-acilis__foto { opacity: 0; -webkit-mask-image: none; mask-image: none; }
.p-acilis__on { z-index: 2; }
.p-acilis__video { opacity: 0; z-index: 3; }
.p-acilis__bantlar i { position: absolute; left: 0; right: 0; background: var(--p-acilis); transform-origin: 100% 50%; }
.p-acilis__ufuk { position: absolute; z-index: 3; height: 1px; background: rgba(29,29,31,.45); transform: scaleX(0); transform-origin: 50% 50%; pointer-events: none; }
body:not([data-aile="yerleske"]) .p-acilis__ufuk { display: none; }
/* görsel türü: fotoğrafın dışında, zeminde düz yazı (cam hap ve kart yok; defter R102, R108); konumu proje.js hesap()'tan */
.p-acilis__etiket { position: absolute; z-index: 3; right: 16px; bottom: 8px; margin: 0; opacity: 0; pointer-events: none; }
.p-acilis__etiket span { display: inline-block; color: var(--gri-koyu); font-size: 13px; letter-spacing: -.005em; }

/* başlık sayfa zemininde (Kurallar 27): yeri aileye göre değişir */
.p-acilis__baslik { position: absolute; z-index: 4; top: 86px; left: var(--kenar); right: var(--kenar); text-align: center; will-change: transform; }
.p-acilis:not(.yazi-hazir) .p-acilis__baslik { visibility: hidden; }
.p-etiketler { display: flex; gap: 18px; justify-content: center; align-items: center; margin: 0 0 16px; font-size: 15px; line-height: 1.2; color: var(--kahve); letter-spacing: -.005em; }
.p-etiket { display: inline-flex; align-items: center; gap: 8px; }
.p-etiket--durum::before { content: ""; width: 7px; height: 7px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px currentColor; }
.p-etiket--devam::before { background: currentColor; }
.p-ad { margin: 0; font-weight: 300; font-size: clamp(44px, min(6.6vw, 11.5vh), 116px); line-height: .98; letter-spacing: -.04em; text-wrap: balance; color: var(--metin); }
.p-kisa { margin: 16px auto 0; max-width: 34ch; font-size: clamp(17px, 1.45vw, 21px); line-height: 1.35; color: var(--gri-koyu); letter-spacing: -.01em; text-wrap: balance; }
@media (min-width: 820px) {
  .p-acilis[data-baslik="yan"] .p-acilis__baslik { top: auto; bottom: 12vh; right: auto; width: min(40vw, 620px); text-align: left; }
  .p-acilis[data-baslik="yan"] .p-ad { font-size: clamp(56px, 7.4vw, 128px); }
  /* cadde solda, villa sağda: başlık kadrajın yanındaki sütunda (konum ve genişlik proje.js hesap()); yerleşke üstte, kadrajın sol kenarıyla hizalı */
  .p-acilis[data-baslik="sol"] .p-acilis__baslik, .p-acilis[data-baslik="sag"] .p-acilis__baslik { right: auto; text-align: left; }
  .p-acilis[data-baslik="sol"] .p-ad, .p-acilis[data-baslik="sag"] .p-ad { font-size: clamp(48px, 5.6vw, 104px); }
  .p-acilis[data-baslik="sol"] .p-kisa, .p-acilis[data-baslik="sag"] .p-kisa { font-size: clamp(18px, 1.5vw, 23px); max-width: 26ch; }
  .p-acilis[data-sekil="ufuk"][data-baslik="ust"] .p-acilis__baslik { text-align: left; }
  .p-acilis[data-baslik="yan"] .p-etiketler, .p-acilis[data-baslik="sol"] .p-etiketler, .p-acilis[data-baslik="sag"] .p-etiketler, .p-acilis[data-sekil="ufuk"][data-baslik="ust"] .p-etiketler { justify-content: flex-start; }
  /* alçak ekranda (1280x720) üst başlık kısalır: kısa satır tek satıra yayılır, görsel büyür */
  @media (max-height: 800px) { .p-acilis[data-baslik="ust"] .p-acilis__baslik { top: 72px; } .p-acilis[data-baslik="ust"] .p-kisa { max-width: 60ch; } .p-acilis[data-baslik="ust"] .p-etiketler { margin-bottom: 10px; } }
  .p-acilis[data-baslik="yan"] .p-kisa, .p-acilis[data-baslik="sol"] .p-kisa, .p-acilis[data-baslik="sag"] .p-kisa, .p-acilis[data-sekil="ufuk"][data-baslik="ust"] .p-kisa { margin-left: 0; }
}
/* başlık bloğu: etiket satırı (durum, şehir, yapı tipi), ad, kısa satır. Ad ailenin kipiyle açılır (proje.js adCiz): 'gok' adı gökte gösterir (başlıkta yalnız ekran okuyucu metni),
   'taban' harfleri kendi taban çizgisinden, 'basamak' sözcükleri yukarıdan, 'silme' ve 'yarik' kırpımla açar; 'bol' ve 'iki' kule adını iki yana böler */
.p-acilis[data-ad] .p-acilis__baslik { display: flex; flex-direction: column; }
.p-acilis[data-ad] .p-etiketler { order: 1; }
.p-acilis[data-ad] .p-ad-kap { order: 2; }
.p-acilis[data-ad] .p-kisa { order: 3; margin-top: 14px; margin-bottom: 0; }
.p-acilis[data-ad="gok"] .p-ad { padding: 0; height: 0; overflow: hidden; }
.p-ad__g .w { display: inline-block; overflow: hidden; vertical-align: top; padding: 0 .03em .16em; margin: 0 -.03em -.16em; }
.p-ad__g .k, .p-ad__g .w-i { display: inline-block; will-change: transform; }
.p-ad__g .k--bos { width: .24em; }
.p-ad-kap { position: relative; -webkit-clip-path: inset(-60vh -60vw calc(100% - var(--kes, 9999px)) -60vw); clip-path: inset(-60vh -60vw calc(100% - var(--kes, 9999px)) -60vw); }
.p-acilis[data-ad] .p-ad { will-change: transform; padding-bottom: .06em; }
/* 'bol' kipi (kule ailesi, masaüstü): iki parça kadrajın iki yanında, kadraj kenarlarının arkasından yana çıkar; etiket ve kısa satır sol üstte */
.p-acilis[data-ad="bol"][data-baslik] .p-acilis__baslik { inset: 0; top: 0; bottom: 0; left: 0; right: 0; width: auto; text-align: left; pointer-events: none; display: block; }
.p-acilis[data-ad="bol"] .p-etiketler { position: absolute; top: 86px; left: var(--kenar); justify-content: flex-start; }
.p-acilis[data-ad="bol"] .p-kisa { position: absolute; top: 118px; left: var(--kenar); margin: 0; max-width: 26ch; text-align: left; }
.p-acilis[data-ad="bol"] .p-ad-kap { position: static; -webkit-clip-path: none; clip-path: none; }
.p-acilis[data-ad="bol"] .p-ad { font-size: inherit; padding: 0; }
.p-ad__kap { position: absolute; display: block; overflow: hidden; }
.p-ad__kap--1 { text-align: right; }
/* 'iki' (kule, telefon): iki satır, biri soldan biri sağdan, ekranın kenarlarının arkasından çıkar */
.p-acilis[data-ad="iki"] .p-ad__kap { position: relative; }
.p-acilis[data-ad="iki"] .p-ad__kap--1 { text-align: left; }
.p-acilis[data-ad="iki"] .p-ad__kap--2 { text-align: right; margin-top: -.08em; }
.p-ad__p { display: inline-block; white-space: nowrap; font-weight: 300; line-height: 1.12; letter-spacing: -.045em; color: var(--metin); will-change: transform; }

/* tanıtım: fotoğraf kendi sütununa küçülünce yanında açılır (yazı tek başına ekranda kalmaz) */
.p-tanitim { position: absolute; z-index: 1; display: flex; align-items: center; opacity: 0; visibility: hidden; pointer-events: none; }
/* yalın kip: ek metin sayfaları aynı sütunda üst üste durur, sırayla yükselir (proje.js tanitimCiz); yazı ölçüsü em ile bağlı, sütuna sığana dek küçülür */
.p-tanitim__ek { position: absolute; inset: 0; display: flex; align-items: center; font-size: clamp(17px, 1.5vw, 24px); }
.p-tanitim__ic { width: 100%; max-width: 31em; }
.p-tanitim__ek .bolum__etiket { font-size: .8em; margin-bottom: .8em; }
.p-tanitim__ek .bolum__baslik { font-size: 2.1em; }
.p-tanitim__ek .bolum__yazi { font-size: 1em; margin-top: .9em; }
.p-tanitim__ek .bolum__yazi + .bolum__yazi { margin-top: .6em; }
.p-tanitim__ek .bolum__yazi--on { font-size: 1.6em; margin-top: 0; max-width: 21em; }
.p-tanitim__yazi { margin: 0; max-width: 23em; font-size: clamp(23px, 2.05vw, 33px); line-height: 1.3; font-weight: 500; letter-spacing: -.018em; color: var(--metin); text-wrap: pretty; }
@media (max-width: 819px) { .p-tanitim { align-items: flex-start; } .p-tanitim__ek { align-items: flex-start; font-size: 16px; } .p-tanitim__ek .bolum__baslik { font-size: 1.75em; } .p-tanitim__ek .bolum__yazi--on { font-size: 1.22em; } .p-tanitim__yazi { font-size: 19px; line-height: 1.38; } }
@media (min-width: 600px) and (max-width: 819px) { .p-tanitim__yazi { font-size: 25px; line-height: 1.34; max-width: 26em; } }

/* ---------- bölümler: yerleşim sözlüğü; zemin görselin kenar tonundan; görselin kenarı zemine erir ---------- */
.p-bolumler:empty { display: none; }
.bolum { position: relative; background: var(--b-zemin, var(--p-sicak)); }
.bolum figure { margin: 0; }
.bolum__etiket { margin: 0 0 14px; font-size: 15px; color: var(--kahve); letter-spacing: -.005em; }
.bolum__baslik { margin: 0; font-weight: 500; font-size: clamp(34px, 4vw, 64px); line-height: 1.04; letter-spacing: -.032em; text-wrap: balance; color: var(--metin); }
.bolum__yazi { margin: 22px 0 0; max-width: 31em; font-size: clamp(18px, 1.3vw, 21px); line-height: 1.5; color: #3A3A3E; letter-spacing: -.008em; text-wrap: pretty; }
.bolum__yazi + .bolum__yazi { margin-top: 14px; }
.bolum__yazi--on { margin-top: 0; max-width: 21em; font-size: clamp(24px, 2.1vw, 34px); line-height: 1.28; font-weight: 500; letter-spacing: -.02em; color: var(--metin); }
.bolum__bant--tek { grid-template-columns: minmax(0, 1fr); }
.bolum__bant--tek > div { max-width: 46em; }
.bolum__gorsel, .bolum__bant-gorsel, .bolum__detay-kap { position: relative; overflow: hidden; }
.bolum__gorsel img, .bolum__bant-gorsel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.buyutulur { cursor: zoom-in; }
.buyutulur:focus-visible { outline: 3px solid var(--kahve); outline-offset: -6px; }
/* kenar sütunu: kenardan kenara fotoğraf ekrana sığar ve yapışık durur; dört kenarı galerilerle aynı payla zemine erir (uzun iç sis yok) */
.bolum--kenar .bolum__ic { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); min-height: var(--fit); align-items: start; }
.bolum--kenar.bolum--ters .bolum__ic { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
.bolum--kenar .bolum__gorsel { position: sticky; top: calc(var(--cubuk) + (100svh - var(--cubuk) - var(--fit)) / 2); height: var(--fit); } /* kenar dili css/proje-galeri.css */
.bolum--kenar.bolum--ters .bolum__gorsel { order: 2; }
.bolum--kenar .bolum__metin { align-self: center; padding: var(--bolum) var(--kenar) var(--bolum) clamp(24px, 3vw, 64px); }
.bolum--kenar.bolum--ters .bolum__metin { padding: var(--bolum) clamp(24px, 3vw, 64px) var(--bolum) var(--kenar); }
/* alt bant: geniş fotoğraf kenardan kenara ekrana sığar, kenarı bölüm zeminine erir; başlık ve metin altında, fotoğrafın üstüne binmez */
.bolum__bant-gorsel { height: min(var(--fit), 58vw); }
.bolum__bant { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 96px); padding: clamp(20px, 2.6vw, 40px) var(--kenar) var(--bolum); align-items: start; position: relative; }
.bolum__bant .bolum__yazi:first-child { margin-top: 6px; }
/* dikey etiket: bölüm adı görselin dış kenarında dikey; uzun görsel ekrana sığar, kenarı zemine erir */
.bolum--dikey .bolum__ic { display: grid; grid-template-columns: minmax(56px, 1fr) minmax(0, 5fr) minmax(0, 1fr) minmax(0, 5fr) minmax(0, 1fr); align-items: end; padding: var(--bolum) 0; }
.bolum--dikey.bolum--ters .bolum__ic { grid-template-columns: minmax(0, 1fr) minmax(0, 5fr) minmax(0, 1fr) minmax(0, 5fr) minmax(56px, 1fr); }
.bolum__dikey { grid-column: 1; justify-self: center; align-self: end; writing-mode: vertical-rl; transform: rotate(180deg); margin: 0; font-size: 15px; color: var(--kahve); }
.bolum--dikey.bolum--ters .bolum__dikey { grid-column: 5; }
.bolum--dikey .bolum__gorsel { grid-column: 2; height: var(--fit); }
.bolum--dikey.bolum--ters .bolum__gorsel { grid-column: 4; }
.bolum--dikey .bolum__metin { grid-column: 4; grid-row: 1; padding-bottom: 6vh; }
.bolum--dikey.bolum--ters .bolum__metin { grid-column: 2; }
/* detay kadrajı (Kurallar 32): bol boşluk, solda az ve büyük yazı, sağda yalnız bir cephe ayrıntısı; kadraj ortada keskin, kenarı zemine erir.
   Genişlik kaynağın gerçek pikselinden sınırlı (--detay-en, proje.js): kırpım büyütülerek bulanıklaşmaz */
.bolum--detay .bolum__ic { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 5fr); align-items: center; padding: clamp(48px, 6vw, 96px) var(--kenar) var(--bolum); }
.bolum--detay .bolum__metin { grid-column: 1; }
.bolum__detay { grid-column: 3; justify-self: end; width: min(100%, var(--detay-en, 100%)); }
.bolum__detay-kap { display: block; aspect-ratio: 4 / 5; max-height: var(--fit); margin-left: auto; }
.bolum__detay-kap img { position: absolute; left: var(--kx); top: var(--ky); width: var(--kw); height: var(--kh); max-width: none; object-fit: cover; }
.bolum__detay figcaption { margin-top: 12px; font-size: 14px; color: var(--gri-koyu); text-align: right; }
/* arka: bölümün adı gök ile bina arasından yükselir (ön katman, Kurallar 39c); görsel ekrana sığar, kenarı zemine erir; metin altında, fotoğrafın üstüne binmez */
.bolum--arka .bolum__ic { display: grid; grid-template-columns: minmax(0, 1fr); }
.bolum__arka { position: relative; overflow: hidden; width: 100%; height: min(var(--fit), calc(100vw / var(--oran, 1.5))); }
.bolum__arka > img, .arka__gok, .arka__on { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.arka__gok { z-index: 0; } .arka__soz { z-index: 1; } .arka__on { z-index: 2; }
.arka__soz { position: absolute; display: block; pointer-events: none; }
.arka__kes { display: block; height: 100%; -webkit-clip-path: inset(-40% -20% calc(100% - var(--kes, 9999px)) -20%); clip-path: inset(-40% -20% calc(100% - var(--kes, 9999px)) -20%); }
.arka__sozcuk { display: inline-block; font-weight: 300; line-height: .98; letter-spacing: -.045em; white-space: nowrap; will-change: transform; }
.arka__soz--koyu { color: var(--metin); } .arka__soz--acik { color: #fff; }
/* açık gökte (ufka yakın soluk mavi) beyaz sözcük kaybolmasın: çok yumuşak, geniş gölge */
.arka__soz--acik .arka__sozcuk { text-shadow: 0 2px 34px rgba(0, 32, 52, .3); }
.arka__soz[hidden] { display: none; }
/* görsel türü: kart ya da cam hap değil, metin sütununun sonunda düz altyazı (defter R102, R108) */
.arka__not { margin: 22px 0 0; font-size: 13px; color: var(--gri-koyu); }
.bolum--arka .bolum__metin { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 96px); padding: clamp(20px, 2.6vw, 40px) var(--kenar) var(--bolum); position: relative; z-index: 2; }
.bolum--arka .bolum__metin > :not(.bolum__baslik) { grid-column: 2; }
.bolum--arka .bolum__metin > .bolum__baslik { grid-column: 1; grid-row: 1 / span 4; }
.bolum--arka .bolum__metin > .bolum__yazi:first-of-type { margin-top: 6px; }
.bolum--arka-dik .bolum__ic { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); align-items: center; }
.bolum--arka-dik .bolum__arka { height: var(--fit); width: min(100%, calc(var(--fit) * var(--oran, .75))); justify-self: end; margin: clamp(24px, 4vw, 64px) 0; }
.bolum--arka-dik .bolum__metin { display: block; margin: 0; padding: var(--bolum) var(--kenar) var(--bolum) clamp(32px, 5vw, 96px); }
.bolum--arka-dik .bolum__metin > .bolum__baslik { margin-bottom: 8px; }

/* ---------- imza sahneleri: css/proje-galeri.css (tek kenar dili .erit orada) ---------- */

/* ---------- sahadan: Instagram videosu; dikey video ekrana sığar, kenarları galerilerle aynı payla zemine erir ---------- */
.sahadan { position: relative; background: var(--s-zemin, var(--p-sicak)); }
.sahadan__iz { position: relative; height: 150vh; height: 150svh; }
.sahadan__sahne { position: sticky; top: 0; height: 100vh; height: 100svh; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); align-items: center; gap: clamp(24px, 4vw, 72px); padding: var(--cubuk) var(--kenar) 0; }
.sahadan__metin { max-width: 36em; }
.sahadan__baslik { margin: 0; font-weight: 300; font-size: clamp(64px, 10vw, 176px); line-height: .92; letter-spacing: -.055em; color: var(--metin); }
.sahadan__alt { margin: 22px 0 0; max-width: 26em; font-size: clamp(18px, 1.35vw, 22px); line-height: 1.45; color: var(--gri-koyu); text-wrap: pretty; }
.sahadan__dugmeler { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin: 30px 0 0; }
.sahadan__dugmeler .ok-baglanti { min-height: 44px; display: inline-flex; align-items: center; }
.sahadan__kare { margin: 0; justify-self: center; position: relative; height: var(--fit); aspect-ratio: 9 / 16; max-width: 100%; }
/* video kaynağı 540x960: ekranda 620 px yüksekliği aşmaz (846 px'e gerilince yumuşıyordu; jüri) */
@media (min-width: 820px) { .sahadan__kare { height: min(var(--fit), 620px); } }
.sahadan__kap { position: absolute; inset: 0; overflow: hidden; } /* kenar dili css/proje-galeri.css */
.sahadan__kap video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* altyazı videonun altındaki nefes payında, zeminde düz yazı (cam hap yok); video gelince belirir */
.sahadan__kare figcaption { position: absolute; left: 50%; top: calc(100% + 8px); transform: translateX(-50%); z-index: 2; white-space: nowrap; font-size: 13px; color: var(--gri-koyu); }

/* ---------- şantiye: css/proje-galeri.css ---------- */

/* ---------- görsel dizileri (kat, ufuk, yayılım, teras): css/proje-galeri.css ---------- */

/* ---------- künye: teknik özellik bandı; büyük değerler Aeonik Light, rakamlar hane hane döner (odometre) ---------- */
.p-kunye { background: var(--k-zemin, var(--p-sicak)); padding: clamp(56px, 6vw, 96px) var(--kenar) clamp(40px, 4vw, 56px); }
.p-kunye__ic { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(36px, 5vw, 96px); align-items: start; }
.p-kunye--gorselli .p-kunye__ic { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.ozellik { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(29,29,31,.18); }
.ozellik__oge { padding: 22px 28px 30px; border-left: 1px solid rgba(29,29,31,.14); min-width: 0; }
.ozellik__oge:first-child, .ozellik__oge--ilk { border-left: 0; padding-left: 0; }
.p-kunye--sayili .ozellik__oge--sayi + .ozellik__oge:not(.ozellik__oge--sayi) { border-left: 0; padding-left: 0; }
.p-kunye--sayili .ozellik__oge:not(.ozellik__oge--sayi) { border-top: 1px solid rgba(29,29,31,.14); }
.p-kunye--gorselli:not(.p-kunye--sayili) .ozellik { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.p-kunye--gorselli:not(.p-kunye--sayili) .ozellik__oge:nth-child(3) { border-left: 0; padding-left: 0; border-top: 1px solid rgba(29,29,31,.14); }
.ozellik dt { font-size: 14px; color: var(--kahve); letter-spacing: -.005em; margin: 0 0 14px; }
.ozellik dd { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; column-gap: 8px; row-gap: 4px; }
.ozellik__deger { font-weight: 300; font-size: clamp(64px, 7.2vw, 124px); line-height: 1; letter-spacing: -.05em; font-variant-numeric: tabular-nums; color: var(--metin); display: inline-flex; }
.hane { display: inline-block; height: 1em; overflow: hidden; vertical-align: top; }
.hane__ist { display: flex; flex-direction: column; will-change: transform; }
.hane__ist span { display: block; height: 1em; line-height: 1em; }
.hane-ayrac { display: inline-block; line-height: 1em; }
.ozellik__birim { font-size: clamp(17px, 1.4vw, 22px); color: var(--gri-koyu); letter-spacing: -.01em; }
.ozellik__alt { flex-basis: 100%; margin-top: 10px; font-size: 15px; color: var(--gri-koyu); }
.ozellik__soz { font-weight: 300; font-size: clamp(30px, 3vw, 48px); line-height: 1.02; letter-spacing: -.035em; color: var(--metin); }
.p-kunye--sayili .ozellik { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.p-kunye--sayili .ozellik__oge--sayi { grid-column: span 2; }
.p-kunye--sayili .ozellik[data-sayi="1"] .ozellik__oge--sayi { grid-column: 1 / -1; }
.p-kunye--sayili .ozellik[data-sayi="2"] .ozellik__oge--sayi { grid-column: span 3; }
.p-kunye--sayili .ozellik__oge:not(.ozellik__oge--sayi) { grid-column: span 2; }
.p-kunye__gorsel { margin: 0; position: sticky; top: calc(var(--cubuk) + 24px); }
.p-kunye__gorsel[hidden] { display: none; }
.p-kunye__buyut { display: block; width: 100%; padding: 0; cursor: zoom-in; }
.p-kunye__kadraj { display: block; position: relative; aspect-ratio: 4 / 5; max-height: var(--fit); overflow: hidden; } /* dört kenar aynı payla erir (sert sağ kenar ve uzun üst tüy yok; css/proje-galeri.css) */
.p-kunye__kadraj img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.p-bilgi { margin-top: clamp(56px, 6vw, 96px); max-width: 640px; }
.p-bilgi__baslik { margin: 0; font-weight: 500; font-size: clamp(30px, 3.2vw, 50px); line-height: 1.06; letter-spacing: -.03em; text-wrap: balance; }
.p-bilgi__alt { margin: 16px 0 0; font-size: 18px; line-height: 1.45; color: var(--gri-koyu); max-width: 30em; }
.p-bilgi__dugmeler { display: flex; gap: 12px 18px; align-items: center; flex-wrap: wrap; margin: 28px 0 14px; }
.p-bilgi__dugmeler .ok-baglanti { min-height: 44px; }
.p-bilgi__saat { margin: 0; font-size: 14px; color: var(--gri-koyu); }
.p-kunye:not(.p-kunye--gorselli) .p-bilgi { max-width: none; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(28px, 5vw, 96px); }
.p-kunye:not(.p-kunye--gorselli) .p-bilgi__baslik { grid-row: 1 / span 3; }
.p-kunye:not(.p-kunye--gorselli) .p-bilgi__dugmeler { margin: 24px 0 12px; }

/* ---------- sıradaki proje: kenardan kenara bütün fotoğraf; kadraj ailenin biçiminde açılır; ad fotoğrafın alt kenarını keser ---------- */
.p-sonraki { background: var(--p-sicak); padding: clamp(20px, 2.5vw, 36px) 0 clamp(40px, 5vw, 72px); overflow: hidden; overflow: clip; } /* künyeden etikete 229 px boşluk kalıyordu (jüri): toplam ~80 px */
.p-sonraki__ust { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 var(--kenar) 22px; font-size: 15px; color: var(--kahve); }
.p-sonraki__ust > span:first-child { color: var(--metin); font-weight: 500; }
.p-sonraki__ust [data-sonraki-bilgi] { display: inline-flex; gap: 18px; }
.p-sonraki__a { --s-boy: clamp(40px, 10vw, 160px); position: relative; display: block; margin-bottom: calc(var(--s-boy) * .62); color: var(--metin); }
.p-sonraki__a:focus-visible { outline: 3px solid var(--kahve); outline-offset: 6px; border-radius: 4px; }
.p-sonraki__kare { --si: 0%; --sy: 0%; --sr: 0px; --ra: 0%; --rb: 0%; --sl: 0%; --sv: 135%; position: relative; z-index: 1; display: block; height: 80vh; height: 80svh; max-height: var(--fit); overflow: hidden; clip-path: inset(var(--sy) var(--si) var(--sy) var(--si) round var(--sr)); }
.p-sonraki[data-aile="rezidans"] .p-sonraki__kare { clip-path: inset(var(--sy) var(--si) 0 var(--si) round var(--ra) var(--ra) 0 0 / var(--rb) var(--rb) 0 0); }
.p-sonraki[data-aile="cadde"] .p-sonraki__kare { clip-path: inset(0 var(--sl) 0 0); }
.p-sonraki[data-aile="villa"] .p-sonraki__kare { clip-path: polygon(0 0, var(--sv) 0, calc(var(--sv) - 35%) 100%, 0 100%); }
.p-sonraki__kare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 70%; }
.p-sonraki__kare::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 42%; background: linear-gradient(0deg, rgba(22, 18, 14, .56) 0, rgba(22, 18, 14, .34) 22%, rgba(22, 18, 14, 0) 100%); pointer-events: none; } /* beyaz adın fotoğraftaki dilimi açık cephede de okunur (jüri 3: üst yarı zor okunuyordu) */
.p-sonraki__ad { position: absolute; z-index: 2; left: var(--kenar); bottom: calc(var(--s-boy) * -.58); /* fotoğrafın kenarı harflerin üst üçte birini keser: okumayı zemindeki mürekkep taşır */ margin: 0; font-weight: 300; font-size: var(--s-boy); line-height: .92; letter-spacing: -.05em; white-space: nowrap; pointer-events: none; }
.p-sonraki__ad--ic { color: #fff; }
.p-sonraki__ad--dis { z-index: 0; color: var(--metin); }
/* mürekkep: dışarıdaki ad soluk başlar, kaydırdıkça soldan sağa koyulaşır (rezidans ve cadde) */
.p-sonraki--murekkep .p-sonraki__ad--dis { --dolu: 125%; color: transparent; -webkit-text-fill-color: transparent; background: linear-gradient(90deg, var(--metin) 0, var(--metin) calc(var(--dolu) - 7%), rgba(29,29,31,.2) calc(var(--dolu) + 7%)); -webkit-background-clip: text; background-clip: text; }
.p-sonraki__kare img { transition: transform var(--t-sahne) var(--e-cikis); }
.p-sonraki__alt { margin: 26px var(--kenar) 0; display: flex; justify-content: flex-end; }
.p-sonraki__alt .ok-baglanti { min-height: 44px; }

/* ---------- ışık kutusu ---------- */
html.kutu-acik, html.kutu-acik body { overflow: hidden; }
.isik-kutu { position: fixed; inset: 0; z-index: 80; background: rgba(245, 244, 241, .97); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); display: grid; grid-template-columns: 72px minmax(0, 1fr) 72px; align-items: center; }
.isik-kutu[hidden] { display: none; }
.isik-kutu figure { margin: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto auto; justify-items: center; gap: 12px; height: 100vh; height: 100svh; padding: 64px 0 24px; }
.isik-kutu__kap { position: relative; min-height: 0; height: 100%; width: 100%; overflow: hidden; touch-action: pinch-zoom; }
.isik-kutu img { position: absolute; inset: 0; margin: auto; max-width: 100%; max-height: 100%; object-fit: contain; -webkit-user-drag: none; user-select: none; }
.isik-kutu figcaption { color: var(--gri-koyu); }
.isik-kutu__ilerleme { width: min(220px, 50vw); height: 2px; background: rgba(29,29,31,.12); border-radius: 2px; overflow: hidden; }
.isik-kutu__ilerleme i { display: block; height: 100%; background: var(--metin); transform-origin: 0 50%; transition: transform var(--t-hizli) var(--e-cikis); }
.isik-kutu__kapat { position: absolute; z-index: 2; top: 10px; right: 12px; width: 44px; height: 44px; border-radius: 50%; background: rgba(29,29,31,.08); }
.isik-kutu__kapat:focus-visible, .isik-kutu__ok:focus-visible { outline: 2px solid var(--metin); outline-offset: 2px; }
.isik-kutu__kapat::before, .isik-kutu__kapat::after { content: ""; position: absolute; left: 14px; top: 21px; width: 16px; height: 1.8px; background: var(--metin); transform: rotate(45deg); }
.isik-kutu__kapat::after { transform: rotate(-45deg); }
.isik-kutu__ok { width: 44px; height: 44px; border-radius: 50%; background: rgba(29,29,31,.08); justify-self: center; position: relative; }
.isik-kutu__ok::before { content: ""; position: absolute; left: 17px; top: 16px; width: 10px; height: 10px; border-top: 1.8px solid var(--metin); border-right: 1.8px solid var(--metin); transform: rotate(45deg); }
.isik-kutu__ok--geri::before { left: 19px; transform: rotate(-135deg); }

/* ---------- telefon menüsü (proje sayfası): menü bağlantıları ---------- */
@media (max-width: 820px) {
  .sayfa-proje .mobil-menu { padding-top: 64px; }
  .sayfa-proje .mobil-menu > a:not(.mobil-menu__kucuk) { font-size: 28px; padding: 2px 0; min-height: 44px; display: flex; align-items: center; }
  .sayfa-proje .mobil-menu__proje { margin: 14px 0 0; padding-top: 12px; }
  .sayfa-proje .mobil-menu .mobil-menu__kucuk { font-size: 19px; padding: 4px 0; min-height: 40px; }
}

/* ---------- telefonda Ara / WhatsApp çubuğu: gölge yok, ince çizgi (siluet.css'teki gölgeyi proje sayfasında kapatır) ---------- */
@media (max-width: 820px) { .sayfa-proje .eylem-cubugu { box-shadow: none; border: 1px solid var(--cizgi); background: rgba(255,255,255,.92); } }

/* ---------- yoğunluk tavanı (proje.js boyutla): ekran görselin tavanından genişse kenardan kenara görsel ortada kalır, yanları zemine erir ---------- */
.p-sonraki__kare.tavanli { -webkit-mask-image: none !important; mask-image: none !important; }
/* ---------- renk dengesi: süzgeç yok; aykırı görsellerin dengelenmiş eşi dosya olarak kullanılır (img/ton, data/imza.js IMZA.ton; jüri 3 #8) ---------- */

/* ---------- kırılımlar ---------- */
@media (max-width: 819px) {
  .sayfa-proje .menu__proje .menu__yerel, .sayfa-proje .menu__bilgi { display: none; }
  .sayfa-proje .menu__ic { grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; }
  .sayfa-proje .menu__proje { justify-content: center; min-width: 0; }
  .sayfa-proje .menu__ad { font-size: 15px; overflow: hidden; text-overflow: ellipsis; }
  .p-acilis { height: 300vh; height: var(--ac-h-m, 320svh); }
  .p-acilis__baslik { top: 70px; left: 20px; right: 20px; }
  .p-ad { font-size: clamp(36px, 10.4vw, 52px); }
  .p-etiketler { margin-bottom: 12px; font-size: 14px; }
  .p-kisa { margin-top: 12px; font-size: 17px; }
  .p-acilis[data-ad] .p-kisa { margin-top: 10px; margin-bottom: 0; }
  /* telefonda başlık üstte; rezidans ortalı, diğer aileler sola yaslı */
  .p-acilis:not([data-sekil="kemer"]) .p-acilis__baslik { text-align: left; }
  .p-acilis:not([data-sekil="kemer"]) .p-etiketler { justify-content: flex-start; }
  .p-acilis:not([data-sekil="kemer"]) .p-kisa { margin-left: 0; }
  .p-acilis[data-ad="iki"] .p-ad { font-size: clamp(40px, 12.4vw, 60px); }
  .bolum--kenar .bolum__ic, .bolum--kenar.bolum--ters .bolum__ic { grid-template-columns: 1fr; min-height: 0; }
  .bolum--kenar .bolum__gorsel, .bolum--kenar.bolum--ters .bolum__gorsel { order: 0; position: relative; top: auto; height: min(84vw, var(--fit)); }
  .bolum--kenar .bolum__metin, .bolum--kenar.bolum--ters .bolum__metin { padding: 12px 20px 64px; }
  .bolum__bant-gorsel { height: min(62svh, 72vw); }
  .bolum__bant { grid-template-columns: 1fr; gap: 6px; padding: 16px 20px 64px; }
  .bolum--dikey .bolum__ic, .bolum--dikey.bolum--ters .bolum__ic { grid-template-columns: 1fr; padding: 32px 0 64px; }
  .bolum__dikey, .bolum--dikey.bolum--ters .bolum__dikey { grid-column: 1; justify-self: start; writing-mode: horizontal-tb; transform: none; padding: 0 20px 12px; }
  .bolum--dikey .bolum__gorsel, .bolum--dikey.bolum--ters .bolum__gorsel { grid-column: 1; height: min(var(--fit), 120vw); }
  .bolum--dikey .bolum__metin, .bolum--dikey.bolum--ters .bolum__metin { grid-column: 1; grid-row: auto; padding: 20px 20px 0; }
  .bolum--detay .bolum__ic { grid-template-columns: 1fr; min-height: 0; padding: 56px 20px 64px; row-gap: 28px; }
  .bolum--detay .bolum__metin, .bolum__detay { grid-column: 1; }
  .bolum__detay { justify-self: stretch; }
  .bolum__detay-kap { max-height: 64svh; }
  .bolum__baslik { font-size: clamp(30px, 8.4vw, 40px); }
  .bolum__yazi { font-size: 18px; }
  .bolum--arka .bolum__metin, .bolum--arka-dik .bolum__metin { display: block; padding: 16px 20px 64px; }
  .bolum--arka .bolum__metin > .bolum__baslik { margin-bottom: 4px; }
  .bolum--arka-dik .bolum__ic { grid-template-columns: 1fr; }
  .bolum--arka-dik .bolum__arka { justify-self: center; margin: 24px 0 0; width: min(100%, calc(var(--fit) * var(--oran, .75))); height: auto; aspect-ratio: var(--oran, .75); max-height: var(--fit); }
  .sahadan__iz { height: auto; }
  .sahadan__sahne { position: relative; height: auto; grid-template-columns: 1fr; padding: 72px 20px 80px; gap: 28px; }
  .sahadan__kare { height: min(var(--fit), 140vw); }
  .sahadan__baslik { font-size: clamp(60px, 17vw, 88px); }
  /* imza, şantiye ve görsel dizilerinin telefon kuralları css/proje-galeri.css'te */
  .p-kunye { padding: 64px 20px 48px; }
  .p-kunye--gorselli .p-kunye__ic { grid-template-columns: minmax(0, 1fr); }
  .p-kunye__gorsel { position: relative; top: auto; order: -1; }
  .p-kunye__kadraj { aspect-ratio: 16 / 11; }
  .p-kunye--sayili .ozellik { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .p-kunye--sayili .ozellik__oge--sayi, .p-kunye--sayili .ozellik[data-sayi="2"] .ozellik__oge--sayi { grid-column: span 1; }
  .p-kunye--sayili .ozellik[data-sayi="1"] .ozellik__oge--sayi, .p-kunye--sayili .ozellik__oge--sayi:first-child:nth-last-child(odd) { grid-column: 1 / -1; }
  .p-kunye--sayili .ozellik__oge:not(.ozellik__oge--sayi) { grid-column: span 1; }
  .ozellik, .p-kunye--gorselli:not(.p-kunye--sayili) .ozellik { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ozellik { border-top: 0; }
  .ozellik .ozellik__oge, .p-kunye--sayili .ozellik .ozellik__oge { padding: 16px 14px 20px 0; border-left: 0; border-top: 1px solid rgba(29,29,31,.16); }
  .ozellik__deger { font-size: clamp(54px, 15vw, 72px); }
  .ozellik__soz { font-size: 26px; }
  .p-kunye:not(.p-kunye--gorselli) .p-bilgi { display: block; }
  .p-sonraki { padding: 28px 0 32px; }
  .p-sonraki__ust { margin: 0 20px 16px; }
  .p-sonraki__kare { height: 64svh; }
  .p-sonraki__ad { left: 20px; }
  .p-sonraki__alt { margin: 18px 20px 0; justify-content: flex-start; }
}
@media (max-width: 640px) {
  .isik-kutu { grid-template-columns: minmax(0, 1fr); }
  .isik-kutu figure { padding: 60px 8px 88px; }
  .isik-kutu__ok { position: absolute; bottom: 22px; }
  .isik-kutu__ok--geri { left: 22px; }
  .isik-kutu__ok--ileri { right: 22px; }
}

/* ---------- hareket azaltma: sahneler son hâlinde, akışta ---------- */
html.az-hareket .p-acilis { height: auto; }
html.az-hareket .p-acilis__sahne { position: relative; }
html.az-hareket .p-acilis__sahne { height: auto; min-height: 100svh; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 5vw; row-gap: 28px; align-content: center; padding: 96px var(--kenar) 40px; perspective: none; }
html.az-hareket .p-acilis__dunya { display: contents; }
html.az-hareket .p-acilis__baslik { position: relative; inset: auto; width: auto !important; grid-column: 1; grid-row: 1; align-self: end; text-align: left; }
html.az-hareket .p-acilis__baslik .p-etiketler { justify-content: flex-start; }
html.az-hareket .p-acilis__baslik .p-kisa { margin-left: 0; }
html.az-hareket .p-acilis__kubbe { position: relative; inset: auto; grid-column: 2; grid-row: 1 / span 2; height: min(var(--fit), 760px); overflow: hidden; -webkit-mask-image: none !important; mask-image: none !important; }
html.az-hareket .p-acilis[data-sutun="sol"] .p-acilis__kubbe { grid-column: 1; -webkit-mask-image: none !important; mask-image: none !important; }
html.az-hareket .p-acilis[data-sutun="sol"] .p-acilis__baslik, html.az-hareket .p-acilis[data-sutun="sol"] .p-tanitim { grid-column: 2; }
html.az-hareket .p-acilis__kutu > .p-acilis__foto { inset: 0; width: 100%; height: 100%; object-fit: cover; transform: none; opacity: 1; }
html.az-hareket .p-acilis__gok, html.az-hareket .p-acilis__on, html.az-hareket .p-acilis__video, html.az-hareket .p-acilis__bantlar, html.az-hareket .p-acilis__ufuk { display: none; }
html.az-hareket .p-tanitim { position: relative; grid-column: 1; grid-row: 2; align-self: start; opacity: 1; visibility: visible; }
html.az-hareket .p-acilis__etiket { opacity: 1; }
html.az-hareket .bolum--kenar .bolum__gorsel { position: relative; top: auto; }
@media (max-width: 819px) {
  html.az-hareket .p-acilis__sahne { grid-template-columns: minmax(0, 1fr); padding: 72px 20px 32px; row-gap: 20px; }
  html.az-hareket .p-acilis__baslik, html.az-hareket .p-tanitim, html.az-hareket .p-acilis__kubbe, html.az-hareket .p-acilis[data-sutun] .p-acilis__kubbe, html.az-hareket .p-acilis[data-sutun="sol"] .p-acilis__baslik, html.az-hareket .p-acilis[data-sutun="sol"] .p-tanitim { grid-column: 1; grid-row: auto; }
  html.az-hareket .p-acilis__kubbe { height: auto; aspect-ratio: 4 / 5; max-height: var(--fit); -webkit-mask-image: none !important; mask-image: none !important; }
}
