/* v9: photoreal physical scene first, digital system overlay second. */
.home-v3 .world-stage{gap:10px;padding:0 12px}
.home-v3 .world-panel{border:1px solid rgba(255,255,255,.10);border-radius:18px;overflow:hidden;background:rgba(5,9,9,.72);box-shadow:0 30px 80px rgba(0,0,0,.30)}
.home-v3 .world-panel::before{opacity:.18}
.home-v3 .industry-scene,.home-v3 .regen-scene,.home-v3 .cyber-scene{inset:66px 12px 58px;transform:none!important;overflow:hidden;border-radius:14px;background:#07100d}
.world-photo{position:absolute;inset:0;overflow:hidden;border-radius:14px;z-index:1;background:#08100e}
.world-photo img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.015);transition:transform .75s cubic-bezier(.2,.65,.2,1),filter .6s ease;will-change:transform}
.world-panel:hover .world-photo img{transform:scale(1.045)}
.photo-stage img{object-position:61% 50%;filter:saturate(.88) contrast(1.12) brightness(.73)}
.photo-regen img{object-position:52% 58%;filter:saturate(.78) contrast(1.02) brightness(.62)}
.photo-smart img{object-position:49% 54%;filter:saturate(.72) contrast(1.05) brightness(.60)}
.world-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,8,.06),rgba(4,8,8,.12) 46%,rgba(4,8,8,.76) 100%),linear-gradient(90deg,rgba(4,8,8,.28),transparent 30%,transparent 70%,rgba(4,8,8,.22));pointer-events:none}
.world-digital-overlay{position:absolute;inset:0;z-index:4;pointer-events:none;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
.world-digital-overlay::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 49.8%,rgba(255,255,255,.05) 50%,transparent 50.2%),linear-gradient(transparent 0 49.8%,rgba(255,255,255,.035) 50%,transparent 50.2%);background-size:140px 140px;opacity:.16;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.world-digital-overlay::after{content:"";position:absolute;left:-20%;right:-20%;height:1px;top:20%;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.18;box-shadow:0 0 16px currentColor;animation:v9scan 5.4s ease-in-out infinite}
.overlay-stage{color:var(--world-amber)}.overlay-regen{color:var(--world-green)}.overlay-smart{color:var(--world-cyan)}
@keyframes v9scan{50%{top:78%;opacity:.34}}
.world-reference-note{position:absolute;right:12px;top:11px;padding:5px 7px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(3,7,8,.52);backdrop-filter:blur(8px);font-size:6px;letter-spacing:.14em;color:rgba(236,243,240,.62)}
.overlay-node{position:absolute;min-width:108px;padding:8px 10px 8px 20px;border:1px solid color-mix(in srgb,currentColor 34%,transparent);border-radius:8px;background:rgba(4,10,11,.67);backdrop-filter:blur(9px);box-shadow:0 12px 28px rgba(0,0,0,.28);color:#dfe8e5}
.overlay-node i{position:absolute;left:9px;top:13px;width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}
.overlay-node b,.overlay-node small{display:block}.overlay-node b{font-size:7px;letter-spacing:.12em;color:#f3f7f5}.overlay-node small{font-size:6px;letter-spacing:.07em;color:#81918b;margin-top:3px}
.on-stage-rig{right:10%;top:20%;color:var(--world-amber)}.on-stage-foh{left:18%;bottom:15%;color:var(--world-amber)}
.on-regen-solar{right:8%;top:18%;color:var(--world-green)}.on-regen-home{left:37%;top:50%;color:var(--world-green)}.on-regen-land{left:8%;bottom:13%;color:var(--world-green)}
.on-smart-media{left:12%;top:27%;color:var(--world-cyan)}.on-smart-sensor{right:9%;top:16%;color:var(--world-cyan)}.on-smart-control{right:9%;bottom:14%;color:var(--world-cyan)}
.overlay-signal{position:absolute;height:1px;opacity:.56;background:linear-gradient(90deg,transparent,currentColor 18%,currentColor 82%,transparent);box-shadow:0 0 10px currentColor}
.stage-signal{left:24%;right:19%;bottom:26%;transform:rotate(-8deg)}.regen-signal{left:19%;right:18%;top:58%;transform:rotate(4deg)}.smart-signal{left:22%;right:18%;top:48%;transform:rotate(-5deg)}
.world-panel .world-label{z-index:12;top:16px}.world-panel .world-caption{z-index:12;color:#96a39e;max-width:390px}
.world-panel .industry-scene>:not(.world-photo):not(.world-digital-overlay),.world-panel .regen-scene>:not(.world-photo):not(.world-digital-overlay),.world-panel .cyber-scene>:not(.world-photo):not(.world-digital-overlay){opacity:0!important;pointer-events:none!important}
.hero-webgl{opacity:.16;filter:saturate(.7) contrast(.92);mix-blend-mode:screen}
.world-hero::before{opacity:.52}
/* Carry the same physical-first language into the large proof cards. */
.stage-production-scene,.smart-scene,.regen-house-scene{background-size:cover!important;background-position:center!important;border-radius:16px;overflow:hidden;isolation:isolate}
.stage-production-scene{background-image:linear-gradient(180deg,rgba(4,7,8,.10),rgba(4,7,8,.66)),url('../media/v9/stage.jpg')!important;background-position:61% 50%!important}
.smart-scene{background-image:linear-gradient(180deg,rgba(4,7,8,.12),rgba(4,7,8,.62)),url('../media/v9/smart.jpg')!important;background-position:48% 52%!important}
.regen-house-scene{background-image:linear-gradient(180deg,rgba(5,9,8,.08),rgba(5,9,8,.60)),url('../media/v9/regen.jpg')!important;background-position:52% 58%!important}
.stage-production-scene svg,.smart-scene svg,.regen-house-scene svg{opacity:.28;mix-blend-mode:screen;filter:drop-shadow(0 0 10px rgba(112,223,255,.05))}
.stage-production-scene .scene-hud,.smart-scene .scene-hud,.regen-house-scene .scene-hud{z-index:4;background:rgba(4,8,9,.66);backdrop-filter:blur(10px)}
/* Recognition mode now measures the photographic scene, not explanatory UI. */
.recognition-mode .world-reference-note,.recognition-mode .overlay-node,.recognition-mode .overlay-signal{display:none!important}
.recognition-mode .world-photo img{filter:saturate(.92) contrast(1.05) brightness(.78)!important;transform:scale(1.01)!important}
.recognition-mode[data-recognition-focus="regenerative"] .photo-regen img{filter:saturate(.86) contrast(1.02) brightness(.80)!important}
.recognition-mode[data-recognition-focus="cyber"] .photo-smart img{filter:saturate(.80) contrast(1.02) brightness(.76)!important}
.recognition-mode .hero-webgl{opacity:.05!important}
@media(max-width:767px){
  .home-v3 .world-stage{padding:0 8px;gap:8px}
  .home-v3 .world-panel{border-radius:14px}
  .home-v3 .industry-scene,.home-v3 .regen-scene,.home-v3 .cyber-scene{inset:50px 8px 46px;border-radius:11px}
  .world-photo,.world-digital-overlay{border-radius:11px}
  .world-reference-note{right:8px;top:8px;font-size:5px;letter-spacing:.09em;padding:4px 6px}
  .overlay-node{min-width:86px;padding:6px 7px 6px 16px;transform:scale(.84);transform-origin:center}
  .overlay-node i{left:7px;top:10px;width:4px;height:4px}.overlay-node b{font-size:6px}.overlay-node small{font-size:5px}
  .on-stage-rig{right:4%;top:16%}.on-stage-foh{left:10%;bottom:12%}
  .on-regen-solar{right:3%;top:14%}.on-regen-home{left:33%;top:48%}.on-regen-land{left:3%;bottom:11%}
  .on-smart-media{left:4%;top:23%}.on-smart-sensor{right:2%;top:12%}.on-smart-control{right:2%;bottom:11%}
  .stage-production-scene svg,.smart-scene svg,.regen-house-scene svg{opacity:.18}
}
@media(prefers-reduced-motion:reduce){.world-digital-overlay::after{animation:none}.world-photo img{transition:none}}

/* v9b — image-first remodel + FDE systems proof */
.showcase-photo-card .photo-system-scene{left:24px;right:24px;bottom:24px;width:auto;height:56%;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#050807;box-shadow:0 22px 60px rgba(0,0,0,.34);transform:translateZ(18px)}
.showcase-photo-card .photo-system-scene::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(3,7,9,.08),rgba(3,7,9,.28) 62%,rgba(3,7,9,.72)),linear-gradient(90deg,rgba(var(--scene-rgb),.09),transparent 38%,rgba(0,0,0,.08));pointer-events:none}
.showcase-photo-card .photo-system-scene::after{content:"";position:absolute;z-index:3;inset:0;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,transparent 4%,rgba(0,0,0,.58) 30%,#000);opacity:.58;pointer-events:none}
.photo-system-scene>img{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.06) brightness(.78);transform:scale(1.018)}
.remodel-photo-scene>img{object-position:center 46%}.fde-photo-scene>img{object-position:center 52%;filter:saturate(.95) contrast(1.08) brightness(.68)}
.photo-reference-badge{position:absolute;z-index:8;right:14px;top:14px;padding:6px 8px;border:1px solid rgba(255,255,255,.26);border-radius:999px;background:rgba(4,8,10,.66);backdrop-filter:blur(10px);font-size:6px;letter-spacing:.12em;color:#b9c6c1}
.system-callout{position:absolute;z-index:7;min-width:122px;padding:9px 10px;border:1px solid rgba(var(--scene-rgb),.48);border-radius:9px;background:rgba(4,9,11,.76);backdrop-filter:blur(10px);box-shadow:0 12px 30px rgba(0,0,0,.28),0 0 24px rgba(var(--scene-rgb),.07)}
.system-callout::before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:var(--scene);box-shadow:0 0 10px rgba(var(--scene-rgb),.8)}
.system-callout b{font-size:7px;letter-spacing:.12em;color:#eef5f2}.system-callout small{display:block;margin:4px 0 0 13px;font-size:6px;letter-spacing:.06em;color:#91a09a}
.photo-system-links{position:absolute;z-index:5;inset:0;width:100%;height:100%;pointer-events:none}.photo-system-links path{fill:none;stroke:rgba(var(--scene-rgb),.58);stroke-width:1.15;stroke-dasharray:6 8;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px rgba(var(--scene-rgb),.28));animation:sceneFlow 8s linear infinite}
.photo-hud{z-index:9;right:16px;bottom:14px;background:rgba(3,8,10,.76)}
.callout-scope{left:7%;top:18%}.callout-rough{right:8%;top:16%}.callout-gate{right:10%;bottom:19%}.callout-sequence{left:7%;bottom:19%}
.fde-signal{left:6%;top:22%}.fde-model{left:36%;top:30%}.fde-gate{right:7%;top:22%}.fde-proof{right:8%;bottom:20%}
.fde-flow{position:absolute;z-index:8;left:7%;right:7%;bottom:17px;display:flex;align-items:center;gap:9px;padding:8px 170px 8px 10px;border-top:1px solid rgba(var(--scene-rgb),.26);background:linear-gradient(90deg,rgba(3,8,10,.82),rgba(3,8,10,.18));font-size:6px;font-weight:800;letter-spacing:.14em;color:#c8d2ce}
.fde-flow i{height:1px;flex:1;background:linear-gradient(90deg,rgba(var(--scene-rgb),.18),rgba(var(--scene-rgb),.7));position:relative}.fde-flow i::after{content:"";position:absolute;right:-1px;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--scene);box-shadow:0 0 8px rgba(var(--scene-rgb),.7)}
.showcase-digital.showcase-photo-card{min-height:760px}.showcase-digital.showcase-photo-card .photo-system-scene{height:59%}
.showcase-photo-card .showcase-copy{max-width:790px}.showcase-digital.showcase-photo-card .showcase-copy h3{max-width:980px}
@media(max-width:980px){.showcase-photo-card .photo-system-scene{height:54%}.showcase-digital.showcase-photo-card{min-height:720px}}
@media(max-width:640px){.showcase-photo-card .photo-system-scene{left:10px;right:10px;width:auto;height:49%;bottom:12px}.showcase-digital.showcase-photo-card{min-height:760px}.showcase-digital.showcase-photo-card .photo-system-scene{height:49%}.system-callout{min-width:100px;padding:7px 8px}.system-callout b{font-size:6px}.system-callout small{font-size:5px}.callout-scope,.fde-signal{left:4%}.callout-rough,.fde-gate{right:4%}.callout-gate,.fde-proof{right:4%;bottom:24%}.callout-sequence{left:4%;bottom:24%}.fde-model{left:32%;top:39%}.fde-flow{left:4%;right:4%;padding-right:130px;gap:5px;font-size:5px}.photo-reference-badge{top:9px;right:9px}.photo-hud{right:9px;bottom:9px;transform:scale(.8);transform-origin:right bottom}}

/* v9c — one intelligence loop across every physical domain. */
.intelligence-loop{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:16px;max-width:650px}
.intelligence-loop span{position:relative;padding-top:8px;border-top:1px solid rgba(255,255,255,.10);font-size:6px;font-weight:800;letter-spacing:.10em;color:#58645f;text-align:center}
.intelligence-loop span::before{content:"";position:absolute;left:50%;top:-3px;width:5px;height:5px;border-radius:50%;transform:translateX(-50%);background:#25302c;border:1px solid rgba(255,255,255,.14)}
.intelligence-loop span.active{color:#cbd6d2;border-color:rgba(var(--scene-rgb),.32)}
.intelligence-loop span.active::before{background:var(--scene);border-color:var(--scene);box-shadow:0 0 9px rgba(var(--scene-rgb),.68)}
.remodel-photo-scene>img{object-position:44% 48%;filter:saturate(.74) contrast(1.10) brightness(.72)}
.fde-photo-scene>img{object-position:55% 48%;filter:saturate(.84) contrast(1.12) brightness(.50)}
.fde-control-plane{position:absolute;z-index:6;left:6%;right:6%;top:44%;padding:13px;border:1px solid rgba(var(--scene-rgb),.30);border-radius:12px;background:linear-gradient(135deg,rgba(4,8,13,.86),rgba(9,8,18,.58));backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.34)}
.fde-state{display:grid;grid-template-columns:auto auto 1fr;gap:9px;align-items:baseline;border-bottom:1px solid rgba(var(--scene-rgb),.18);padding-bottom:9px}
.fde-state small{font-size:6px;letter-spacing:.18em;color:#7e8b87}.fde-state b{font-size:9px;letter-spacing:.12em;color:#c8ffdc}.fde-state span{justify-self:end;font-size:6px;color:#8f9d98;letter-spacing:.06em}
.fde-map{display:flex;align-items:center;gap:7px;padding:13px 0 10px}.fde-map .fm{padding:6px 8px;border:1px solid rgba(var(--scene-rgb),.26);border-radius:7px;background:rgba(7,9,14,.76);font-size:6px;font-weight:800;letter-spacing:.11em;color:#d5d9ef}.fde-map i{height:1px;flex:1;background:linear-gradient(90deg,rgba(var(--scene-rgb),.15),rgba(var(--scene-rgb),.62));position:relative}.fde-map i::after{content:"";position:absolute;right:-1px;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--scene);box-shadow:0 0 8px rgba(var(--scene-rgb),.72)}
.fde-proof-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fde-proof-strip span{padding:7px 8px;border-top:1px solid rgba(255,255,255,.08);font-size:6px;color:#7f8d88}.fde-proof-strip b{display:block;margin-bottom:3px;color:#d9e0ee;font-size:6px;letter-spacing:.12em}
@media(max-width:640px){
  .intelligence-loop{gap:2px;margin-top:12px}.intelligence-loop span{font-size:4.8px;letter-spacing:.06em}
  .fde-control-plane{left:4%;right:4%;top:43%;padding:9px}.fde-state{grid-template-columns:auto auto;gap:6px}.fde-state span{display:none}
  .fde-map{gap:3px;padding:9px 0 7px}.fde-map .fm{padding:5px 4px;font-size:4.5px;letter-spacing:.05em}.fde-map i{min-width:5px}
  .fde-proof-strip{gap:3px}.fde-proof-strip span{padding:5px 3px;font-size:4.5px}.fde-proof-strip b{font-size:4.5px}
  .fde-flow{font-size:4.5px;padding-right:112px}.fde-photo-scene>img{object-position:54% 50%}.remodel-photo-scene>img{object-position:39% 50%}
}
@media(max-width:640px){
  .showcase-digital .fde-signal,.showcase-digital .fde-model,.showcase-digital .fde-gate,.showcase-digital .fde-proof{display:none}
  .showcase-digital .fde-flow{display:none}
  .showcase-digital .fde-control-plane{top:49%;left:4%;right:4%;padding:10px}
  .showcase-digital .fde-proof-strip{grid-template-columns:repeat(2,1fr);row-gap:5px}
  .showcase-digital .photo-hud{right:9px;bottom:8px;max-width:205px;transform:scale(.78);transform-origin:right bottom}
}

/* v9d — legibility pass: preserve image-first visuals, stabilize text contrast. */
.world-panel .world-label,.world-panel .world-caption,.overlay-node,.system-callout,.scene-hud,.photo-reference-badge,.fde-control-plane{isolation:isolate;text-shadow:0 1px 2px rgba(0,0,0,.92),0 0 12px rgba(0,0,0,.52)}
.world-panel .world-label{color:#f4f8f6!important;background:linear-gradient(135deg,rgba(2,6,7,.88),rgba(4,9,10,.68))!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.025)!important}
.world-panel .world-caption{color:#d7e0dc!important;background:linear-gradient(135deg,rgba(2,6,7,.86),rgba(4,9,10,.66))!important;border:1px solid rgba(255,255,255,.10);box-shadow:0 12px 34px rgba(0,0,0,.26)}
.overlay-node{background:rgba(2,7,9,.86)!important;border-color:color-mix(in srgb,currentColor 48%,transparent)!important;box-shadow:0 14px 34px rgba(0,0,0,.38),0 0 22px color-mix(in srgb,currentColor 12%,transparent)!important}
.overlay-node b{color:#fff!important}.overlay-node small{color:#c6d1cc!important}
.system-callout{background:rgba(2,7,10,.88)!important;border-color:rgba(var(--scene-rgb),.58)!important}.system-callout b{color:#fff!important}.system-callout small{color:#c4cfca!important}
.scene-hud,.photo-hud{background:rgba(2,7,9,.88)!important;border-color:rgba(var(--scene-rgb),.34)!important}.scene-hud small{color:#b5c1bc!important}.scene-hud b{color:#fff!important}.scene-hud span{filter:brightness(1.18) saturate(.9)}
.photo-reference-badge{color:#dce4e0!important;background:rgba(2,7,9,.84)!important;border-color:rgba(255,255,255,.22)!important}
.fde-state small,.fde-state span,.fde-proof-strip span{color:#c0cbc6!important}.fde-state b,.fde-proof-strip b,.fde-map .fm{color:#f6faf8!important}
.intelligence-loop span{color:#8f9b96}.intelligence-loop span.active{color:#eef5f2!important;text-shadow:0 1px 2px #000}
@media(max-width:640px){
  .world-panel .world-label,.world-panel .world-caption{background:rgba(2,6,7,.92)!important;border-color:rgba(255,255,255,.14)!important}
  .overlay-node,.system-callout,.scene-hud,.photo-hud,.fde-control-plane{background:rgba(2,6,8,.93)!important;backdrop-filter:blur(12px)}
  .overlay-node small,.system-callout small,.scene-hud small,.fde-state small,.fde-proof-strip span{color:#d2dbd7!important}
  .photo-system-scene::before{background:linear-gradient(180deg,rgba(3,7,9,.12),rgba(3,7,9,.34) 55%,rgba(3,7,9,.82))!important}
  .world-photo::after{background:linear-gradient(180deg,rgba(4,8,8,.10),rgba(4,8,8,.20) 42%,rgba(4,8,8,.84) 100%),linear-gradient(90deg,rgba(4,8,8,.34),transparent 30%,transparent 70%,rgba(4,8,8,.28))!important}
}
