.perspectives,.voices{background:#131419;color:#efedf3;position:relative}
.perspectives{height:460svh}
.perspectives-stage{position:sticky;top:0;height:100svh;overflow:hidden}
.perspectives-heading{position:absolute;top:calc(var(--header) + 45px);left:var(--pad);right:var(--pad);z-index:1;pointer-events:none}
.perspectives-heading p,.voices-heading>p{font:10px/1.6 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#aaa8b2;margin:0 0 18px}
.perspectives-heading h2,.voices-heading h2{font:400 clamp(27px,3vw,48px)/1.1 Urbanist,sans-serif;letter-spacing:-.035em;margin:0}
.perspectives-heading .perspectives-note{position:absolute;right:0;top:0;max-width:240px;text-align:right;letter-spacing:0}
.perspectives-view{position:absolute;inset:23% 0 9%;outline:none}
.perspectives-view:focus-visible{outline:1px solid #bfa5eb;outline-offset:-8px}
.perspectives-view canvas{width:100%;height:100%;display:block}
.perspectives-fallback{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0;list-style:none}
.perspectives-count{position:absolute;bottom:8%;left:var(--pad);font:10px 'IBM Plex Mono',monospace;letter-spacing:.1em;color:#9997a4}
.voices{min-height:110svh;padding:calc(var(--header) + 35px) 7vw 115px;overflow:hidden}
.voices-heading{margin-bottom:15px}
.voices-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center;min-height:380px}
.voices-orbits{position:relative;width:100%;height:380px;max-width:620px}
.voice-orbit{position:absolute;animation:voice-orbit 22s ease-in-out infinite alternate;animation-play-state:paused}
.voices-visible .voice-orbit{animation-play-state:running}
.voices .voices-orbits:hover .voice-orbit,.voices .voices-orbits:focus-within .voice-orbit,.voices.motion-paused .voice-orbit{animation-play-state:paused}
.voice-person{width:100%;height:100%;border-radius:50%;border:1px solid #ffffff12;color:#f7f1ff;display:grid;place-items:center;cursor:pointer;background:radial-gradient(circle at 28% 20%,#5e526c,#24252e 72%);font:400 clamp(20px,2.8vw,42px) Urbanist,sans-serif;transition:border-color .4s,box-shadow .4s,filter .4s}
.voice-person:hover,.voice-person:focus-visible{border-color:#c6a6f5;outline:none;filter:brightness(1.2)}
.voice-person[aria-pressed=true]{border-color:#c8a0ff;box-shadow:0 0 0 7px #b187e90a;background:radial-gradient(circle at 30% 20%,#9a77ae,#67427e 50%,#2d273a)}
.voice-orbit-0{width:33%;aspect-ratio:1;left:32%;top:33%;--dx:10px;--dy:-12px;animation-duration:17s}
.voice-orbit-1{width:24%;aspect-ratio:1;left:7%;top:12%;--dx:15px;--dy:15px;animation-delay:-7s}
.voice-orbit-2{width:18%;aspect-ratio:1;left:65%;top:6%;--dx:-14px;--dy:13px;animation-duration:19s;animation-delay:-3s}
.voice-orbit-3{width:23%;aspect-ratio:1;left:72%;top:49%;--dx:-9px;--dy:-18px;animation-duration:25s;animation-delay:-11s}
.voice-orbit-4{width:21%;aspect-ratio:1;left:11%;top:65%;--dx:-10px;--dy:-13px;animation-delay:-9s}
.voice-orbit-5{width:15%;aspect-ratio:1;left:56%;top:80%;--dx:16px;--dy:-12px;animation-duration:24s;animation-delay:-16s}
.voice-orbit-1 .voice-person{background:radial-gradient(circle at 25% 20%,#616d76,#30373e 70%)}
.voice-orbit-2 .voice-person{background:radial-gradient(circle at 25% 20%,#b17e68,#533b37 70%)}
.voice-orbit-4 .voice-person{background:radial-gradient(circle at 25% 20%,#82847b,#3b3d37 70%)}
.orbit-spark{position:absolute;border-radius:50%;background:#897194;width:13px;height:13px}.spark-one{left:43%;top:9%}.spark-two{left:4%;top:46%;width:8px;height:8px;background:#c68e72}
@keyframes voice-orbit{0%{transform:translate(calc(var(--dx) * -1),0) rotate(-4deg)}50%{transform:translate(0,var(--dy)) rotate(0)}100%{transform:translate(var(--dx),calc(var(--dy) * -.5)) rotate(4deg)}}
.voice-copy{max-width:560px;padding-bottom:20px}
.voice-sample{font:10px 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#b7a0cd;margin-bottom:30px}
.voice-response blockquote{font:400 clamp(23px,2.4vw,36px)/1.4 Urbanist,sans-serif;letter-spacing:-.02em;margin:0 0 32px;min-height:7em}
.voice-name{font:500 17px Urbanist,sans-serif;margin:0 0 7px}.voice-role{font:11px 'IBM Plex Mono',monospace;color:#aaa7b2;margin:0}
.voice-disclaimer{font:10px/1.7 'IBM Plex Mono',monospace;color:#888592;margin-top:35px}
@media(max-width:700px){.perspectives-heading{top:calc(var(--header) + 35px)}.perspectives-heading .perspectives-note{display:none}.perspectives-view{inset:27% 0 13%}.perspectives{height:350svh}.voices{padding:110px 6vw 150px}.voices-layout{grid-template-columns:1fr;gap:22px}.voices-orbits{height:330px;max-width:390px;margin:auto}.voice-copy{padding:0}.voice-response blockquote{font-size:24px;min-height:7em}.voice-sample{margin-bottom:22px}.voices-heading h2{font-size:32px}.voice-person{font-size:24px}}
@media(prefers-reduced-motion:reduce){.perspectives{height:auto;padding:110px 0 80px}.perspectives-stage{position:relative;height:auto;overflow:visible}.perspectives-heading{position:relative;inset:auto;margin:0 var(--pad) 50px}.perspectives-view{position:relative;inset:auto}.perspectives-view canvas,.perspectives-count{display:none}.perspectives-fallback{position:relative;clip-path:none;width:100%;height:auto;display:flex;gap:28px;overflow-x:auto;padding:10px var(--pad) 30px;scroll-snap-type:x mandatory}.perspectives-fallback li{flex:0 0 70%;scroll-snap-align:center}.perspectives-fallback img{width:100%;aspect-ratio:1.8;object-fit:cover;border-radius:999px}.perspectives-fallback h3{font:400 18px Urbanist;text-align:center}.perspectives-fallback p{font:11px 'IBM Plex Mono';text-align:center;color:#aaa8b2}.voice-orbit{animation:none!important}}

/* Image-only lens gallery and individually entering, continuously orbiting people. */
.perspectives-view{inset:12% 0 8%}
.voices-orbits{height:460px}
.voice-orbit{left:0;top:0;animation:none!important;will-change:transform}
.voice-orbit-0{width:26%}.voice-orbit-1{width:20%}.voice-orbit-2{width:18%}.voice-orbit-3{width:17%}.voice-orbit-4{width:16%}.voice-orbit-5{width:14%}
.voices:not(.voices-entered) .voice-person{opacity:0}
@media(max-width:700px){.voices-orbits{height:350px}.perspectives-view{inset:16% 0 10%}}
@media(prefers-reduced-motion:reduce){.voice-person{opacity:1!important}.perspectives-view{position:relative;inset:auto}}

/* A cohesive portrait atlas replaces the initials without affecting orbit geometry. */
.voice-person{position:relative;padding:0;overflow:hidden}
.voice-avatar{display:block;width:100%;height:100%;border-radius:inherit;background-image:url('/assets/avatars/studio-portraits-v1.webp');background-size:300% 200%;background-repeat:no-repeat;pointer-events:none}
.voices{display:flex;align-items:center;min-height:90svh}
.voices-layout{width:100%}
@media(max-width:700px){.voices{padding-top:90px;padding-bottom:100px;min-height:auto}}

/* Re-enable when approved, attributable client testimonials are available. */
.voices[hidden]{display:none!important}
