/* Swarm prototype. Cinematic canvas, restrained controls, scoped to the hero. */
.hero #drone-scene{position:absolute;inset:0;z-index:0;outline:none;pointer-events:none}
#drone-scene canvas{display:block;width:100%;height:100%}
.hero.exploring #drone-scene{pointer-events:auto}
.hero:is(.has-3d,.scene-loading) .hero-media{visibility:hidden}
.hero:is(.has-3d,.scene-loading)::before{z-index:1;pointer-events:none;background:linear-gradient(180deg,#00000005 35%,#03050418 65%,#030504dc 100%)}
.hero:is(.has-3d,.scene-loading)::after{z-index:2;height:6%;pointer-events:none}
.hero .scene-toolbar{position:absolute;top:100px;left:34px;right:34px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#e3e8dd;pointer-events:none}
.scene-toolbar>span{font:10px/1.5 ui-monospace,monospace;letter-spacing:.18em;text-shadow:0 1px 8px #000;padding:7px 0}
.scene-toolbar>button{pointer-events:auto;border:1px solid #ffffff35;background:#0c141780;color:inherit;border-radius:20px;padding:10px 16px;font:10px ui-monospace,monospace;cursor:pointer;backdrop-filter:blur(12px)}
.hero:is(.has-3d,.scene-loading) .hero-content{position:absolute;left:34px;top:24%;margin:0;width:310px;height:auto;min-height:0;display:block;padding:0;z-index:3;pointer-events:none}
.hero:is(.has-3d,.scene-loading) .hero-content h1{font-size:clamp(30px,3.2vw,48px);line-height:1.07;max-width:300px;text-shadow:0 2px 18px #0008}
.hero:is(.has-3d,.scene-loading) .hero-lead{font-size:12px;line-height:1.65;max-width:240px;color:#e9e9e0c9}
.hero:is(.has-3d,.scene-loading) .hero-card,.hero:is(.has-3d,.scene-loading) .hero-actions{display:none}
.hero.exploring .hero-content{opacity:0;transition:opacity .25s}
.hero .flight-telemetry{position:absolute;z-index:4;right:34px;top:24%;width:174px;color:#e9ecdf;font:10px/1.6 ui-monospace,monospace;text-shadow:0 1px 9px #000;pointer-events:none}
.telemetry-caption{font-size:8px;letter-spacing:.14em;opacity:.65}.flight-telemetry strong{display:block;font-size:20px;font-weight:400;letter-spacing:.14em;margin:10px 0}
.flight-telemetry dl{margin:12px 0}.flight-telemetry dl div{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff18;padding:8px 0;gap:10px}.flight-telemetry dt{opacity:.65}.flight-telemetry dd{margin:0;font-variant-numeric:tabular-nums}.flight-telemetry>[data-flight-state]{color:#bdcda2}
.hero .swarm-dock{position:absolute;z-index:6;bottom:35px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 16px;max-width:calc(100% - 32px);border:1px solid #ffffff20;border-radius:12px;background:#0c1116c9;backdrop-filter:blur(20px);color:#f0f1e8;box-shadow:0 14px 40px #0004}
.swarm-dock>div{display:flex;gap:2px;white-space:nowrap}.swarm-dock>div+div{border-left:1px solid #ffffff25;padding-left:12px}.swarm-dock button{border:0;color:#cbd1c8;background:transparent;font:10px/1.4 ui-monospace,monospace;padding:9px 10px;border-radius:5px;cursor:pointer}.swarm-dock button:hover{background:#ffffff13}.swarm-dock button[aria-pressed=true]{background:#bed0a0;color:#18221e}
.swarm-dock button:focus-visible,.scene-toolbar button:focus-visible,.pilot-pad button:focus-visible{outline:2px solid #d3e9b3;outline-offset:3px}
.speed-control{display:grid;grid-template-columns:1fr auto;min-width:115px;gap:5px 12px;font:9px ui-monospace,monospace}.speed-control span{color:#acb4a8}.speed-control input{grid-column:1/-1;grid-row:2;width:115px;height:12px;accent-color:#bdcda2}.speed-control output{font-variant-numeric:tabular-nums}
.hero .scene-help{position:absolute;bottom:112px;left:50%;transform:translateX(-50%);z-index:5;color:#e4e9df;max-width:80%;margin:0;padding:8px 13px;border-radius:6px;background:#0b1217b3;font:10px/1.5 ui-monospace,monospace;text-align:center;opacity:0;pointer-events:none}
.hero.exploring .scene-help{opacity:1}.hero.exploring #drone-scene canvas{cursor:grab}.hero.exploring #drone-scene canvas:active{cursor:grabbing}
.pilot-pad{display:none;position:absolute;z-index:7;left:24px;bottom:156px;gap:5px;grid-template-columns:repeat(4,36px)}.hero.piloting .pilot-pad{display:grid}.pilot-pad button{border:1px solid #fff3;color:#edf2e8;background:#0c151bcc;border-radius:7px;width:36px;height:36px;cursor:pointer;touch-action:none;font:16px sans-serif}.pilot-pad button:active{background:#697c51}
.hero:not(.has-3d) .swarm-dock,.hero:not(.has-3d) .flight-telemetry{display:none}
@media(max-width:900px){.hero .swarm-dock{flex-wrap:wrap;width:600px;gap:6px}.speed-control{min-width:110px}.hero .scene-help{bottom:143px}.hero:is(.has-3d,.scene-loading) .hero-content{width:230px}.hero:is(.has-3d,.scene-loading) .hero-content h1{font-size:35px}}
@media(max-width:600px){.hero .scene-toolbar{left:18px;right:18px;top:88px}.scene-toolbar>span{font-size:8px;letter-spacing:.1em}.scene-toolbar>button{padding:8px 10px;font-size:9px}.hero:is(.has-3d,.scene-loading) .hero-content{left:18px;top:22%;width:180px}.hero:is(.has-3d,.scene-loading) .hero-content h1{font-size:30px}.hero:is(.has-3d,.scene-loading) .hero-lead{font-size:10px;max-width:158px}.hero .flight-telemetry{right:18px;top:22%;width:115px;font-size:9px}.telemetry-caption{font-size:7px}.hero .swarm-dock{bottom:16px;width:calc(100% - 24px);max-width:unset;padding:9px 8px;gap:6px}.swarm-dock button{font-size:9px;padding:8px}.swarm-dock>div+div{padding-left:5px}.swarm-dock .pilot-controls{border-left:0}.speed-control{min-width:100px;font-size:8px}.speed-control input{width:100px}.hero .scene-help{bottom:151px;font-size:9px;max-width:94%;width:330px}.pilot-pad{left:16px;bottom:218px;grid-template-columns:repeat(4,32px)}.pilot-pad button{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.hero.exploring .hero-content{transition:none}}

.hero .flight-telemetry strong{color:#edf0e8}.hero .flight-telemetry{background:linear-gradient(90deg,transparent,#10161188);padding:14px 12px;border-radius:10px}.scene-toolbar>span{background:#10161170;border:1px solid #ffffff20;border-radius:20px;padding:8px 13px;backdrop-filter:blur(10px)}

body.scene-exploring{overflow:hidden}.hero.exploring{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;z-index:40}
body.scene-exploring .nav{z-index:60}

.hero .waypoint-readout{position:absolute;z-index:6;bottom:161px;left:50%;transform:translateX(-50%);padding:9px 14px;margin:0;max-width:85%;border:1px solid #c8d9a533;border-radius:6px;background:#0c1419cf;color:#deebc5;font:10px/1.6 ui-monospace,monospace;text-align:center;pointer-events:none}
.hero .waypoint-readout[hidden]{display:none}.hero.setting-waypoint #drone-scene canvas{cursor:crosshair}.hero.setting-waypoint .pilot-pad{display:none}
@media(max-width:900px){.hero .swarm-dock{flex-wrap:wrap}.hero .waypoint-readout{bottom:188px}.hero .scene-help{bottom:137px}}
@media(max-width:600px){.hero .waypoint-readout{bottom:209px;width:90%;max-width:90%;font-size:9px}.hero .scene-help{bottom:163px}.hero .pilot-pad{bottom:273px}.swarm-dock .pilot-controls{flex-wrap:wrap;justify-content:center}.hero .swarm-dock{gap:5px}}

/* Revision 4: cinematic first; hidden controls cannot receive focus. */
.hero:not(.exploring) .swarm-dock,.hero:not(.exploring) .scene-help,.hero:not(.exploring) .waypoint-readout,.hero:not(.exploring) .pilot-pad{display:none}
.hero.exploring .swarm-dock{width:min(1050px,calc(100% - 32px));flex-wrap:wrap}
.hero.exploring .scene-help{bottom:165px}
.hero.exploring .waypoint-readout{bottom:212px}
.hero.exploring .pilot-pad{bottom:258px}
@media(max-width:600px){.hero.exploring .swarm-dock{width:calc(100% - 24px);max-height:32dvh;overflow:auto}.hero.exploring .scene-help{bottom:205px;font-size:8px}.hero.exploring .waypoint-readout{bottom:254px}.hero.exploring .pilot-pad{bottom:305px}.swarm-dock .formation-selector{border-left:0;padding-left:0}.hero.exploring .flight-telemetry{top:140px}}

/* Editorial frame: instrumentation left, camera choices right, identity below. */
.hero:is(.has-3d,.scene-loading)::before{background:linear-gradient(180deg,#00000010 12%,transparent 35%,#0305040d 58%,#030504e8 100%)}
.hero:is(.has-3d,.scene-loading) .hero-content{left:34px;right:34px;top:auto;bottom:52px;width:auto;max-width:none}
.hero:is(.has-3d,.scene-loading) .hero-content>div:first-child{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:clamp(30px,6vw,100px);align-items:end;width:100%}
.hero:is(.has-3d,.scene-loading) .hero-content h1{font-size:clamp(38px,4.9vw,78px);line-height:1.03;letter-spacing:-.055em;max-width:800px;margin:0;text-wrap:balance;text-shadow:0 2px 24px #0005}
.hero:is(.has-3d,.scene-loading) .hero-lead{font-size:clamp(12px,1.05vw,16px);line-height:1.65;max-width:410px;margin:0 0 4px;color:#f0f0e5ce;text-shadow:0 2px 12px #0008}
.hero .flight-telemetry{left:34px;right:auto;top:185px;width:190px;padding:18px 16px;background:linear-gradient(115deg,#101611b3,#1016114d);border:1px solid #ffffff16;border-radius:10px}
.hero .flight-telemetry strong{font-size:21px;margin:10px 0 14px;letter-spacing:.12em}
.separation-readout{display:block;margin-top:7px;color:#c2d4d8;font-size:9px;letter-spacing:.015em}
.scene-camera-rail{position:absolute;z-index:5;right:34px;top:185px;width:116px;color:#e9ecdf;padding:15px 11px;border:1px solid #ffffff1c;border-radius:10px;background:#10161166;backdrop-filter:blur(12px)}
.camera-rail-caption{display:block;padding:0 4px 11px;font:8px/1.5 ui-monospace,monospace;letter-spacing:.12em;opacity:.65}
.scene-camera-rail .view-selector{display:flex;flex-direction:column;gap:5px}
.scene-camera-rail button{display:block;width:100%;padding:11px 10px;text-align:left;border:1px solid transparent;border-radius:5px;background:#ffffff06;color:#e7eadd;font:10px/1.4 ui-monospace,monospace;cursor:pointer;transition:background .16s,border-color .16s}
.scene-camera-rail button:hover{background:#ffffff16;border-color:#ffffff26}
.scene-camera-rail button[aria-pressed=true]{background:#e5eadc;color:#19211d}
.scene-camera-rail button:focus-visible{outline:2px solid #d3e9b3;outline-offset:3px}
.hero:not(.has-3d) .scene-camera-rail{display:none}
.hero.exploring .hero-content{visibility:hidden}
.hero.exploring .flight-telemetry,.hero.exploring .scene-camera-rail{top:175px}
.hero.exploring .swarm-dock{width:min(990px,calc(100% - 48px));bottom:28px;border-radius:10px}
.hero.exploring .scene-help{bottom:145px}
.hero.exploring .waypoint-readout{bottom:189px}
.hero.exploring .pilot-pad{left:34px;bottom:170px}
@media(min-width:1600px){.hero:is(.has-3d,.scene-loading) .hero-content{left:52px;right:52px;bottom:64px}.hero .flight-telemetry{width:218px}}
@media(max-width:900px){
 .hero:is(.has-3d,.scene-loading) .hero-content>div:first-child{grid-template-columns:minmax(0,1.25fr) minmax(220px,.8fr);gap:30px}
 .hero:is(.has-3d,.scene-loading) .hero-content h1{font-size:48px}
 .hero .flight-telemetry{width:164px;padding:14px 12px;font-size:9px}
 .scene-camera-rail{width:103px}
 .hero.exploring .scene-help{bottom:173px}.hero.exploring .waypoint-readout{bottom:215px}.hero.exploring .pilot-pad{bottom:254px}
}
@media(max-width:600px){
 .hero:is(.has-3d,.scene-loading) .hero-content{left:20px;right:20px;bottom:30px;top:auto;width:auto}
 .hero:is(.has-3d,.scene-loading) .hero-content>div:first-child{grid-template-columns:1fr;gap:15px}
 .hero:is(.has-3d,.scene-loading) .hero-content h1{font-size:clamp(34px,9.4vw,48px);max-width:440px;line-height:1.02;text-wrap:initial}
 .hero:is(.has-3d,.scene-loading) .hero-lead{max-width:340px;font-size:11px;line-height:1.6;margin:0}
 .hero .flight-telemetry,.hero.exploring .flight-telemetry{left:18px;right:auto;top:143px;width:135px;padding:11px 10px;font-size:8px}
 .hero .flight-telemetry strong{font-size:16px;margin:7px 0}
 .hero .flight-telemetry dl{margin:8px 0}.hero .flight-telemetry dl div{padding:5px 0;gap:5px}
 .separation-readout{font-size:8px;margin-top:5px}
 .scene-camera-rail,.hero.exploring .scene-camera-rail{top:143px;right:18px;width:88px;padding:10px 7px}
 .camera-rail-caption{font-size:6px;letter-spacing:.1em;padding:0 2px 7px}
 .scene-camera-rail button{font-size:9px;padding:8px}
 .hero.exploring .swarm-dock{bottom:14px;width:calc(100% - 24px);max-height:27dvh;padding:8px 6px}
 .hero.exploring .scene-help{bottom:calc(27dvh + 25px);font-size:8px;padding:6px 9px;width:calc(100% - 36px);max-width:unset}
 .hero.exploring .waypoint-readout{bottom:calc(27dvh + 70px);padding:6px 9px}
 .hero.exploring .pilot-pad{left:18px;bottom:calc(27dvh + 113px);grid-template-columns:repeat(4,30px);gap:4px}
 .pilot-pad button{width:30px;height:30px;font-size:14px}
}
@media(max-height:650px) and (min-width:601px){
 .hero .scene-toolbar{top:88px}.hero .flight-telemetry,.hero.exploring .flight-telemetry,.scene-camera-rail,.hero.exploring .scene-camera-rail{top:137px}
 .hero .flight-telemetry{padding:10px 12px}.hero .flight-telemetry dl{margin:8px 0}.hero .flight-telemetry dl div{padding:4px 0}
 .hero:is(.has-3d,.scene-loading) .hero-content{bottom:25px}.hero:is(.has-3d,.scene-loading) .hero-content h1{font-size:40px}
 .hero.exploring .pilot-pad{left:auto;right:175px;bottom:156px}
}

.hero.scene-loading{background:linear-gradient(180deg,#91a9b8 0%,#274653 58%,#0a1821 100%)}
body.force-dark .hero.scene-loading{background:linear-gradient(180deg,#020507,#28313a 60%,#070b10)}
