/* ---------- DOSYA 03 · olay yeri (Three.js) ---------- */
.scene { position: relative; background: #100b07; color: #f3e6cf; }
.scene__pin { position: relative; height: 100vh; min-height: 520px; overflow: hidden; isolation: isolate; }
.scene__gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; opacity: 0; transition: opacity 1.2s var(--ease-out); }
.scene--ready .scene__gl { opacity: 1; }
/* komşu bölümlere yumuşak geçiş + köşelerde karanlık */
.scene__pin::after {
  content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(#100b07, transparent 16%, transparent 84%, #100b07),
    radial-gradient(ellipse 85% 75% at 55% 55%, transparent 55%, rgba(8, 5, 3, .7));
}
body:not(.has-cursor) .scene__pin.is-pick { cursor: pointer; }
/* sahnede imlecin halkası büyütecin üstünü kapatmasın, nokta kalsın */
body.in-scene3d .cursor__ring { opacity: 0; transition: opacity .2s; }

.scene__copy { position: absolute; left: var(--pad); top: clamp(84px, 13vh, 150px); z-index: 2; pointer-events: none; width: min(92vw, 640px); }
.scene__label { color: #f3e6cf; opacity: .72; }
.scene__title {
  margin-top: 14px; font-family: var(--display); font-weight: 900; text-transform: uppercase;
  font-size: clamp(28px, 4.2vw, 74px); line-height: .9; letter-spacing: -.045em; color: #f3e6cf;
  text-shadow: 0 6px 40px rgba(0, 0, 0, .65); max-width: 12ch;
}

.scene__tip {
  position: absolute; left: 50%; bottom: clamp(22px, 6vh, 56px); z-index: 2; pointer-events: none;
  max-width: calc(100% - 2 * var(--pad)); padding: 11px 18px; border-radius: 99px; white-space: nowrap;
  background: rgba(12, 9, 6, .84); color: #f3e6cf; border: 1px solid rgba(243, 230, 207, .16);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; transform: translate(-50%, 14px); transition: opacity .3s, transform .45s var(--ease-out);
}
.scene__tip.is-on { opacity: 1; transform: translate(-50%, 0); }
.scene__tip span { color: #ffcf8a; font-weight: 600; }

@media (max-width: 760px) {
  .scene__copy { top: 76px; max-width: calc(100% - 2 * var(--pad)); }
  .scene__title { font-size: clamp(28px, 9vw, 44px); }
  .scene__tip { bottom: 72px; white-space: normal; text-align: center; width: max-content; }
}

/* WebGL yoksa: masaya atılmış üç polaroid */
.scene__fb { display: none; }
.scene--fallback .scene__gl { display: none; }
.scene--fallback .scene__fb {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 2vw; padding: 18vh var(--pad) 8vh;
  background: radial-gradient(ellipse at 45% 55%, #3b2415, #100b07 70%);
}
.scene__pol { margin: 0; width: min(26vw, 300px); padding: 10px 10px 0; background: #f3efe6; transform: rotate(var(--r, 0deg)); box-shadow: 0 24px 40px rgba(0, 0, 0, .5), 0 2px 4px rgba(0, 0, 0, .3); }
.scene__pol img { width: 100%; aspect-ratio: 1.6; object-fit: cover; }
.scene__pol figcaption { font: 700 clamp(20px, 2vw, 30px) 'Caveat', cursive; color: #1d1a16; text-align: center; padding: 6px 0 10px; }
@media (max-width: 760px) {
  .scene--fallback .scene__fb { flex-direction: column; gap: 0; padding-top: 22vh; }
  .scene__pol { width: 58vw; margin-top: -8vh; }
  .scene__pol:first-child { margin-top: 0; }
}
