/* ---------- 3D sahneler (CSS preserve-3d) ---------- */
.scene3d{position:relative;width:100%;height:220px;overflow:visible;perspective:1000px;background:radial-gradient(circle at 50% 38%,#3b2128,#16101a 62%,#0c090c);isolation:isolate}
.stage3d{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg)) scale(var(--s,1));transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.stage3d>*{transform-style:preserve-3d}

.c3{position:absolute;left:50%;top:50%;width:var(--w);height:var(--h);margin-left:calc(var(--w) / -2);margin-top:calc(var(--h) / -2);transform:translate3d(var(--x),var(--y),var(--z)) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) rotateZ(var(--rz,0deg));transform-style:preserve-3d}
.c3-in{position:absolute;inset:0;transform-style:preserve-3d;animation:bob 6s ease-in-out infinite;animation-delay:var(--d,0s)}
.c3-in::before{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(90deg,#d9cfbd,#f1e9dc);transform:translateZ(-9px)}
.face{position:absolute;inset:0;border-radius:16px;border:5px solid #fff7ec;background:linear-gradient(165deg,var(--c1),var(--c2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.4),inset 0 -14px 26px rgba(0,0,0,.28),0 26px 40px rgba(0,0,0,.5);overflow:hidden;backface-visibility:hidden}
.face:after{content:'';position:absolute;inset:0;background:linear-gradient(118deg,rgba(255,255,255,.38) 0%,rgba(255,255,255,0) 38%,rgba(255,255,255,0) 70%,rgba(255,255,255,.12) 100%);pointer-events:none}
.face .ov{position:absolute;left:50%;top:50%;width:64%;height:70%;border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg);background:radial-gradient(circle at 40% 32%,#ffffff,#e4d9c6);box-shadow:inset 0 -8px 14px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.25)}
.face .cn{position:absolute;inset:0;display:grid;place-items:center;font:400 calc(var(--h) * .27)/1 var(--display,Impact),Arial Black,sans-serif;color:var(--c1);text-shadow:0 3px 0 #1a1210,0 0 16px rgba(0,0,0,.25);z-index:2;letter-spacing:-.02em}
.face .cc{position:absolute;left:12px;top:10px;font:400 calc(var(--h) * .085)/1 var(--display,Impact),Arial Black,sans-serif;color:#fff;z-index:2;text-shadow:0 2px 0 rgba(0,0,0,.35)}

.t3{position:absolute;left:50%;top:50%;width:var(--tw,380px);height:var(--tw,380px);margin:calc(var(--tw,380px) / -2) 0 0 calc(var(--tw,380px) / -2);border-radius:50%;transform:translateZ(-30px) rotateX(64deg);background:radial-gradient(circle at 50% 42%,#3a2a33,#1d151c 64%,#120d13);box-shadow:0 0 0 14px #2b1f27,0 0 0 16px rgba(255,255,255,.07),0 40px 70px rgba(0,0,0,.6),inset 0 0 60px rgba(0,0,0,.5);transform-style:preserve-3d}
.t3:before{content:'';position:absolute;inset:14%;border-radius:50%;border:2px dashed rgba(255,211,45,.3)}
.t3 i{position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#3a2f36,#120d13);box-shadow:0 0 0 4px var(--col,#ef3340),0 6px 10px rgba(0,0,0,.5);transform:translate(var(--sx),var(--sy))}

.ring3{position:absolute;left:50%;top:50%;width:300px;height:300px;margin:-150px 0 0 -150px;border-radius:50%;border:4px solid rgba(255,211,45,.55);box-shadow:0 0 40px rgba(255,211,45,.5),inset 0 0 40px rgba(255,211,45,.25);transform:rotateX(72deg) translateZ(-40px);animation:spin3 14s linear infinite}
.glow3{position:absolute;left:50%;top:50%;width:460px;height:460px;margin:-230px 0 0 -230px;border-radius:50%;background:radial-gradient(circle,rgba(255,211,45,.45),rgba(239,51,64,.2) 35%,transparent 65%);transform:translateZ(-60px)}
.wheel3{position:absolute;left:50%;top:50%;width:170px;height:170px;margin:-85px 0 0 -85px;border-radius:50%;background:conic-gradient(#ef3340 0 25%,#ffd32d 0 50%,#38d982 0 75%,#4a8dff 0);border:6px solid #fff7ec;box-shadow:0 20px 40px rgba(0,0,0,.5),inset 0 0 0 4px rgba(0,0,0,.15);transform:translateZ(-10px) rotateX(64deg);animation:spin3 9s linear infinite}
.wheel3:after{content:'';position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#fff7ec;box-shadow:0 0 0 6px #1a1210}
.slab3{position:absolute;left:50%;top:50%;width:300px;height:96px;margin:-48px 0 0 -150px;border-radius:14px;background:linear-gradient(160deg,#241b21,#130f13);border:2px solid #ffd32d;box-shadow:0 0 30px rgba(255,211,45,.25),0 30px 50px rgba(0,0,0,.6);transform:translateZ(70px) rotateX(-10deg);display:grid;place-items:center;font:700 40px/1 'JetBrains Mono',Courier,monospace;letter-spacing:.18em;color:#ffd32d;text-shadow:0 0 14px rgba(255,211,45,.5)}
.cf{position:absolute;left:50%;top:50%;width:10px;height:16px;border-radius:3px;background:var(--cc);transform:translate3d(var(--cx),var(--cy),var(--cz)) rotate(var(--cr,20deg));opacity:.9;animation:bob 4s ease-in-out infinite;animation-delay:var(--d,0s)}

.bar3{position:absolute;left:50%;top:calc(50% + 70px - var(--bh));width:56px;height:var(--bh);margin-left:calc(var(--bx) - 28px);transform-style:preserve-3d;transform:rotateY(-26deg)}
.bar3 .bf{position:absolute;inset:0;border-radius:10px 10px 4px 4px;border:3px solid #fff7ec;background:linear-gradient(180deg,var(--c1),var(--c2));box-shadow:inset 0 -18px 24px rgba(0,0,0,.25),0 20px 30px rgba(0,0,0,.45)}
.bar3 .bs{position:absolute;left:0;top:0;width:30px;height:100%;background:linear-gradient(90deg,var(--c2),#0e0b0e);transform-origin:left;transform:translateX(56px) rotateY(90deg)}

@keyframes bob{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-10px,0)}}
@keyframes spin3{to{transform:rotateX(72deg) rotateZ(360deg)}}
.wheel3{animation:spinw 9s linear infinite}
@keyframes spinw{to{transform:translateZ(-10px) rotateX(64deg) rotateZ(360deg)}}

.shot-card .scene3d,.media-hero .scene3d{height:220px}
.media-hero .shot-card.large .scene3d{height:340px}
.media-hero .stage3d{--s:1.3}
.mini-shot .scene3d{position:absolute;inset:0;height:auto}
.mini-shot .stage3d{--s:.72}
.video-frame .scene3d{position:absolute;inset:0;height:auto}
.video-frame .stage3d{--s:1.05}
.hero-cinema .scene3d{position:absolute;inset:0;height:auto;perspective:1400px}
.hero-cinema .stage3d{--s:1.25}
.hero-cinema .cinema-grid{z-index:0}

@media(prefers-reduced-motion:reduce){.c3-in,.cf,.ring3,.wheel3{animation:none!important}}

/* ölçek ve konum düzeltmeleri */
.face .cn{font-size:calc(var(--h) * var(--fsr,.22))}
.face .cc{font-size:calc(var(--h) * .075)}
.shot-card .scene3d{height:240px}
.shot-card .stage3d{--s:.6;top:-16px}
.media-hero .stage3d{--s:.86;top:-14px}
.media-hero .shot-card.large .scene3d{height:340px}
.mini-shot .stage3d{--s:.5;top:-10px}
.video-frame .stage3d{--s:.72;top:-14px}
.hero-cinema .stage3d{--s:.9;top:-6px}
.hero-cinema .c3[style*="--w:170px"]{}
.shot-card .scene3d{height:272px}
.shot-card .stage3d{--s:.5;top:-34px}
.shot-overlay{background:linear-gradient(180deg,transparent 40%,rgba(10,8,10,.95) 68%)!important}
@media(max-width:700px){
  .hero-cinema .stage3d{--s:.62;top:-10px}
  .shot-card .stage3d{--s:.46}
}
