/* =========================================================
   Oda — bütün sayfanın arkasındaki tek, kesintisiz sisli zemin
   İşlerimiz'deki galeri odası sayfanın tamamına yayıldı: sabit katman (.room),
   bölümler şeffaf, içerik üstünden akar. Işık ve kâğıt kırıntıları: assets/js/room.js.
   Buradaki gradyan, WebGL yoksa (ya da hareket azaltılmışsa) görünen durağan hali.
   ========================================================= */

:root {
  --room-0: #fcfcfc;
  --room-1: #f1f1f2;
  --room-2: #e2e2e5;
  --room-3: #cfcfd4;
  --room-shade: rgba(46, 42, 64, .16);
}

body { background: var(--room-1); }

.room {
  position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none;
  background:
    radial-gradient(58% 34% at 50% 106%, var(--room-shade), transparent 72%),
    radial-gradient(34% 90% at -6% 50%, var(--room-shade), transparent 70%),
    radial-gradient(34% 90% at 106% 50%, var(--room-shade), transparent 70%),
    radial-gradient(78% 66% at 50% 38%, var(--room-0) 0%, var(--room-1) 52%, var(--room-2) 84%, var(--room-3) 100%);
}
.room__gl { position: absolute; inset: 0; display: block; width: 100%; height: 100%; opacity: 0; }
.room.is-live .room__gl { opacity: 1; } /* ilk kare çizilmeden opak tuval siyah görünmesin */

/* Film greni: tam çözünürlükte CSS'te (tuval düşük çözünürlükte çizilir) */
.room::after {
  content: ""; position: absolute; inset: -60px; opacity: .11; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .11 0 0 0 0 .1 0 0 0 0 .16 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation: room-grain .9s steps(6) infinite;
}
@keyframes room-grain {
  0% { transform: translate(0, 0); }
  20% { transform: translate(-22px, 14px); }
  40% { transform: translate(18px, -26px); }
  60% { transform: translate(-12px, -8px); }
  80% { transform: translate(26px, 20px); }
  100% { transform: translate(0, 0); }
}

/* Bölüm zeminleri odaya bırakılır: ek yeri yok */
.section--alt,
.footer { background: transparent; }

/* Hero: pastel akış üstte kalır, alt kenarda sise erir (düz beyaz geçiş yerine) */
.hero { background: transparent; }
.hero::after { display: none; }
.hero__flow[data-flow="base"] {
  -webkit-mask-image: linear-gradient(180deg, #000 52%, rgba(0, 0, 0, .55) 76%, transparent 100%);
  mask-image: linear-gradient(180deg, #000 52%, rgba(0, 0, 0, .55) 76%, transparent 100%);
}

@media (prefers-reduced-motion: reduce) {
  .room::after { animation: none; }
}
