/* ContraCORE ana sayfa · kilitli hareket prototipinden birebir taşındı.
   Ortak token ve bileşenler: sistem.css. Bu dosya yalnız sahne ve ana sayfa bölümleri. */
/* ── Sahne ── */
.scene .ln { padding: .1em 0 .16em; margin: -.1em 0 -.08em; }
.scene .hero-copy .ln { padding: 0 0 .08em; margin: 0; }
.scene { position: relative; min-height: calc(100vh + 44px); min-height: calc(100lvh + 44px); }
.stage { position: relative; height: 100vh; height: 100lvh; overflow: hidden; background: var(--ink); }
.world { position: absolute; inset: 0; perspective: 1900px; perspective-origin: 50% 40%;
  /* Açılış: JavaScript beklemeden ilk boyamada başlar (LCP erken gelir, görünüm aynı) */
  animation: cc-acilis 1.7s cubic-bezier(.22,.72,.12,1) both; }
@keyframes cc-acilis { from { opacity: 0; transform: scale(1.1); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .world { animation: none; } }

/* Hero yazısının açılışı da ilk boyamada başlar; JavaScript beklemez.
   Süreler prototiple aynı: satırlar 0,4 sn'de maskeden yükselir, açıklama ve düğme 0,85 sn'de gelir. */
.hero-copy .ln > span { animation: cc-satir .95s cubic-bezier(.16,1,.3,1) .22s both; }
.hero-copy h1 .ln:nth-child(2) > span { animation-delay: .32s; }
.hero-sub { animation: cc-belir .66s cubic-bezier(.22,.72,.12,1) .5s both; }
.hero-copy .pill { animation: cc-belir .66s cubic-bezier(.22,.72,.12,1) .58s both; }
.nav { animation: cc-belir .6s cubic-bezier(.22,.72,.12,1) .1s both; }
.acilis-bitti .hero-copy .ln > span, .acilis-bitti .hero-sub, .acilis-bitti .hero-copy .pill, .acilis-bitti .nav { animation: none; }
@keyframes cc-satir { from { transform: translateY(110%); } to { transform: none; } }
@keyframes cc-belir { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .hero-copy .ln > span, .hero-sub, .hero-copy .pill, .nav { animation: none; }
}
/* Alan derinliği: bulanıklık görsele işlenmiş küçük kopyadan gelir, CSS filtresi yok */
.world-blur { z-index: 1; -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 22%, transparent 58%); mask-image: linear-gradient(180deg, #000 0%, #000 22%, transparent 58%); pointer-events: none; }
#world { z-index: 0; }
.wipe-edge { position: absolute; top: 0; left: 0; width: 360px; height: 1850px; margin-left: -180px; background: linear-gradient(90deg, rgba(5,9,24,0), rgba(5,9,24,.95) 50%, rgba(5,9,24,0)); opacity: 0; visibility: hidden; pointer-events: none; }
.plane { position: absolute; left: 0; top: 0; width: 2560px; height: 1850px; transform-origin: 50% 50%; will-change: transform; border-radius: 22px; overflow: hidden; background: #0b1120; }
.shot { position: absolute; left: 0; top: 0; width: 2560px; height: auto; max-width: none; }
#planeB .shot { height: 1850px; }
/* Lacivert fotoğraf tonu: tonlanmış kopya, scroll ile saydamlaşır */
.tone-img { opacity: .999; }
/* Maske geçişi: kırpma kutusu ve içindeki görsel ters yönde kayar (yeniden çizim yok) */
.mu-wrap { position: absolute; left: 0; top: 0; width: 2560px; height: 1440px; overflow: hidden; transform: translateX(-2560px); }
.mu-wrap .shot { transform: translateX(2560px); } /* kırpma kutusuyla eşit ve ters yönde kayar */
.grade { position: absolute; inset: 0; z-index: 3; pointer-events: none;
  background:
    radial-gradient(60% 42% at 50% 47%, rgba(5,9,24,.86) 0%, rgba(5,9,24,.55) 55%, rgba(5,9,24,0) 100%),
    linear-gradient(180deg, rgba(5,9,24,.92) 0%, rgba(5,9,24,.15) 26%, rgba(5,9,24,.25) 70%, var(--ink) 100%),
    linear-gradient(90deg, rgba(5,9,24,.55) 0%, rgba(5,9,24,0) 30%, rgba(5,9,24,0) 70%, rgba(5,9,24,.55) 100%); }

/* Işık: görselin tamamını örten karartma; hedef bölgede delik bırakılır (clip-path, JS manifestten kurar) */
.dim { position: absolute; inset: 0; background: rgba(5,9,24,.66); opacity: 0; visibility: hidden; pointer-events: none; }
.dim.light { background: rgba(243,245,248,.62); }
/* Hedef noktası: ekran görüntüsünün kendi koordinatında, görünmez; çerçeve bunun ölçüsünü okur */
.hedef { position: absolute; visibility: hidden; pointer-events: none; }

/* Sahne 1: ortalanmış kurumsal başlık */
.hero-copy { position: absolute; z-index: 5; left: 50%; top: 50%; width: min(92vw, 1100px); transform: translate(-50%, -52%); text-align: center; }
.hero-copy h1 { font-family: var(--serif); font-weight: 400; font-size: clamp(54px, 6.8vw, 106px); line-height: .96; letter-spacing: -.035em; text-wrap: balance; }
.hero-copy h1 em { font-style: normal; }
.hero-sub { margin-top: 26px; font-size: clamp(17px, 1.4vw, 21px); color: var(--muted-d); letter-spacing: -.005em; }
/* Açılış düğmesi: ortak ailenin birincili (sistem.css .dg .dg-ana); burada yalnız sahnedeki yeri */
.pill { margin-top: 38px; }

/* Sahne 2: sol kolon veri anlatımı */
.side-veil { position: absolute; inset: 0; z-index: 4; pointer-events: none; background: linear-gradient(90deg, var(--ink) 0%, var(--ink) 34%, rgba(5,9,24,.88) 40%, rgba(5,9,24,.45) 46%, rgba(5,9,24,0) 53%); opacity: 0; visibility: hidden; }
.side { position: absolute; z-index: 5; left: var(--gutter); top: 50%; width: min(40vw, 620px); transform: translateY(-50%); visibility: hidden; }
.label { font-size: 18px; font-weight: 500; letter-spacing: -.01em; }
.side .label { color: var(--gold); }
.side .val { margin-top: 22px; white-space: nowrap; font-weight: 400; font-size: clamp(44px, 4.8vw, 84px); line-height: 1; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.side .val.cumle { white-space: normal; font-size: clamp(40px, 3.9vw, 72px); line-height: 1; }
.txt { margin-top: 22px; max-width: 30ch; font-size: 19px; line-height: 1.45; color: var(--muted-d); }

/* Sahne 3: açık zirve. Köşe yuvarlaması boyanan radius yerine iki küçük köşe parçası */
.sheet { position: absolute; z-index: 20; inset: 0; background: var(--mist); color: var(--navy); overflow: hidden; will-change: transform; }
.cap { position: absolute; z-index: 30; top: 0; width: 40px; height: 40px; pointer-events: none; }
.cap.l { left: 0; background: radial-gradient(circle at 100% 100%, transparent 39.5px, var(--ink) 40px); }
.cap.r { right: 0; background: radial-gradient(circle at 0 100%, transparent 39.5px, var(--ink) 40px); }
.kt-world { position: absolute; inset: 0; }
.kt-plane { position: absolute; left: 0; top: 0; width: 2560px; height: 1440px; transform-origin: 50% 50%; will-change: transform; border-radius: 18px; overflow: hidden; background: #f5f7fa; box-shadow: 0 0 0 1px rgba(10,16,36,.08); }
.kt-veil { position: absolute; inset: 0; z-index: 4; pointer-events: none; background: linear-gradient(90deg, var(--mist) 0%, var(--mist) 34%, rgba(243,245,248,.9) 40%, rgba(243,245,248,.5) 46%, rgba(243,245,248,0) 53%); opacity: 0; visibility: hidden; }
.kt-title { position: absolute; z-index: 5; left: 0; right: 0; top: calc(var(--nav-h) + 1vh); text-align: center; font-family: var(--serif); font-weight: 400; font-size: clamp(56px, 6.2vw, 112px); line-height: .96; letter-spacing: -.04em; visibility: hidden; }
.kt-side { position: absolute; z-index: 6; left: var(--gutter); top: 50%; width: min(34vw, 480px); transform: translateY(-50%); visibility: hidden; }
.kt-side .label { color: var(--muted-l); }
.big { margin-top: 10px; font-weight: 400; font-size: clamp(140px, 17vw, 260px); line-height: .82; letter-spacing: -.07em; font-variant-numeric: tabular-nums; }
.big.red { color: var(--red); }
.kt-side .txt { color: var(--muted-l); }

/* Sahne 4: İade Süreç Takibi. Açık sahnenin ortasından koyu kadraj açılır */
.id-scene { position: absolute; z-index: 30; inset: 0; visibility: hidden; pointer-events: none; }
.id-scene > * { pointer-events: auto; }
.id-clip { position: absolute; inset: 0; overflow: hidden; background: var(--ink); transform-origin: 50% 50%; will-change: transform; }
.id-inner { position: absolute; inset: 0; transform-origin: 50% 50%; will-change: transform; }
.id-world { position: absolute; inset: 0; perspective: 1900px; perspective-origin: 50% 40%; }
.id-plane { position: absolute; left: 0; top: 0; width: 2560px; height: 1440px; transform-origin: 50% 50%; will-change: transform; border-radius: 22px; overflow: hidden; background: #0b1120; }
.id-grade { position: absolute; inset: 0; pointer-events: none; opacity: 0; visibility: hidden;
  background:
    radial-gradient(58% 40% at 50% 50%, rgba(5,9,24,.88) 0%, rgba(5,9,24,.6) 55%, rgba(5,9,24,0) 100%),
    linear-gradient(180deg, rgba(5,9,24,.9) 0%, rgba(5,9,24,.2) 28%, rgba(5,9,24,.3) 70%, var(--ink) 100%); }
.id-veil { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--ink) 0%, var(--ink) 34%, rgba(5,9,24,.88) 40%, rgba(5,9,24,.45) 46%, rgba(5,9,24,0) 53%); opacity: 0; visibility: hidden; }
.id-veil-b { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(5,9,24,.65) 0%, rgba(5,9,24,.3) 38%, rgba(5,9,24,0) 60%), linear-gradient(0deg, var(--ink) 0%, rgba(5,9,24,.9) 26%, rgba(5,9,24,.35) 46%, rgba(5,9,24,0) 62%); opacity: 0; visibility: hidden; }
.id-title { position: absolute; z-index: 2; left: var(--gutter); bottom: 11vh; font-family: var(--serif); font-weight: 400; font-size: clamp(52px, 5.5vw, 105px); line-height: .98; letter-spacing: -.036em; visibility: hidden; }
.id-side { z-index: 2; }
.id-end { position: absolute; z-index: 2; left: 50%; top: 50%; width: min(92vw, 1100px); transform: translate(-50%, -52%); text-align: center; visibility: hidden; }
.id-end h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(54px, 6.8vw, 106px); line-height: .96; letter-spacing: -.035em; }

/* Rehber: sayfanın tek çerçevesi (assets/js/rehber.js). Üst barın altında, her şeyin üstünde kalır.
   Konum transform ile, boyut/köşe/renk her karede JS'ten gelir; gölge ve parıltı yok. */
.rehber { position: fixed; z-index: 45; left: 0; top: 0; width: 10px; height: 10px; box-sizing: border-box;
  border: 2px solid var(--gold); border-radius: 14px; opacity: 0; pointer-events: none; will-change: transform, width, height; contain: layout style; }

/* Hareket azaltma: sahneler arası kısa örtü */
.rm-cover { position: absolute; z-index: 40; inset: 0; background: var(--ink); opacity: 0; visibility: hidden; pointer-events: none; }


/* ── Telefon: metin üstte, ürün alt yarıda kadraj ── */
@media (max-width: 767px) {

  .hero-copy { width: calc(100vw - 2 * var(--gutter)); transform: translate(-50%, -50%); }
  .hero-copy h1 { font-size: clamp(42px, 12.4vw, 60px); line-height: .96; }
  .hero-sub { margin: 18px auto 0; max-width: 30ch; font-size: 16px; }
  .pill { margin-top: 28px; }

  .side, .kt-side { top: calc(var(--nav-h) + 2.6vh); width: calc(100vw - 2 * var(--gutter)); transform: none; }
  .label { font-size: 15px; }
  .side .val { margin-top: 14px; font-size: clamp(32px, 10.4vw, 46px); }
  .txt { margin-top: 14px; font-size: 16px; max-width: 34ch; }
  .big { margin-top: 6px; font-size: clamp(96px, 29vw, 132px); }
  .side-veil, .id-veil { background: linear-gradient(180deg, var(--ink) 0%, rgba(5,9,24,.95) 36%, rgba(5,9,24,.55) 46%, rgba(5,9,24,0) 56%); }
  .kt-veil { background: linear-gradient(180deg, var(--mist) 0%, var(--mist) 38%, rgba(243,245,248,.8) 46%, rgba(243,245,248,0) 56%); }
  .kt-title { top: 15vh; font-size: clamp(50px, 15vw, 72px); padding: 0 var(--gutter); }
  .id-title { bottom: 12vh; font-size: clamp(44px, 13vw, 62px); padding-right: var(--gutter); }
  .id-end { width: calc(100vw - 2 * var(--gutter)); transform: translate(-50%, -50%); }
  .id-end h2 { font-size: clamp(42px, 12.4vw, 60px); line-height: .96; }
  .after { padding: 12vh var(--gutter); }
}

/* ── Sahne sonrası bölümler: tek sistem ──────────────────────────────────
   Ton değişimi her yerde aynı dille olur: yeni ton, yuvarlak köşeli bir katman olarak öncekinin üstüne biner
   (hikâyedeki açık sayfanın yükselmesiyle aynı). Aynı tondaki bölümler birleşik akar, bant oluşmaz.
   Koyu → açık (01) → koyu (02, 03) → açık (04, 05) → koyu alt bilgi. */
.ana-bolum { position: relative; }
.ana-bolum .baslik { font-size: clamp(46px, 5vw, 84px); line-height: .98; letter-spacing: -.036em; }
.ana-bolum .no { margin-bottom: 24px; }
.ana-bolum .lede { margin-top: 26px; font-size: clamp(17px, 1.2vw, 20px); line-height: 1.55; max-width: 46ch; }

/* 01 · Modüller */
.moduller { background: var(--mist); color: var(--navy); border-radius: 42px 42px 0 0; margin-top: -42px; z-index: 21; }
.mod-duzen { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 120px); align-items: start; }
.mod-sol { position: sticky; top: calc(var(--nav-h) + 40px); }
.mod-sol .dg { margin-top: 36px; }
.mod-satirlar { list-style: none; margin: 0; padding: 0; }
.mod-satirlar li + li { border-top: 1px solid var(--line-l); }
.mod-satir { display: grid; grid-template-columns: 52px minmax(0, 1fr) 44px; align-items: center; gap: 20px; min-height: 104px; margin: 3px 0; padding: 20px 22px 20px 24px; border-radius: 18px; transition: background .35s var(--ease); }
.mod-no { font-family: var(--mono); font-size: 13px; letter-spacing: .08em; color: var(--muted-l); }
.mod-ad { display: block; font-size: clamp(21px, 1.5vw, 25px); font-weight: 500; line-height: 1.2; letter-spacing: -.02em; color: var(--navy); }
.mod-acik { display: block; margin-top: 6px; font-size: 16px; line-height: 1.45; color: var(--muted-l); }
.mod-ok { position: relative; width: 44px; height: 44px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--line-l); transition: background .3s, box-shadow .3s; }
.mod-ok::before { content: ""; position: absolute; left: 15px; top: 21.2px; width: 14px; height: 1.6px; background: var(--navy); }
.mod-ok::after { content: ""; position: absolute; left: 21px; top: 17.5px; width: 7px; height: 7px; border-top: 1.6px solid var(--navy); border-right: 1.6px solid var(--navy); transform: rotate(45deg); }
.mod-satir.aktif, .mod-satir:hover { background: #fff; }
.mod-satir:hover .mod-ok { background: var(--gold); box-shadow: none; }

/* 02 · Tarayıcı eklentisi: bölüm kaydırıldıkça sahne sabit kalır, sağdaki gerçek ekran üç işi sırayla gösterir */
.eklenti { background: var(--ink); color: var(--white); border-radius: 42px 42px 0 0; margin-top: -42px; z-index: 22; }
.ek-iz { position: relative; height: 300vh; }
.ek-sahne { position: sticky; top: 0; height: 100vh; display: flex; align-items: center; }
.ek-duzen { display: grid; grid-template-columns: minmax(0, 4.2fr) minmax(0, 7.8fr); gap: clamp(40px, 5vw, 96px); align-items: center; padding-top: calc(var(--nav-h) * .55); }
.ek-sol .baslik { font-size: clamp(38px, 3.3vw, 64px); }
.ek-isler { list-style: none; margin: 36px 0 0; padding: 0; }
.ek-is { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 18px 0; border-top: 1px solid var(--line-d); color: rgba(255, 255, 255, .6); transition: color .45s var(--ease); }
.ek-is:last-child { border-bottom: 1px solid var(--line-d); }
.ek-is.aktif { color: var(--white); }
.ek-no { padding-top: 6px; font-family: var(--mono); font-size: 13px; letter-spacing: .06em; color: var(--gold); }
.ek-is h3 { font-size: clamp(20px, 1.4vw, 24px); font-weight: 500; letter-spacing: -.02em; line-height: 1.2; }
.ek-is p { margin-top: 6px; max-width: 46ch; font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, .56); transition: color .45s var(--ease); }
.ek-is.aktif p { color: rgba(255, 255, 255, .74); }
.ek-dahil { margin-top: 26px; font-size: 16px; color: var(--muted-d); }
.ek-dahil a { margin-left: 8px; color: var(--white); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.ek-sag { margin: 0; }
.ek-kadraj { position: relative; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 22px; background: #0b1120; box-shadow: 0 0 0 1px var(--line-d), 0 60px 120px -70px rgba(0, 0, 0, .95); }
.ek-plan { position: absolute; left: 0; top: 0; width: 2560px; height: 1440px; transform-origin: 0 0; will-change: transform, opacity; }
.ek-plan[data-ekran="id"] { opacity: 0; }
.ek-plan .shot { position: absolute; left: 0; top: 0; width: 2560px; height: auto; max-width: none; }

/* 03 · Lisans */
.lisans { background: var(--ink); color: var(--white); z-index: 22; padding-top: clamp(48px, 8vh, 110px); }
.lis-duzen { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 580px); gap: clamp(40px, 6vw, 120px); align-items: center; }
.lis-kart { padding: clamp(32px, 3vw, 52px); border-radius: 28px; background: var(--ink-2); box-shadow: inset 0 0 0 1px var(--line-d); }
.lis-etiket { font-family: var(--mono); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .72); }
.lis-fiyat { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-top: 18px; }
.lis-tutar { font-family: var(--helv); font-size: clamp(60px, 4.7vw, 90px); line-height: 1; letter-spacing: -.045em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lis-birim { font-size: 20px; color: var(--muted-d); }
.lis-kdv { margin-top: 10px; font-size: 15px; color: var(--muted-d); }
.lis-liste { list-style: none; margin: 30px 0 34px; padding: 0; border-top: 1px solid var(--line-d); }
.lis-liste li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line-d); font-size: 17px; }
.lis-liste li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); flex: none; }

/* 04 · Bilgi Merkezi */
.bilgi { background: var(--mist); color: var(--navy); border-radius: 42px 42px 0 0; margin-top: -42px; z-index: 23; }
.bm-ust { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(30px, 4vw, 70px); align-items: end; margin-bottom: clamp(44px, 6vh, 72px); }
.bm-ust-sag .lede { margin-top: 0; }
.bm-ust-sag .dg { margin-top: 26px; }
.bm-kartlar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.5vw, 28px); }
.bm-kart { display: flex; flex-direction: column; gap: 14px; min-height: clamp(280px, 32vh, 360px); padding: clamp(28px, 2.3vw, 40px); border-radius: 24px; background: #fff; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.bm-kart:hover { transform: translateY(-3px); box-shadow: 0 30px 60px -44px rgba(10, 16, 36, .45); }
.bm-tur { font-family: var(--mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #8a6412; }
.bm-kart h3 { margin-top: 6px; font-size: clamp(22px, 1.6vw, 28px); font-weight: 500; line-height: 1.15; letter-spacing: -.025em; }
.bm-kart p { font-size: 16px; line-height: 1.5; color: var(--muted-l); }
.bm-oku { margin-top: auto; padding-top: 10px; font-size: 16px; font-weight: 500; }
.bm-oku span { color: var(--gold); }

/* 05 · Başlangıç: kutu yok; çerçeveyi rehber çizer */
.kapanis { background: var(--mist); color: var(--navy); z-index: 23; padding-top: 0; padding-bottom: clamp(150px, 24vh, 260px); }
.ka-panel { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(30px, 5vw, 100px); align-items: end; padding: clamp(44px, 5vw, 80px) 0 clamp(10px, 2vw, 30px); border-top: 1px solid var(--line-l); }
.ka-sol .baslik { font-size: clamp(50px, 5.6vw, 100px); }
.ka-sag .metin { max-width: 40ch; }
.ka-dugmeler { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }

/* Alt bilgi: açık bölümün üstüne aynı katman diliyle biner */
.alt-ana { position: relative; z-index: 24; margin-top: -42px; border-top: 0; border-radius: 42px 42px 0 0; }

/* Üst bar: hikâyeden sonra hafif buzlu zemin (yalnız görünen temada, hikâye sırasında yok) */
.nav.sahne-sonra:not(.acik-tema)::before, .nav.sahne-sonra.acik-tema::after {
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }

/* Alçak masaüstü ekranı (1366×768 vb.): eklenti sahnesi tek ekrana sığsın */
@media (min-width: 901px) and (max-height: 860px) {
  .ek-is:not(.aktif) p { display: none; }
  .ek-is { padding: 14px 0; }
  .ek-isler { margin-top: 26px; }
  .ek-duzen { padding-top: calc(var(--nav-h) * .7); }
}
@media (max-width: 900px) {
  .mod-duzen, .ek-duzen, .lis-duzen, .bm-ust, .bm-kartlar, .ka-panel { grid-template-columns: minmax(0, 1fr); }
  .mod-sol { position: static; }
  .mod-satirlar { margin-top: 10px; }
  .mod-satir { grid-template-columns: 36px minmax(0, 1fr); min-height: 0; padding: 18px 14px; }
  .mod-ok { display: none; }
  .ek-iz { height: 320vh; }
  .ek-sahne { align-items: flex-start; }
  .ek-duzen { gap: 22px; padding-top: calc(var(--nav-h) + 8px); }
  .ek-sol .baslik { font-size: clamp(32px, 9vw, 44px); }
  .ek-isler { margin-top: 18px; }
  .ek-is { padding: 12px 0; }
  .ek-is:not(.aktif) p { display: none; }
  .ek-dahil { display: none; }
  .ek-kadraj { aspect-ratio: 4 / 3; }
  .ek-sag figcaption { display: none; }
  .bm-kart { min-height: 0; }
}
