/* Connected Brand Gallery: visual review, independent of the published site. */
body{--bg:#fafaf9;--ink:#18181b;--surface:#ffffff;--muted:#717177;--line:#dfdfe2}
body.dark{--bg:#101013;--ink:#f5f5f5;--surface:#1b1b20;--muted:#adadb6;--line:#34343e}
header{height:78px;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(18px)}
.hero{padding-top:35px;min-height:calc(100svh - 78px);background:radial-gradient(ellipse at 50% 28%,#d9d9e62e,transparent 48%)}
.hero-world{max-width:1060px;height:350px;isolation:isolate}
.hero-logo{width:185px;left:calc(50% - 92.5px);top:100px;z-index:2}
.orbit{inset:45px 110px;transform:rotate(-16deg);opacity:.75}
.orbit-second{inset:20px 220px;transform:rotate(27deg);opacity:.3}
.world-caption{position:absolute;left:0;right:0;top:260px;font:8px Mono;letter-spacing:.22em;color:var(--muted)}
.floating{color:var(--ink);border-radius:3px;box-shadow:3px 5px 0 #00000004,18px 30px 50px #00000012;transition:box-shadow .3s,scale .3s}
.floating:hover{scale:1.06;box-shadow:18px 35px 65px #00000024}
.postcard{left:4%;top:50px;width:165px;min-height:155px;transform:rotateY(20deg) rotate(-13deg);font-size:24px;padding:28px 20px}
.postcard:before{content:'';height:5px;width:30px;display:block;background:linear-gradient(90deg,#bcbcc5,#777783);margin-bottom:20px}
.browser{right:5%;top:20px;width:225px;transform:rotateY(-25deg) rotate(10deg)}
.browser small{font:7px Mono;display:block;margin-top:12px;color:var(--muted)}
.timeline{right:20%;bottom:5px;width:175px;transform:rotateY(-15deg) rotate(-7deg)}
.automation{left:19%;bottom:6px;width:180px;padding:18px;transform:rotateY(20deg) rotate(6deg);animation-delay:-3s}
.automation .node{display:inline-grid;place-items:center;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;font:10px Mono;background:linear-gradient(120deg,var(--surface),#a1a1aa44)}
.wire{display:inline-block;width:45px;height:1px;background:var(--muted);vertical-align:middle}
.automation small{font:7px Mono;display:block;margin-top:14px}
h1{font-size:clamp(34px,4.2vw,61px);margin:12px 0 14px;letter-spacing:-.055em}
.hero h1 span{background:linear-gradient(115deg,#777780,#b0b0b8 45%,#585863);background-clip:text;color:transparent}
.dark .hero h1 span{background-image:linear-gradient(115deg,#b5b5bf,#f0f0f3 45%,#858591)}
.hero p{font-size:15px;margin-bottom:22px}.hero-foot{margin-top:34px}
.gallery-sticky{top:78px;height:calc(100svh - 78px);min-height:0;background:radial-gradient(ellipse at 72% 46%,#9797b31f,transparent 48%),var(--bg)}
.scene-art{--lean:0deg;--rise:0px;transform:translateY(var(--rise));}
.mini-project{max-width:400px;transform:rotateY(calc(-18deg + var(--lean))) rotateX(7deg) rotate(5deg);border:1px solid #aaaab2;border-radius:4px;box-shadow:1px 1px 0 #fff9,9px 10px 0 #9999a02b,28px 36px 50px #00000022;animation:none}
.scene-art:before,.scene-art:after{content:'';position:absolute;width:75px;height:75px;border:1px solid var(--line);border-radius:18px;z-index:-1;transform:rotate(25deg);background:linear-gradient(130deg,var(--surface),#b0b0bf28);box-shadow:10px 12px 20px #00000009}
.scene-art:before{top:5%;right:1%;translate:0 var(--rise)}.scene-art:after{left:3%;bottom:12%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#f4f4f6,#bcbcc6 50%,#646470);border:0;box-shadow:12px 15px 28px #0002}
.scene-copy h2{font-size:clamp(38px,5.5vw,79px)}
.scene-copy{transition:opacity .18s,translate .18s}.scene.is-changing .scene-copy{opacity:.25;translate:0 8px}
.gallery-bottom{padding-top:15px;border-top:1px solid var(--line)}
.dots button{width:20px;min-height:44px}.dots button:before{transition:background .25s}
.project-top{padding:17px}.project-image{height:185px}.project-caption strong{font-size:48px}
.ad-visual{height:100%;padding:20px;display:flex;gap:12px;align-items:center;justify-content:center}
.ad-tile{width:90px;height:125px;background:#efefea;padding:12px;box-shadow:6px 8px 0 #73737d55;transform:rotate(-10deg);font:8px Mono}
.ad-tile:nth-child(2){transform:rotate(8deg);background:#292930;color:#eee}
.ad-tile strong{font:26px Space;display:block;margin:12px 0}.ad-tile i{display:block;height:27px;background:linear-gradient(120deg,#bdbdc6,#747481);border-radius:50%}
.writing-visual{margin:22px auto;width:75%;padding:15px;background:#f4f4f1;box-shadow:8px 10px 0 #77778044;transform:rotate(-4deg)}
.writing-visual strong{font-size:23px}.writing-visual i{display:block;height:4px;background:#a8a8b0;width:85%;margin:12px 0}.writing-visual i:nth-child(3){width:65%}
.flyer-visual{width:115px;margin:10px auto;padding:14px;background:#25252d;color:#f5f5f1;transform:rotate(-10deg);box-shadow:14px 10px 0 #eee,19px 15px 0 #8888}
.flyer-visual strong{font-size:30px;line-height:.96;display:block}.flyer-visual div{height:38px;background:linear-gradient(130deg,#c7c7cf,#80808c);margin-top:10px}
.identity-visual{height:100%;display:flex;align-items:center;justify-content:center;gap:18px}.identity-visual b{font-size:90px;letter-spacing:-.13em}.swatches{display:grid;gap:5px}.swatches span{width:35px;height:35px;border:1px solid #999}.swatches span:nth-child(1){background:#18181b}.swatches span:nth-child(2){background:#f7f7f2}.swatches span:nth-child(3){background:linear-gradient(120deg,#ededf0,#8c8c99)}
.social-visual{height:100%;padding:16px;display:flex;gap:10px;justify-content:center}.social-visual div{background:#ededed;width:95px;transform:rotate(-6deg);padding:8px;box-shadow:5px 7px 0 #7774}.social-visual div:nth-child(2){transform:rotate(8deg);margin-top:12px}.social-visual i{display:block;height:60px;background:radial-gradient(circle at 30% 20%,#f7f7f7,#9d9daa 70%,#585868);border-radius:40px 40px 2px 2px}.social-visual strong{font-size:13px;display:block;margin-top:8px}.social-visual small{font:6px Mono}
dialog{border-radius:12px;box-shadow:0 0 0 5px #ffffff12,0 40px 120px #0005;transform:perspective(1800px) rotateX(1deg)}
.display-header{position:sticky;top:-28px;background:var(--surface);z-index:2;padding-bottom:8px}
.story{position:relative}.story:after{content:'NMS';position:absolute;right:6%;bottom:15px;font-size:130px;opacity:.045;pointer-events:none}
.dark .story h2 span{color:#66666f}
@media(max-width:700px){header{height:72px}.hero{padding-top:25px}.hero-world{height:300px}.hero-logo{width:125px;left:calc(50% - 62.5px);top:95px}.orbit{inset:60px 0}.orbit-second{inset:35px 50px}.world-caption{top:215px;font-size:6px}.postcard{width:100px;min-height:100px;left:0;top:35px;padding:14px 10px;font-size:15px}.postcard:before{margin-bottom:10px;height:3px}.browser{width:125px;right:0;top:20px}.browser small{font-size:6px}.timeline{width:115px;right:1%;bottom:8px}.automation{width:120px;left:1%;bottom:15px;padding:12px}.automation .node{width:25px;height:25px;font-size:8px}.wire{width:22px}.automation small{font-size:5px}.hero h1{font-size:32px}.hero-foot{font-size:7px;gap:12px}.gallery-sticky{top:72px;height:calc(100svh - 72px);min-height:0}.scene-art{padding:20px 25px 10px}.mini-project{max-width:215px;transform:rotate(-5deg)}.scene-art:before{width:40px;height:40px;right:6%;top:15%}.scene-art:after{width:50px;height:50px;left:7%;bottom:15%}.scene-copy h2{font-size:35px}.project-image{height:90px}.project-caption strong{font-size:26px}.project-top{padding:8px}.ad-visual{padding:6px;gap:8px}.ad-tile{height:73px;width:58px;padding:6px;font-size:5px}.ad-tile strong{font-size:17px;margin:5px 0}.ad-tile i{height:15px}.writing-visual{margin:10px auto;padding:8px}.writing-visual strong{font-size:15px}.writing-visual i{height:2px;margin:6px 0}.flyer-visual{width:70px;padding:8px;margin:5px auto}.flyer-visual strong{font-size:18px}.flyer-visual div{height:20px;margin-top:6px}.identity-visual b{font-size:45px}.swatches span{width:18px;height:18px}.social-visual{padding:8px;gap:7px}.social-visual div{width:58px;padding:5px}.social-visual i{height:30px}.social-visual strong{font-size:8px;margin-top:4px}.social-visual small{font-size:4px}.display-header{top:-20px}.scene-art{transform:none}.story:after{font-size:70px}}
@media(max-height:700px) and (max-width:700px){.scene-art{padding:5px 35px}.mini-project{max-width:145px}.project-image{height:55px}.project-caption strong{font-size:20px}.project-top{padding:5px}.scene-copy h2{font-size:27px}.ad-tile{height:44px;width:40px;padding:3px}.ad-tile strong{font-size:11px;margin:2px 0}.ad-tile i{height:8px}.ad-visual{padding:4px}.writing-visual{margin:5px auto;padding:5px}.writing-visual strong{font-size:11px}.writing-visual i{margin:4px 0}.flyer-visual{width:45px;padding:5px;margin:3px auto}.flyer-visual strong{font-size:11px}.flyer-visual div{height:12px;margin-top:3px}.identity-visual b{font-size:30px}.swatches span{width:12px;height:12px}.social-visual i{height:16px}.social-visual strong{font-size:6px}.social-visual div{width:38px;padding:3px}}
@media(prefers-reduced-motion:reduce){.scene-art{transform:none}.scene-copy{transition:none}}

/* Slow orbital choreography around the brand. */
.hero-photo{display:block;width:100%;height:65px;object-fit:cover;filter:grayscale(1);border-radius:2px;margin:8px 0;transition:filter .3s}
.floating:hover .hero-photo,.floating:focus-visible .hero-photo{filter:grayscale(0)}
.hero .postcard{padding:14px;min-height:0}.hero .postcard:before{display:none}.hero .postcard span{font-size:19px}
.photo-gallery{padding:65px 6% 80px;border-top:1px solid var(--line)}
.photo-intro{max-width:750px;margin-bottom:32px}.photo-intro h2{font-size:clamp(30px,4vw,52px);letter-spacing:-.05em;margin:14px 0}.photo-intro p{color:var(--muted);font-size:15px}
.photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.photo-card{position:relative;display:block;padding:0;text-align:left;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:#171719;color:#fff;min-height:330px}
.photo-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:grayscale(1);transition:filter .4s,transform .6s}
.photo-card:hover img,.photo-card:focus-visible img{filter:grayscale(0);transform:scale(1.035)}
.photo-card>span{position:absolute;inset:0;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent 25%,#000b)}
.photo-card small{font:9px Mono;text-transform:uppercase;letter-spacing:.06em}.photo-card strong{display:block;font:25px Space;margin:12px 0 0;max-width:220px;letter-spacing:-.03em}.photo-card b{position:absolute;right:18px;top:18px;font-size:23px;font-weight:400}
.photo-card:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:1000px){.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-card{min-height:300px}}
@media(max-width:700px){.hero-photo{height:40px;margin:5px 0}.hero .postcard{padding:9px}.hero .postcard span{font-size:13px}.photo-gallery{padding:40px 5%}.photo-grid{gap:12px}.photo-card{min-height:240px}.photo-card>span{padding:14px}.photo-card strong{font-size:21px}.photo-card small{font-size:8px}}
@media(max-width:370px){.photo-grid{grid-template-columns:1fr}.photo-card{min-height:280px}}
@media(prefers-reduced-motion:reduce){.photo-card img,.hero-photo{transition:none}.photo-card:hover img{transform:none}}
.hero-world{perspective:1000px}
.virtual-space{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden;border-radius:50%;opacity:.8}
.world-grid{position:absolute;inset:15% 8% -65%;background-image:linear-gradient(#9090a31b 1px,transparent 1px),linear-gradient(90deg,#9090a31b 1px,transparent 1px);background-size:45px 45px;transform:rotateX(65deg);mask-image:radial-gradient(ellipse,#0008,transparent 65%)}
.world-ring{position:absolute;inset:20% 10%;border:1px solid #9b9ba437;border-radius:50%;animation:ring-turn 28s linear infinite;transform-style:preserve-3d}
.world-ring i{position:absolute;left:18%;top:5%;width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#fff,#b8b8c2 45%,#515164);box-shadow:0 0 15px #a0a0b444}
.ring-b{inset:12% 21%;animation-duration:36s;animation-direction:reverse}.ring-b i{width:6px;height:6px;left:70%}.ring-c{inset:25% 1%;animation-duration:44s;opacity:.6}
.world-globe{position:absolute;left:calc(50% - 125px);top:52px;width:250px;height:250px;border-radius:50%;border:1px solid #aaaab322;transform:rotate(-18deg);animation:globe-drift 20s ease-in-out infinite}
.world-globe span{position:absolute;inset:0 25%;border:1px solid #aaaab31f;border-radius:50%}.world-globe span:nth-child(2){inset:25% 0}.world-globe span:nth-child(3){inset:10% 13%;transform:rotate(45deg)}
.hero .postcard{animation:world-card-left 12s ease-in-out infinite}.hero .browser{animation:world-card-right 15s ease-in-out infinite}.hero .timeline{animation:world-card-video 13s ease-in-out infinite;animation-delay:-4s}.hero .automation{animation:world-card-flow 16s ease-in-out infinite;animation-delay:-7s}
.world-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#9494a2;animation:particle-drift 14s ease-in-out infinite;opacity:.5}.particle-0{left:15%;top:35%}.particle-1{left:32%;top:15%;animation-delay:-2s}.particle-2{left:65%;top:70%;animation-delay:-4s}.particle-3{left:80%;top:30%;animation-delay:-6s}.particle-4{left:38%;top:80%;animation-delay:-8s}.particle-5{left:70%;top:14%;animation-delay:-10s}.particle-6{left:10%;top:70%;animation-delay:-3s}.particle-7{left:90%;top:60%;animation-delay:-9s}
.hero .wire{position:relative}.hero .wire:after{content:'';position:absolute;width:5px;height:5px;top:-2px;left:0;background:var(--ink);border-radius:50%;animation:signal-flow 3.5s ease-in-out infinite}
.motion-toggle{display:block;margin:0 auto 12px;background:none;border:0;color:var(--muted);font:9px Mono;padding:8px 12px;min-height:32px;letter-spacing:.08em}
.motion-paused *, .motion-paused *:after,.motion-offscreen *, .motion-offscreen *:after{animation-play-state:paused!important}
@keyframes ring-turn{0%{transform:rotateX(52deg) rotateZ(0deg)}100%{transform:rotateX(52deg) rotateZ(360deg)}}
@keyframes globe-drift{0%,100%{transform:rotate(-18deg) rotateY(-15deg)}50%{transform:rotate(8deg) rotateY(15deg)}}
@keyframes world-card-left{0%,100%{transform:translate3d(0,0,0) rotateY(20deg) rotate(-13deg)}50%{transform:translate3d(18px,-12px,25px) rotateY(8deg) rotate(-8deg)}}
@keyframes world-card-right{0%,100%{transform:translate3d(0,0,0) rotateY(-25deg) rotate(10deg)}50%{transform:translate3d(-14px,15px,30px) rotateY(-12deg) rotate(5deg)}}
@keyframes world-card-video{0%,100%{transform:translate3d(0,0,0) rotateY(-15deg) rotate(-7deg)}50%{transform:translate3d(-12px,-12px,20px) rotateY(5deg) rotate(-2deg)}}
@keyframes world-card-flow{0%,100%{transform:translate3d(0,0,0) rotateY(20deg) rotate(6deg)}50%{transform:translate3d(12px,8px,20px) rotateY(5deg) rotate(0deg)}}
@keyframes particle-drift{0%,100%{transform:translate3d(0,0,0);opacity:.2}50%{transform:translate3d(20px,-15px,0);opacity:.7}}
@keyframes signal-flow{0%{transform:translateX(0);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateX(40px);opacity:0}}
@media(max-width:700px){.hero .floating{animation:mobile-world-float 14s ease-in-out infinite;animation-delay:-3s}.hero .browser{animation-delay:-7s}.hero .timeline{animation-delay:-10s}.world-ring{animation-duration:50s}.world-globe{width:175px;height:175px;left:calc(50% - 87.5px);top:72px}.world-grid{background-size:30px 30px}.motion-toggle{min-height:44px;margin-bottom:4px}.world-particle:nth-last-child(-n+4){display:none}.hero .wire:after{animation:none}.virtual-space{opacity:.6}}
@keyframes mobile-world-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(prefers-reduced-motion:reduce){.hero *, .hero *:after{animation:none!important;transition:none!important}.motion-toggle{display:none}}
