/* Dimensional surfaces share the existing theme and content system. */
:root,:root[data-theme=dark]{
  --scene-metal:#27342d;
  --scene-edge:#526a57;
  --scene-face:#263b2b;
  --scene-floor:#111a15;
  --scene-glass:rgba(126,183,127,.075);
  --scene-shadow:rgba(0,0,0,.52);
  --scene-glow:rgba(193,237,131,.18);
  --scene-label:rgba(25,34,28,.93);
  --scene-highlight:rgba(222,255,213,.22);
}
:root[data-theme=light]{
  --scene-metal:#c6d2bc;
  --scene-edge:#9aa990;
  --scene-face:#edf4e5;
  --scene-floor:#dce5d4;
  --scene-glass:rgba(94,131,65,.065);
  --scene-shadow:rgba(53,77,35,.2);
  --scene-glow:rgba(127,172,79,.18);
  --scene-label:rgba(253,255,248,.94);
  --scene-highlight:rgba(255,255,255,.9);
}
.brand{gap:13px}
.brand-mark{display:block;flex-shrink:0;width:46px;height:46px;border-radius:12px;box-shadow:0 4px 12px #0002;transition:transform .3s}
.brand:hover .brand-mark{transform:rotate(-5deg)}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.scene-map{aspect-ratio:1.05;background:radial-gradient(ellipse at 52% 56%,var(--scene-glow),transparent 66%);perspective:1100px;overflow:visible}
.scene-map::before{inset:3% 0 4%;background-size:24px 24px;opacity:.65}
.scene-map .map-corner{top:2%;right:3%;font-size:9px;letter-spacing:1px}
.scene-stage{position:absolute;inset:7% 0 4%;perspective:1050px;perspective-origin:50% 40%;transform:rotateX(var(--pointer-y,0deg)) rotateY(var(--pointer-x,0deg));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.3,1)}
.orbit-platform{position:absolute;width:78%;aspect-ratio:1;left:11%;top:10%;transform:rotateX(54deg) rotateZ(-30deg);transform-style:preserve-3d}
.scene-shadow{position:absolute;inset:-2%;border-radius:50%;background:var(--scene-shadow);filter:blur(24px);transform:translateZ(-25px);opacity:.8}
.platform-base{position:absolute;inset:3%;border-radius:50%;background:var(--scene-floor);border:1px solid var(--scene-edge);box-shadow:0 1px 0 var(--scene-edge),0 2px 0 var(--scene-metal),0 3px 0 var(--scene-metal),0 4px 0 var(--scene-edge),0 5px 0 var(--scene-metal),0 6px 0 var(--scene-metal),0 7px 0 var(--scene-edge),0 14px 24px var(--scene-shadow);transform:translateZ(0)}
.platform-surface{position:absolute;inset:3%;border-radius:50%;border:1px solid var(--scene-edge);transform:translateZ(9px);background:repeating-radial-gradient(circle at center,transparent 0,transparent 17.8%,var(--scene-edge) 18%,transparent 18.3%),repeating-conic-gradient(from 0deg,transparent 0deg 29.8deg,var(--scene-edge) 29.9deg 30deg),radial-gradient(ellipse at 35% 20%,var(--scene-glass),var(--scene-floor));box-shadow:inset 0 0 35px var(--scene-glow),0 0 0 5px var(--scene-glass)}
.orbit-track{position:absolute;inset:10%;border-radius:50%;border:1px solid var(--scene-edge);transform:translateZ(30px);box-shadow:0 0 0 7px var(--scene-glass),inset 0 0 0 6px var(--scene-glass);transform-style:preserve-3d}
.orbit-track.track-high{inset:22%;transform:translateZ(60px);border-color:var(--accent);opacity:.6;box-shadow:0 0 16px var(--scene-glow)}
.orbit-track.track-outer{inset:-3%;transform:translateZ(12px);border-style:dashed;border-color:var(--scene-edge);opacity:.65;box-shadow:none}
.orbital-runner{position:absolute;inset:0;border-radius:50%;transform-style:preserve-3d;animation:orbital-rotation 28s linear infinite}
.orbital-runner::before,.orbital-runner::after{content:'';position:absolute;width:10px;height:10px;background:var(--accent);border:2px solid var(--scene-highlight);border-radius:50%;top:50%;left:-5px;box-shadow:0 0 18px var(--scene-glow);transform:translateZ(3px)}
.orbital-runner::after{left:auto;right:-5px;width:7px;height:7px;background:var(--scene-edge)}
.track-high .orbital-runner{animation-duration:19s;animation-direction:reverse}
.scene-paused .orbital-runner,.scene-paused .scan-plane,.scene-paused .security-core{animation-play-state:paused}
.scan-plane{position:absolute;inset:10%;border-radius:50%;transform:translateZ(12px);background:conic-gradient(from 0deg,transparent 70%,var(--scene-glow) 98%,var(--accent) 100%);opacity:.5;animation:scan-rotation 22s linear infinite}
.core-pedestal{position:absolute;width:39%;height:39%;left:30.5%;top:30.5%;border:1px solid var(--scene-edge);background:var(--scene-metal);border-radius:20%;transform:translateZ(25px);box-shadow:0 1px var(--scene-edge),0 2px var(--scene-metal),0 3px var(--scene-metal),0 4px var(--scene-edge),0 12px 22px var(--scene-shadow)}
.security-core{position:absolute;left:34%;top:34%;width:32%;height:32%;transform:translateZ(57px);transform-style:preserve-3d;animation:core-hover 7s ease-in-out infinite}
.core-top{position:absolute;inset:0;border-radius:17%;background:linear-gradient(135deg,var(--scene-highlight),transparent 38%),linear-gradient(145deg,var(--scene-face),var(--scene-metal));border:1px solid var(--scene-edge);display:grid;place-items:center;transform:translateZ(25px);box-shadow:inset 0 0 0 6px var(--scene-glass),inset 0 0 0 7px var(--scene-edge),0 0 25px var(--scene-glow)}
.core-top svg{width:43%;height:43%;color:var(--accent);filter:drop-shadow(0 1px 8px var(--scene-glow));transform:rotateZ(30deg)}
.core-bottom{position:absolute;inset:0;border:1px solid var(--scene-edge);border-radius:17%;background:var(--scene-metal);box-shadow:0 12px 25px var(--scene-shadow);transform:translateZ(-1px)}
.core-wall{position:absolute;left:12%;width:76%;height:26px;bottom:0;background:linear-gradient(var(--scene-metal),var(--scene-floor));border:1px solid var(--scene-edge);transform-origin:bottom;transform:rotateX(-90deg);border-radius:0 0 4px 4px}
.core-wall.wall-right{left:auto;right:0;top:12%;bottom:auto;width:26px;height:76%;transform-origin:right;transform:rotateY(90deg);border-radius:0 4px 4px 0}
.core-led{position:absolute;bottom:-2px;left:36%;width:28%;height:3px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px var(--accent);transform:translateZ(14px)}
.core-tether{position:absolute;width:1px;height:75px;background:linear-gradient(var(--accent),transparent);left:50%;top:50%;transform-origin:top;transform:rotateX(-90deg);opacity:.45}
.scene-map .map-node{z-index:3;background:var(--scene-label);backdrop-filter:blur(12px);border:1px solid var(--scene-edge);border-top-color:var(--scene-highlight);padding:14px 17px;gap:12px;border-radius:10px;box-shadow:0 1px 1px var(--scene-highlight),0 10px 24px var(--scene-shadow);font-size:12px;transition:transform .35s,box-shadow .35s}
.scene-map .map-node .node-index{background:var(--scene-glass);color:var(--accent);border:1px solid var(--scene-edge);border-radius:7px;width:32px;height:32px;display:grid;place-items:center;padding:0}
.node-index svg{width:17px;height:17px}
.scene-map .map-node small{font-size:9px;line-height:1.6}
.scene-map .node-ingest{top:15%;left:0;transform:translateZ(20px)}
.scene-map .node-detect{top:40%;right:-1%;transform:translateZ(35px)}
.scene-map .node-respond{bottom:14%;left:7%;transform:translateZ(45px)}
.scene-map .map-caption{bottom:0;font-size:9px;letter-spacing:1.3px}
.scene-map .node-status{width:5px;height:5px;background:var(--accent);border-radius:50%;box-shadow:0 0 8px var(--scene-glow);margin-left:2px}
.scene-key{position:absolute;right:1%;bottom:10%;font:8px/1.9 Mono,monospace;color:var(--muted);text-align:right;letter-spacing:.5px}
.scene-key b{color:var(--accent);font-weight:400}
@keyframes orbital-rotation{to{transform:rotateZ(360deg)}}
@keyframes scan-rotation{to{transform:translateZ(12px) rotateZ(360deg)}}
@keyframes core-hover{0%,100%{transform:translateZ(57px)}50%{transform:translateZ(66px)}}

.contact-links.branded-contacts{display:grid;gap:14px;padding-top:28px;align-content:center;perspective:900px}
.branded-contacts .social-block{position:relative;isolation:isolate;display:flex;align-items:center;gap:18px;margin:0;padding:23px 24px;min-height:103px;border:1px solid #ffffff20;border-radius:12px;overflow:hidden;text-decoration:none;color:#fff;box-shadow:0 4px 0 #00000015,0 13px 26px #00000015;transform:translateZ(0);transition:transform .3s,box-shadow .3s}
.social-block::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,#ffffff14,transparent 55%);pointer-events:none;z-index:-1}
.social-block::after{content:'';position:absolute;top:-55%;right:-12%;height:210%;aspect-ratio:1;border:1px solid #ffffff12;border-radius:50%;box-shadow:0 0 0 25px #ffffff03,0 0 0 50px #ffffff03;pointer-events:none;z-index:-1}
.branded-contacts .social-linkedin{background:linear-gradient(120deg,#0863ba,#0a66c2 60%,#07549c);border-top-color:#64a5e4}
.branded-contacts .social-github{background:linear-gradient(120deg,#23262d,#171a20 70%,#101318);border-top-color:#4c525c}
.branded-contacts .social-email{background:linear-gradient(120deg,#c9eba4,#b4dc8e);color:#203118;border-color:#96b778;border-top-color:#e3fbc8}
.branded-contacts .social-icon{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;color:inherit}
.social-icon svg{width:34px;height:34px;fill:currentColor}
.social-email .social-icon svg{fill:none}
.branded-contacts .social-copy{display:flex;flex-direction:column;gap:5px;min-width:0;color:inherit}
.branded-contacts .social-copy strong{font-size:18px;font-weight:600;line-height:1.3;letter-spacing:-.3px}
.branded-contacts .social-copy small{font-size:12px;line-height:1.5;color:inherit;opacity:.85;overflow-wrap:anywhere}
.branded-contacts .social-arrow{margin-left:auto;font-size:22px;color:inherit;align-self:flex-start}
@media(hover:hover) and (pointer:fine){
  .branded-contacts .social-block:hover{transform:translateY(-4px) rotateX(3deg);box-shadow:0 8px 0 #00000010,0 20px 32px #00000025;color:inherit}
  .branded-contacts .social-linkedin:hover,.branded-contacts .social-github:hover{color:#fff}
  .branded-contacts .social-email:hover{color:#203118}
  .work-card:hover{box-shadow:0 12px 30px var(--scene-shadow)}
}
:root[data-theme=light] .brand-mark{box-shadow:0 3px 9px #2d432322}
:root[data-theme=light] .branded-contacts .social-block{box-shadow:0 4px 0 #22321a14,0 12px 26px #22321a16}
@media(min-width:1101px){.scene-map{margin-top:8px}.hero-layout{gap:45px}}
@media(max-width:1100px){.scene-map .map-node{padding:11px 12px;font-size:10px;gap:8px}.scene-map .map-node small{font-size:8px}.scene-map .map-node .node-index{width:26px;height:26px}.scene-map .node-ingest{left:0;top:16%}.scene-key{font-size:7px;bottom:9%}.branded-contacts .social-block{padding:22px 18px;gap:13px}.branded-contacts .social-copy strong{font-size:17px}.branded-contacts .social-copy small{font-size:11px}}
@media(min-width:681px) and (max-width:850px){.scene-map{aspect-ratio:.88}.scene-stage{inset:13% -2% 5%}.scene-map .map-node .node-index{display:none}.scene-map .node-ingest{top:21%;left:0}.scene-map .node-detect{top:46%;right:0}.scene-map .node-respond{bottom:16%;left:2%}.scene-map .map-corner{font-size:7px;right:0}.scene-key{display:none}.scene-map .map-caption{font-size:8px;letter-spacing:.3px}.contact-layout{grid-template-columns:1fr 1fr;gap:30px}}
@media(max-width:680px){
  .brand-mark{width:42px;height:42px;border-radius:11px}
  .scene-map{width:min(100%,460px);aspect-ratio:1.02;margin:26px auto 5px}
  .scene-stage{inset:5% 0 5%}
  .orbit-platform{width:78%;left:11%;top:13%;transform:rotateX(52deg) rotateZ(-30deg)}
  .scene-map .map-corner{font-size:8px;top:3%;right:0}
  .scene-map .map-node{font-size:10px;padding:11px 12px;gap:9px;border-radius:8px}
  .scene-map .map-node small{font-size:8px}
  .scene-map .map-node .node-index{display:grid;width:26px;height:26px}
  .scene-map .node-ingest{top:18%;left:0}
  .scene-map .node-detect{top:43%;right:0}
  .scene-map .node-respond{bottom:13%;left:4%}
  .scene-map .map-caption{font-size:8px;letter-spacing:.6px}
  .scene-key{font-size:7px;right:0;bottom:12%}
  .contact-links.branded-contacts{padding-top:15px;gap:14px}
  .branded-contacts .social-block{padding:22px;min-height:102px;gap:18px}
  .branded-contacts .social-copy strong{font-size:18px}
  .branded-contacts .social-copy small{font-size:12px}
}
@media(max-width:380px){
  .brand{gap:8px;font-size:13px}.brand-mark{width:38px;height:38px}
  .scene-map .map-node{font-size:9px;padding:9px;gap:6px}.scene-map .map-node small{font-size:7px}
  .scene-map .map-node .node-index{width:22px;height:22px}.node-index svg{width:14px;height:14px}
  .scene-key{display:none}.scene-map .map-caption{font-size:7px}
  .branded-contacts .social-block{padding:19px 16px;gap:13px}.branded-contacts .social-copy small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .scene-stage,.brand:hover .brand-mark,.branded-contacts .social-block:hover{transform:none!important}
  .orbital-runner,.scan-plane,.security-core{animation:none!important}
  .scan-plane{background:none}
}
@media(prefers-contrast:more){.scene-map .map-node{border:2px solid var(--accent);backdrop-filter:none}.branded-contacts .social-block{border:2px solid currentColor}.branded-contacts .social-copy small{opacity:1}}
@media print{.scene-map{display:none}.branded-contacts .social-block{background:white;color:black;border:1px solid black;box-shadow:none}.brand-mark{box-shadow:none}}
