/* Scoped to the production section. Existing site layout and media stay intact. */
.production-camera { position:relative; background:#0b0e0d; padding:90px var(--page-gutter) 54px; border-block:1px solid #2b332e; overflow:hidden; scroll-margin-top:90px; }
.production-camera .camera-layout { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.7fr); align-items:center; max-width:1600px; margin:auto; gap:24px; }
.production-camera .camera-intro { position:relative; z-index:1; }
.production-camera .camera-kicker { font-size:10px; letter-spacing:.18em; color:#d6f373; margin:0 0 24px; text-transform:uppercase; }
.production-camera h2 { font-size:clamp(68px,6.3vw,100px); line-height:.94; margin:0 0 28px; }
.production-camera .camera-copy { max-width:300px; font-size:15px; line-height:1.75; color:#aeb9b0; }
.production-camera .camera-instruction { display:flex; align-items:center; gap:13px; max-width:295px; margin-top:38px; color:#e4e9dc; font-size:12px; line-height:1.6; }
.production-camera .camera-instruction span:first-child { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border:1px solid #62705c; border-radius:50%; color:#d6f373; font-size:23px; }
.production-camera .camera-study { min-width:0; }
.production-camera .camera-stage { position:relative; height:clamp(380px,41vw,620px); background:radial-gradient(ellipse at 49% 48%,#29342d88,transparent 67%); isolation:isolate; }
.production-camera .camera-stage::after { content:''; position:absolute; left:22%; right:16%; height:17px; bottom:11%; border-radius:50%; background:#0009; filter:blur(12px); z-index:-1; }
.production-camera canvas { width:100%; height:100%; display:block; cursor:grab; touch-action:pan-y; -webkit-user-select:none; user-select:none; }
.production-camera canvas.is-dragging { cursor:grabbing; }
.production-camera canvas:focus-visible { outline:2px solid #d6f373; outline-offset:-4px; border-radius:8px; }
.production-camera .camera-fallback { width:100%; height:100%; object-fit:contain; }
.production-camera .camera-stage-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; font-size:10px; color:#9faea2; letter-spacing:.09em; text-transform:uppercase; padding-inline:16px; min-height:35px; }
.production-camera .camera-stage-meta output { color:#d6f373; text-align:right; line-height:1.5; max-width:75%; }
.production-camera .camera-controls { display:flex; align-items:center; gap:14px; padding:18px 0 4px; }
.production-camera .camera-rotation { flex:1; min-width:70px; }
.production-camera .camera-rotation label { display:block; font-size:10px; color:#b2beb3; margin-bottom:7px; }
.production-camera input[type=range] { width:100%; height:28px; min-height:28px; padding:0; accent-color:#d6f373; cursor:ew-resize; background:transparent; border:0; }
.production-camera .camera-controls button { padding:12px 16px; min-height:46px; border:1px solid #53604f; background:transparent; color:#e4e9dc; font:inherit; font-size:12px; white-space:nowrap; border-radius:0; transition:background .2s,color .2s; }
.production-camera .camera-controls button:hover { background:#d6f373; color:#0b0e0d; border-color:#d6f373; }
.production-camera :is(button,input):focus-visible { outline:2px solid #d6f373; outline-offset:4px; }
.production-camera .service-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding:42px 0 0; margin:32px auto 0; max-width:1600px; }
.production-camera .service-list a { border-top:1px solid #3c483d; border-bottom:0; padding:20px 0 5px; font-size:clamp(16px,1.65vw,24px); gap:12px; align-items:center; min-height:52px; }
.production-camera .service-list .arrow { color:#d6f373; font-size:20px; }
.production-camera [hidden] { display:none!important; }
@media(max-width:1023px){ .production-camera .camera-layout{grid-template-columns:minmax(200px,.75fr) minmax(0,1.4fr);gap:12px;} .production-camera h2{font-size:70px;} .production-camera .camera-stage{height:430px;} .production-camera .camera-controls{flex-wrap:wrap;gap:10px;} .production-camera .camera-rotation{flex-basis:100%;} }
@media(max-width:767px){ .production-camera{padding:55px var(--page-gutter) 36px;} .production-camera .camera-layout{grid-template-columns:1fr;gap:14px;} .production-camera h2{font-size:64px;margin-bottom:18px;} .production-camera .camera-copy{max-width:440px;} .production-camera .camera-instruction{margin-top:22px;max-width:none;} .production-camera .camera-stage{height:clamp(285px,82vw,490px);margin-inline:-12px;} .production-camera .camera-stage-meta{padding-inline:0;} .production-camera .camera-controls{padding-top:15px;} .production-camera .camera-controls button{flex:1;} .production-camera .service-list{grid-template-columns:1fr 1fr;gap:14px 22px;margin-top:22px;padding-top:18px;} .production-camera .service-list a{font-size:17px;line-height:1.25;} }
@media(prefers-reduced-motion:reduce){ .production-camera *{transition:none!important;} }

/* V07: same section layout, original animated model. */
.production-camera .camera-stage {touch-action:pan-y;outline:0;cursor:grab;}
.production-camera .camera-stage:active {cursor:grabbing;}
.production-camera .camera-stage:focus-visible {outline:2px solid #d6f373;outline-offset:4px;}
.production-camera .camera-stage canvas {position:absolute;inset:0;}
.production-camera .camera-loading {position:absolute;bottom:18px;left:16px;right:16px;padding:12px 16px;background:#0b0e0de8;color:#e4e9dc;font-size:14px;line-height:1.5;}
.production-camera .camera-controls {gap:12px;}
.production-camera .camera-controls button {font-size:14px;}
.production-camera .camera-rotation label {font-size:14px;}
.production-camera .camera-stage-meta {font-size:12px;letter-spacing:.03em;}
.production-camera .camera-kicker {font-size:12px;}
.production-camera .camera-copy {font-size:16px;}
.production-camera .camera-instruction {font-size:14px;}
.production-camera .camera-retry {margin:10px 16px;min-height:44px;border:1px solid #d6f373;background:transparent;color:#d6f373;padding:8px 18px;}
@media(max-width:767px){.production-camera .camera-stage{height:clamp(300px,90vw,490px)}.production-camera h2{font-size:clamp(48px,13vw,64px)}}
