
.service-menu{position:relative}.service-menu>summary{cursor:pointer;list-style:none;font-weight:600}.service-menu>summary::after{content:' +';color:#507900}.service-menu[open]>summary::after{content:' −'}.service-menu>div{position:absolute;right:0;top:calc(100% + 20px);z-index:100;background:#fff;border:1px solid #ddd;border-radius:18px;padding:12px;min-width:280px;box-shadow:0 18px 50px #05050518;display:grid;gap:4px}.service-menu>div a{display:block;padding:12px;border-radius:10px;white-space:normal}.service-menu>div a:hover,.service-menu>div a:focus-visible{background:#edffd4}.mapped-hero{overflow:hidden;min-height:680px}.mapped-hero h1{font-size:clamp(3rem,6.8vw,7.5rem);line-height:.98;letter-spacing:-.055em}.mapped-text-link{display:inline-block;margin:20px;font-weight:600}.mapped-stage,.portal-stage{position:relative;min-height:540px;border-radius:28px;background:radial-gradient(ellipse at 50% 80%,#456b12 0,#151b0d 26%,#050505 68%);color:#fff;perspective:1000px;overflow:hidden}.mapped-room{position:absolute;inset:14% 8%;transform-style:preserve-3d;transform:rotateX(14deg) rotateY(-21deg);animation:room-sway 14s ease-in-out infinite alternate}.room-back{position:absolute;inset:0;background:#141414;border:1px solid #b8ff1a77;transform:translateZ(-70px);overflow:hidden;display:grid;place-items:center}.room-back span{font-size:clamp(2rem,4vw,5rem);font-weight:900;letter-spacing:-.055em;z-index:2;mix-blend-mode:screen}.mapping-grid{position:absolute;inset:-70%;background:repeating-conic-gradient(from 45deg,#b8ff1a 0deg 2deg,#142e00 3deg 10deg,#050505 11deg 20deg);animation:scene-spin 32s linear infinite;opacity:.7}.room-floor{position:absolute;inset:0;transform:rotateX(90deg) translateZ(-180px);background:repeating-linear-gradient(90deg,#b8ff1a55 0 1px,transparent 1px 50px),#1a1a1a}.room-side{position:absolute;inset:0;transform:rotateY(90deg) translateZ(-140px);background:#1a1a1a;border:1px solid #b8ff1a44}.mapping-object{position:absolute;width:160px;height:160px;left:36%;top:48%;background:linear-gradient(135deg,#b8ff1a,#1a1a1a);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);transform:translateZ(90px);box-shadow:0 0 70px #b8ff1a}.projection-light{position:absolute;inset:20% -20% -50%;background:linear-gradient(135deg,transparent,#b8ff1a22,transparent);filter:blur(20px);transform:translateZ(80px)}.scene-label{position:absolute;left:26px;right:26px;bottom:24px;font-size:11px;letter-spacing:.14em;line-height:1.8;color:#d8edb8}.mapped-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:40px}.mapped-grid article{border-top:1px solid #7777;padding:28px 0}.mapped-grid h3{font-size:clamp(1.5rem,2.5vw,2.2rem);letter-spacing:-.04em;line-height:1.08}.mapped-grid p{line-height:1.7}.mapped-manifest{background:#eaf8d7}.mapped-note{font-size:14px;line-height:1.7;opacity:.75;max-width:780px}.portal-stage{background:radial-gradient(ellipse,#32451b,#050505 65%);display:grid;place-items:center}.portal-phone{width:230px;height:390px;border:2px solid #b8ff1a88;border-radius:28px;background:#111;position:relative;padding:28px;transform:rotateY(-17deg) rotateZ(8deg);box-shadow:20px 40px 70px #000,0 0 45px #b8ff1a22;animation:phone-float 8s ease-in-out infinite alternate}.portal-phone strong{display:block;font-size:30px;line-height:1;margin:100px 0 28px}.portal-orb{width:115px;height:115px;position:absolute;top:70px;right:20px;border-radius:50%;background:radial-gradient(circle at 25% 20%,#f8ffed,#b8ff1a 25%,#345400 66%,#050505);box-shadow:0 0 38px #b8ff1a66}.portal-ring{position:absolute;width:410px;height:410px;border:1px solid #b8ff1a55;border-radius:50%;transform:rotateX(65deg)}.ring-two{width:500px;height:500px;transform:rotateX(35deg) rotateY(40deg)}.portal-pill{display:inline-block;border:1px solid #b8ff1a77;border-radius:50px;padding:10px 16px;font-size:12px;line-height:1.6}.portal-demo{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.portal-tabs{display:flex;flex-wrap:wrap;gap:10px}.portal-tabs button{background:#1a1a1a;color:#fff;border:1px solid #888;border-radius:40px;padding:14px 20px;cursor:pointer;font:inherit}.portal-tabs [aria-pressed=true]{color:#050505;background:#b8ff1a;border-color:#b8ff1a}.portal-demo-card{padding:35px;border:1px solid #b8ff1a66;border-radius:24px;background:#151515}.portal-demo-card h3{font-size:2rem;letter-spacing:-.04em}.demo-world{height:200px;position:relative;display:grid;place-items:center}.demo-sphere{width:130px;height:130px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#e5ffbb,#b8ff1a 25%,#284704 70%,#050505);box-shadow:0 0 60px #b8ff1a44;animation:phone-float 6s infinite alternate}.demo-orbit{position:absolute;width:200px;height:200px;border:1px solid #b8ff1a88;border-radius:50%;transform:rotateX(62deg) rotateZ(30deg)}.demo-world[data-world=club]{filter:hue-rotate(80deg)}.demo-world[data-world=product] .demo-sphere{border-radius:18px;transform:rotateZ(25deg)}.motion-paused .mapped-room,.motion-paused .mapping-grid,.motion-paused .portal-phone,.motion-paused .demo-sphere{animation:none}.hub-panel.internal-records summary{cursor:pointer;font-weight:700}.service-catalog .hub-card{display:flex;flex-direction:column;gap:14px}.service-catalog .hub-card button{margin-top:auto}.service-catalog .hub-badge{align-self:start}#project-negatives .hub-panel{margin-top:24px}#project-negatives textarea{width:100%;min-height:150px}.service-catalog .hub-clients{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}@keyframes room-sway{to{transform:rotateX(10deg) rotateY(10deg)}}@keyframes scene-spin{to{transform:rotate(360deg)}}@keyframes phone-float{to{translate:0 -14px}}@media(max-width:800px){.mapped-grid,.portal-demo{grid-template-columns:1fr}.mapped-stage,.portal-stage{min-height:400px}.mapped-hero{min-height:0}.service-menu>div{position:static;box-shadow:none;margin-top:12px;min-width:0}.service-menu{width:100%}.mapped-text-link{margin-left:0}.mapped-room{inset:16% 10%}.room-back span{font-size:2.6rem}.mapping-object{width:110px;height:110px}.mapped-grid{gap:12px}}@media(prefers-reduced-motion:reduce){.mapped-room,.mapping-grid,.portal-phone,.demo-sphere{animation:none!important}.mapped-room{transform:rotateX(10deg) rotateY(-10deg)}}
