/* Hi-Def spatial direction: real project artefacts, layered in CSS 3D. */
.agency-title{font-size:clamp(4.9rem,9.55vw,10.5rem);line-height:.98;letter-spacing:-.085em}
.agency-title .title-row{display:block;white-space:nowrap;overflow:visible;padding:.005em 0 .035em}
.agency-title .title-row i{display:inline-block;font-size:1em;line-height:1.08;vertical-align:-.015em;padding-inline:.012em}
.agency-hero-content{position:relative;z-index:3}
.hero-dimension{position:absolute;right:-4%;top:8%;width:min(49vw,690px);aspect-ratio:1;z-index:1;pointer-events:none;perspective:1100px;filter:drop-shadow(0 30px 35px #050a6d62)}
.dimension-glow{position:absolute;inset:13%;border-radius:50%;background:radial-gradient(circle,#e7faff55 0,#a9b5ff30 24%,#496cff0d 53%,transparent 73%);filter:blur(35px)}
.dimension-rig{position:absolute;inset:11%;transform-style:preserve-3d;transform:rotateX(var(--rig-x,-18deg)) rotateY(var(--rig-y,-22deg));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.dimension-ring{position:absolute;inset:1%;border-radius:50%;background:conic-gradient(from 40deg,#e9ffff 0deg,#536cf3 32deg,#17218b 71deg,#faf6d5 110deg,#98b0ff 155deg,#1a246d 211deg,#e9ffff 255deg,#6088ee 305deg,#e9ffff 360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 15px),#000 calc(100% - 13px));mask:radial-gradient(farthest-side,transparent calc(100% - 15px),#000 calc(100% - 13px));box-shadow:0 0 30px #c1d6ff50;backface-visibility:visible}
.dimension-ring--one{transform:rotateX(72deg) rotateY(16deg);animation:dimension-turn-a 26s linear infinite}
.dimension-ring--two{inset:8%;background:conic-gradient(#e9eefe,#4e52ec,#dcff84,#f9fdff,#3549a1,#b9d7ff,#e9eefe);transform:rotateY(75deg) rotateZ(18deg);animation:dimension-turn-b 32s linear infinite reverse}
.dimension-ring--three{inset:16%;background:conic-gradient(#a7b9ff,#fbffff,#404ede,#eeffae,#adc9ff,#a7b9ff);transform:rotateX(28deg) rotateY(48deg);animation:dimension-turn-c 38s linear infinite}
.dimension-sphere{position:absolute;inset:28%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;color:#0b143c;text-align:center;transform:translateZ(100px);background:radial-gradient(circle at 30% 19%,#fff 0,#e3faff 9%,#94bef6 24%,#6273d3 43%,#dcff8a 58%,#2743a1 76%,#101957 100%);box-shadow:inset -24px -27px 42px #06094f9e,inset 15px 18px 35px #fff9,0 20px 50px #07108dc2,0 0 20px #fcfff48c;border:1px solid #eaf8ffbc}
.dimension-sphere:after{content:"";position:absolute;width:42%;height:10%;top:13%;left:21%;border-radius:50%;background:#fff9;filter:blur(12px);transform:rotate(-35deg)}
.dimension-sphere span{font:900 clamp(1.2rem,2.6vw,2.8rem)/1 'DM Sans',Arial,sans-serif;letter-spacing:-.08em;z-index:1}
.dimension-sphere small{font:600 clamp(.5rem,.75vw,.8rem)/1.4 'DM Mono',monospace;letter-spacing:.04em;margin-top:10px;z-index:1}
.dimension-satellite{position:absolute;width:13px;height:13px;border-radius:50%;background:#e5ff93;box-shadow:0 0 23px #e7ff91}
.dimension-satellite--one{left:12%;top:25%;transform:translateZ(120px)}
.dimension-satellite--two{right:10%;bottom:20%;transform:translateZ(70px);width:9px;height:9px}
.dimension-coordinate{position:absolute;color:#d8defe;font:500 .6rem/1 'DM Mono',monospace;letter-spacing:.13em}
.dimension-coordinate--top{right:13%;top:4%}.dimension-coordinate--bottom{left:0;bottom:5%}
@keyframes dimension-turn-a{to{transform:rotateX(72deg) rotateY(376deg)}}
@keyframes dimension-turn-b{to{transform:rotateY(435deg) rotateZ(18deg)}}
@keyframes dimension-turn-c{to{transform:rotateX(388deg) rotateY(48deg)}}

/* A coherent three-dimensional exhibit with a different visual grammar per project. */
.project-stage{perspective:1400px}
.project-stage .stage-top,.project-stage .stage-word,.project-stage .stage-bottom{position:relative;z-index:3}
.project-stage .stage-index{z-index:3}
.depth-scene{transform-style:preserve-3d;transform:rotateX(var(--scene-rx,0deg)) rotateY(var(--scene-ry,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.project-stage--collector{background:#0c1327}
.project-stage--collector .project-stage-bg{opacity:.36;filter:blur(4px);transform:scale(1.04)}
.project-stage--collector .stage-shade{background:linear-gradient(90deg,#071225de,#07122591 52%,#07122516),linear-gradient(0deg,#081126df,transparent 62%)}
.stage-object--collector{position:absolute;top:13%;right:4%;width:58%;height:65%;z-index:1}
.collector-art-frame{position:absolute;width:61%;height:88%;left:8%;top:0;padding:10px 10px 36px;background:#ece9df;border:1px solid #fff;box-shadow:0 32px 66px #030818ba,9px 9px 0 #a5aac7;transform:rotateY(-19deg) rotateZ(4deg) translateZ(45px)}
.collector-art-frame img{width:100%;height:100%;object-fit:cover;object-position:45% center;display:block}
.collector-art-frame span{position:absolute;bottom:8px;left:13px;color:#18203f;font:600 .6rem/1 'DM Mono',monospace;letter-spacing:.1em}
.collector-system-card{position:absolute;right:1%;bottom:0;width:51%;background:#e7ffac;color:#10172d;border:1px solid #fff7;box-shadow:0 24px 60px #02091dbd;transform:rotateY(11deg) rotateZ(-6deg) translateZ(120px);padding:19px 22px 15px}
.collector-system-card>span{display:block;font:700 .6rem/1.35 'DM Mono',monospace;letter-spacing:.05em;margin-bottom:18px}
.collector-system-card>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #19243b50;padding:10px 0;font:800 clamp(.65rem,.9vw,.95rem)/1.2 'DM Sans',sans-serif;letter-spacing:-.025em}
.collector-system-card b{font:500 .65rem/1 'DM Mono',monospace}
.project-stage--collector .stage-word{max-width:85%;text-shadow:0 12px 50px #020819ad}
.project-stage--wejustice{background:linear-gradient(140deg,#fc7479,#df5b69);color:#11182d}
.project-stage--wejustice .wj-depth{position:absolute;right:1%;top:12%;width:64%;height:68%;z-index:1}
.project-stage--wejustice .wj-map{position:absolute;inset:2% 1% 15% 7%;width:auto;height:auto;z-index:auto;transform:rotateY(-13deg) rotateZ(-4deg) translateZ(25px);border:7px solid #11182d;box-shadow:0 32px 70px #5d1f3877}
.project-stage--wejustice .wj-map img{width:100%;height:100%;object-fit:cover;object-position:left center}
.wj-depth-card{position:absolute;bottom:0;left:0;width:35%;background:#10182f;color:#fff;padding:18px 17px;box-shadow:0 24px 50px #461e3980;transform:rotateY(14deg) rotateZ(5deg) translateZ(100px)}
.wj-depth-card small{display:block;color:#ff8c92;font:600 .56rem/1.3 'DM Mono',monospace;margin-bottom:10px}
.wj-depth-card span{display:block;border-top:1px solid #ffffff46;padding:8px 0;font:700 clamp(.57rem,.85vw,.82rem)/1.2 'DM Mono',monospace}
.project-stage--wejustice .stage-word{z-index:3}
.project-stage--wejustice .stage-word h2{box-shadow:9px 11px 0 #ddff78;line-height:.9}
.project-stage--indyana{background:radial-gradient(circle at 70% 40%,#27122c,#08070c 65%)}
.indyana-depth{position:absolute;top:11%;right:1%;width:64%;height:70%;z-index:1}
.project-stage--indyana .indyana-object{position:absolute;right:0;top:0;width:91%;height:89%;z-index:1;transform:rotateY(-12deg) rotateZ(3deg) translateZ(25px);filter:drop-shadow(0 32px 36px #000c)}
.project-stage--indyana .indyana-object img{width:100%;height:100%;object-fit:contain}
.indyana-frame{position:absolute;left:0;bottom:0;width:34%;height:55%;padding:7px 7px 30px;background:#f65bc6;box-shadow:0 22px 50px #000e;transform:rotateY(16deg) rotateZ(-9deg) translateZ(115px)}
.indyana-frame img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.indyana-frame span{position:absolute;bottom:9px;left:12px;color:#0a0910;font:700 .53rem/1 'DM Mono',monospace}
.project-stage--indyana .stage-word{z-index:3;text-shadow:0 8px 35px #000d}

/* The case studies have their own spatial evidence, with explicit illustration labels. */
.case-dimensional{position:relative;min-height:760px;padding:clamp(90px,9vw,135px) clamp(22px,4.4vw,76px);display:grid;grid-template-columns:minmax(280px,.72fr) 1.28fr;align-items:center;gap:5vw;overflow:hidden;isolation:isolate;perspective:1500px}
.case-dimensional-copy{position:relative;z-index:2;max-width:580px}
.case-dimensional-copy>span{font:600 .69rem/1.4 'DM Mono',monospace;letter-spacing:.08em}
.case-dimensional-copy h2{font:900 clamp(3.6rem,6.5vw,7rem)/.98 'DM Sans',sans-serif;letter-spacing:-.07em;margin:29px 0 27px}
.case-dimensional-copy h2 em{font:italic 400 1.04em/1 'Instrument Serif',Georgia,serif;letter-spacing:-.04em}
.case-dimensional-copy p{font:400 clamp(1rem,1.25vw,1.23rem)/1.55 'DM Sans',sans-serif;max-width:440px}
.case-dimensional-copy a{display:inline-block;border-bottom:1px solid currentColor;margin-top:24px;padding-bottom:8px;font:700 .88rem/1.2 'DM Sans',sans-serif}
.case-dimensional-scene{height:540px;position:relative;z-index:1}
.case-dimensional--collector{background:#10182d;color:#f9f6ef}
.case-dimensional--collector:before{content:"";position:absolute;width:75%;aspect-ratio:1;right:-15%;top:-35%;border-radius:50%;background:radial-gradient(circle,#405382aa,transparent 65%);filter:blur(25px)}
.case-dimensional--collector .case-dimensional-copy>span,.case-dimensional--collector h2 em{color:#e4ff9d}
.collector-case-scene .collector-art-frame{left:10%;width:58%;height:91%;transform:rotateY(-18deg) rotateZ(3deg) translateZ(30px)}
.collector-case-scene .collector-system-card{right:0;bottom:7%;width:49%;transform:rotateY(14deg) rotateZ(-5deg) translateZ(120px)}
.case-dimensional--wejustice{background:#f17a7b;color:#12172c}
.case-dimensional--wejustice .case-dimensional-copy>span{color:#18223c}
.case-dimensional--wejustice h2 em{color:#fff;background:#11182d;padding:0 .07em}
.wejustice-case-scene .wj-case-map{position:absolute;inset:9% 2% 13% 5%;background:#10182d;padding:10px;box-shadow:0 30px 70px #62233678;transform:rotateY(-14deg) rotateZ(-3deg) translateZ(15px)}
.wejustice-case-scene .wj-case-map img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block}
.wj-case-step{position:absolute;min-width:26%;background:#11182d;color:#fff;padding:14px 15px;box-shadow:0 18px 35px #6b29466b;display:flex;gap:13px;align-items:start;transform:translateZ(120px)}
.wj-case-step b{color:#ff8d94;font:700 .8rem/1 'DM Mono',monospace}
.wj-case-step span{font:700 clamp(.64rem,1vw,.86rem)/1.25 'DM Mono',monospace}
.wj-case-step--one{top:0;left:0;transform:rotateZ(-7deg) translateZ(120px)}
.wj-case-step--two{top:29%;right:-3%;transform:rotateZ(5deg) translateZ(160px)}
.wj-case-step--three{bottom:0;left:13%;transform:rotateZ(4deg) translateZ(180px)}
.case-dimensional--indyana{background:#100c13;color:#fff}
.case-dimensional--indyana:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 42%,#6e255653,transparent 49%)}
.case-dimensional--indyana .case-dimensional-copy>span,.case-dimensional--indyana h2 em{color:#f66bcc}
.indyana-case-home{position:absolute;inset:6% 17% 5% 8%;padding:12px 12px 38px;background:#efebec;box-shadow:0 30px 70px #000d;transform:rotateY(-15deg) rotateZ(3deg) translateZ(25px)}
.indyana-case-home img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.indyana-case-home span{position:absolute;bottom:10px;left:14px;color:#150d16;font:700 .63rem/1 'DM Mono',monospace}
.indyana-case-device{position:absolute;right:-5%;bottom:0;width:55%;height:68%;transform:rotateY(19deg) rotateZ(-7deg) translateZ(125px);filter:drop-shadow(0 20px 25px #000c)}
.indyana-case-device img{width:100%;height:100%;object-fit:contain}
.indyana-case-count{position:absolute;right:1%;top:3%;color:#fa79d2;font:900 clamp(4rem,7vw,8rem)/.7 'DM Sans',sans-serif;letter-spacing:-.07em;transform:translateZ(170px)}
.indyana-case-count small{display:block;color:#fff;font:700 .64rem/1.2 'DM Mono',monospace;letter-spacing:.08em;margin-top:15px}

@media(max-width:1000px){
 .hero-dimension{width:51vw;right:-12%;top:17%}
 .stage-object--collector{width:66%;right:-2%}.project-stage--wejustice .wj-depth,.indyana-depth{width:72%;right:-6%}
 .case-dimensional{grid-template-columns:1fr 1fr;gap:20px}.case-dimensional-scene{height:500px}
}
@media(max-width:760px){
 .agency-title{font-size:clamp(3rem,11.4vw,6rem);line-height:1.02;letter-spacing:-.08em}
 .agency-title .title-row{padding:.012em 0 .035em}.agency-title .title-row i{line-height:1.1}
 .hero-dimension{width:81vw;right:-34%;top:17%;opacity:.56;filter:drop-shadow(0 18px 30px #050a6d50)}
 .dimension-sphere span{font-size:1.4rem}.dimension-sphere small{font-size:.45rem}
 .project-stage .stage-word h2{line-height:.88}
 .stage-object--collector{top:17%;right:0;width:100%;height:45%}
 .collector-art-frame{padding:6px 6px 25px}.collector-art-frame span{font-size:.4rem;bottom:6px}
 .collector-system-card{right:5%;width:46%;padding:9px 10px 6px}.stage-object--collector .collector-system-card{top:8%;bottom:auto;right:7%;width:44%}.collector-system-card>span{font-size:.39rem;margin-bottom:6px}.collector-system-card>div{font-size:.43rem;padding:5px 0}.collector-system-card b{font-size:.39rem}
 .project-stage--wejustice .wj-depth{top:16%;right:-17%;width:110%;height:43%}
 .project-stage--wejustice .wj-map{inset:1% 4% 8% 10%;width:auto;height:auto;top:auto;right:auto;transform:rotateY(-10deg) rotateZ(-4deg) translateZ(20px);border-width:4px}
 .wj-depth-card{width:39%;padding:9px}.wj-depth-card small{font-size:.4rem}.wj-depth-card span{font-size:.45rem;padding:5px 0}
 .indyana-depth{top:16%;right:-15%;width:112%;height:43%}.project-stage--indyana .indyana-object{width:92%;height:90%;right:0;top:0}.project-stage--indyana .indyana-frame{display:none}
 .case-dimensional{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:86px;padding-bottom:65px;gap:30px}
 .case-dimensional-copy h2{font-size:clamp(3.2rem,9vw,5rem);margin:20px 0}.case-dimensional-copy p{font-size:1rem}
 .case-dimensional-scene{height:420px;width:100%;flex:none}
 .wj-case-step{padding:7px;gap:6px}.wj-case-step b,.wj-case-step span{font-size:.5rem}
}
@media(max-width:480px){
 .agency-title{font-size:11.45vw}.hero-dimension{width:94vw;right:-43%;top:21%}
 .case-dimensional-scene{height:330px}.collector-case-scene .collector-art-frame{left:1%;width:67%}.collector-case-scene .collector-system-card{width:44%;right:7%;bottom:5%}
 .wejustice-case-scene .wj-case-map{inset:12% 0 9% 1%}.wj-case-step--two{right:-2%}.wj-case-step--three{left:4%}
 .indyana-case-home{inset:8% 12% 7% 0}.indyana-case-device{width:61%;right:-12%}.indyana-case-count{font-size:4.5rem}
}
@media(prefers-reduced-motion:reduce){.dimension-ring{animation:none}.depth-scene,.dimension-rig{transition:none}}

/* Full homepage captures replace isolated object cards in the three case studies. */
.case-dimensional:has(.case-site-preview){grid-template-columns:minmax(260px,.64fr) minmax(0,1.36fr);align-items:start;overflow:visible;perspective:none;gap:clamp(30px,5vw,90px)}
.case-dimensional:has(.case-site-preview) .case-dimensional-copy{position:sticky;top:clamp(30px,7vh,90px);align-self:start}
.case-site-preview{min-width:0;width:100%;margin:0;position:relative;z-index:2}
.case-site-browser{background:#fff;border:1px solid #ffffff55;box-shadow:0 30px 75px #05091468;overflow:hidden}
.case-site-chrome{height:44px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#edeef3;color:#424759;font:500 clamp(.55rem,.74vw,.72rem)/1 'DM Mono',monospace;letter-spacing:.01em}
.case-site-dots{display:flex;gap:5px;flex:none}.case-site-dots i{width:7px;height:7px;border-radius:50%;background:#b7bcc9}.case-site-chrome>span:last-child{font-size:1rem}.case-site-browser img{display:block;width:100%;height:auto;max-width:none}
.case-site-preview figcaption{margin-top:15px;font:500 .66rem/1.5 'DM Mono',monospace;letter-spacing:.04em;text-transform:uppercase;opacity:.85}
@media(max-width:760px){.case-dimensional:has(.case-site-preview){display:flex;flex-direction:column;gap:40px;overflow:hidden}.case-dimensional:has(.case-site-preview) .case-dimensional-copy{position:relative;top:auto}.case-site-chrome{height:37px;padding:0 10px}.case-site-dots i{width:6px;height:6px}}

.case-dimensional:has(.case-site-preview).case-dimensional--collector:before{display:none}
