@font-face{font-family:Portfolio;src:url('assets/nimbus-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Portfolio;src:url('assets/nimbus-bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--bg:#121016;--ink:#ffffff;--muted:#aaa2b8;--line:#37303f;--accent:#c54dff;--pad:clamp(22px,4.15vw,72px);--mono:ui-monospace,SFMono-Regular,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Portfolio,Arial,sans-serif;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.accent{color:var(--ink)}.tiny-label{font-family:var(--mono);font-size:10px;line-height:1.6;letter-spacing:.055em}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;padding:12px 20px;background:var(--accent);color:var(--bg)}.skip-link:focus{top:20px}.site-header{margin:0 var(--pad);height:108px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:flex;align-items:center;gap:5px;font-size:38px;font-weight:700;letter-spacing:-2px;line-height:1}.wordmark span{color:var(--ink);font-size:37px;display:inline-block;transform:translateY(2px)}.desktop-nav{display:flex;gap:36px;margin-left:45px;font-size:14px}.desktop-nav a{padding:15px 0;position:relative}.desktop-nav a:after,.contact-link:after{content:'';height:1px;background:var(--ink);position:absolute;bottom:9px;left:0;width:0;transition:width .25s}.desktop-nav a:hover:after,.contact-link:hover:after{width:100%}.desktop-nav span{font-family:var(--mono);font-size:9px;vertical-align:super;color:var(--muted);margin-left:3px}.contact-link{position:relative;font-size:14px;padding:16px 0}.contact-link>span{font-size:21px;margin-left:14px}.hero{padding:40px var(--pad) 0}.hero-kicker{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.045em;color:var(--muted)}.hero-kicker>span:first-child{color:var(--ink);display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%}.hero-main{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:end;gap:24px;margin-top:39px}h1{font-size:clamp(92px,13.6vw,222px);line-height:.85;letter-spacing:-.065em;font-weight:700;margin:0 0 0 -9px}h1 .second-line{white-space:nowrap}.hero-aside{padding:0 0 6px 30px}.hero-aside>.tiny-label{color:var(--muted)}.hero-aside p{font-size:17px;line-height:1.3;margin:27px 0 24px}.round-link{width:56px;height:56px;border:1px solid #797083;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:29px;transition:background .25s,color .25s,border-color .25s}.round-link:hover{background:var(--accent);border-color:var(--accent);color:var(--bg)}.round-link span{transition:transform .25s}.round-link:hover span{transform:translateY(3px)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:40px;padding-bottom:38px;border-bottom:1px solid var(--line)}.hero-bottom p{margin:0;font-size:15px;color:#c9c1d2}.hero-bottom .tiny-label{color:var(--muted)}.hero-bottom .tiny-label>span{margin-left:20px;font-size:16px}.work-section{padding:55px var(--pad) 88px;scroll-margin-top:12px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}h2{font-weight:400}.section-heading h2{font-size:36px;letter-spacing:-.035em;margin:0}.count{font-size:12px;font-family:var(--mono);letter-spacing:0;color:var(--muted);vertical-align:top;display:inline-block;margin:3px 0 0 8px}.filters{display:flex;gap:6px}.filter{font-size:12px;padding:11px 15px;border:1px solid transparent;border-radius:30px;background:transparent;transition:background .2s,color .2s,border-color .2s}.filter span{font-family:var(--mono);font-size:9px;opacity:.6;margin-left:5px}.filter:hover{border-color:var(--line)}.filter.active{background:var(--ink);color:var(--bg)}.concept-note{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;margin:18px 0 26px}.mini-cross{color:var(--ink);font-size:14px}.projects{display:grid;grid-template-columns:1.1fr 1fr;column-gap:26px;row-gap:41px}.project{min-width:0;animation:project-in .4s both}.project[hidden]{display:none}.project-featured{grid-column:1/-1}.project-visual{position:relative;display:block;overflow:hidden;width:100%;padding:0;border:0;text-align:left;background:#beb3d2;isolation:isolate}.form-visual{aspect-ratio:2.12}.form-visual img{position:absolute;top:50%;left:0;width:100%;height:100%;object-fit:cover;transform:translateY(-50%);transition:transform .9s cubic-bezier(.2,.7,.3,1);object-position:center 51%}.form-visual:hover img{transform:translateY(-50%) scale(1.035)}.art-top,.art-bottom{position:absolute;left:26px;right:26px;display:flex;justify-content:space-between;align-items:center;z-index:2;font-family:var(--mono);font-size:9px;letter-spacing:.05em;line-height:1.5}.art-top{top:22px;min-height:32px;align-items:flex-start}.art-bottom{bottom:22px}.form-visual .art-top,.form-visual .art-bottom{color:#24202e}.open-circle{display:flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:50%;background:var(--ink);color:var(--bg);font-family:Portfolio,Arial,sans-serif;font-size:24px;transition:background .25s,transform .3s}.project-visual:hover .open-circle{background:var(--accent);transform:rotate(45deg)}.form-title{position:absolute;bottom:52px;left:24px;z-index:1;font-size:clamp(60px,10vw,160px);font-weight:700;letter-spacing:-.06em;color:#f6f5ed;line-height:.8;mix-blend-mode:screen;text-shadow:0 1px 25px #504a6b24}.form-title>span{font-family:var(--mono);font-size:10px;letter-spacing:0;vertical-align:top;display:inline-block;margin-left:15px;margin-top:3px}.project-caption{padding-top:16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-caption h3{font-size:18px;margin:0 0 5px;letter-spacing:-.01em;font-weight:400}.project-caption p{font-size:12px;line-height:1.4;color:var(--muted);margin:0}.project-type{font-family:var(--mono);font-size:9px;letter-spacing:.03em;padding-top:5px;white-space:nowrap}.project-type span{font-size:15px;margin-left:16px}.kinetic-visual{aspect-ratio:1.16;background:#334dff;color:var(--ink)}.kinetic-visual .open-circle{background:#d293ff}.kinetic-composition{display:block;position:absolute;left:5%;right:5%;top:23%;transform:rotate(-5deg);transition:transform .7s cubic-bezier(.2,.7,.3,1)}.project-visual:hover .kinetic-composition{transform:rotate(0)}.kinetic-composition>span:not(.kinetic-line):not(.kinetic-small){display:block;font-size:clamp(65px,11.3vw,170px);font-weight:700;letter-spacing:-.07em;line-height:.8}.kinetic-composition>span:first-child{padding-left:3%}.kinetic-composition .outline{-webkit-text-stroke:1.6px #d293ff;color:transparent;white-space:nowrap}.kinetic-star{font-weight:400;font-size:.68em;display:inline-block;margin-left:10px;vertical-align:top;line-height:1;transform:rotate(12deg);transition:transform .9s}.kinetic-visual:hover .kinetic-star{transform:rotate(102deg)}.kinetic-line{display:block;height:8px;margin-top:20px;background:#d293ff}.kinetic-small{font:9px/1.3 var(--mono);letter-spacing:.05em;display:block;margin-top:16px;text-align:right}.brand-visual{aspect-ratio:1.054;background:#ef7148;color:#502c1d}.brand-scene{position:absolute;inset:15% 7% 11%;display:block}.brand-sheet{display:flex;flex-direction:column;position:absolute;top:0;left:8%;width:62%;height:90%;background:#ece9d9;color:#1d2927;box-shadow:8px 14px 20px #763f2926;transform:rotate(-12deg);padding:6%;transition:transform .8s cubic-bezier(.2,.7,.3,1)}.brand-sheet>span:first-child{font-size:clamp(28px,3.3vw,50px);font-weight:700;letter-spacing:-.07em;line-height:.9}.brand-plus{display:inline-block;margin-left:3px;font-weight:400}.sheet-grid{display:block;height:50%;margin-top:20%;border:1px solid #354842;background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),#354842 calc(25% - 1px) 25%),repeating-linear-gradient(0deg,transparent 0 calc(33.333% - 1px),#354842 calc(33.333% - 1px) 33.333%)}.sheet-foot{font:clamp(5px,.65vw,9px)/1.5 var(--mono);letter-spacing:.02em;margin-top:auto}.brand-card{display:flex;flex-direction:column;justify-content:space-between;position:absolute;right:0;bottom:3%;width:48%;height:52%;background:#243e36;color:#e6c8ff;transform:rotate(12deg);box-shadow:2px 12px 24px #6734213d;padding:8%;transition:transform .8s cubic-bezier(.2,.7,.3,1)}.brand-card>span:last-child{font:9px/1.1 var(--mono)}.brand-symbol{font-size:clamp(50px,6.6vw,100px);font-weight:700;letter-spacing:-.1em;line-height:.85}.brand-symbol>span{display:inline-block;font-size:.58em;vertical-align:top;line-height:1.4;margin-left:5px}.brand-sticker{display:block;position:absolute;right:0;top:3%;font:7px/1.3 var(--mono);width:70px;height:70px;border:1px solid #502c1d;border-radius:50%;padding:18px 0 0 14px;transform:rotate(15deg)}.brand-sticker>span{font-size:17px;position:absolute;right:10px;top:28px}.brand-visual:hover .brand-sheet{transform:rotate(-8deg) translateY(-4px)}.brand-visual:hover .brand-card{transform:rotate(7deg) translateY(4px)}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:20px 0 14px;color:var(--ink)}.ticker>div{display:flex;align-items:center;width:max-content;gap:42px;animation:ticker 45s linear infinite}.ticker>div>span{font-size:clamp(36px,5vw,76px);line-height:1;letter-spacing:-.035em;white-space:nowrap}.ticker .ticker-star{font-size:clamp(34px,4.8vw,72px);color:var(--ink)}.about-section{padding:100px var(--pad) 110px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.about-label{display:flex;flex-direction:column;align-items:flex-start;gap:50px}.about-label>.tiny-label{color:var(--muted)}.about-symbol{font-size:130px;color:var(--ink);line-height:1;display:block}.about-main h2{font-size:clamp(40px,5.1vw,78px);letter-spacing:-.05em;line-height:1.02;margin:0 0 38px}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:36px}.about-copy p{font-size:15px;line-height:1.55;color:#bcb1c8;margin:0}.services{margin-top:45px}.services>div{display:flex;align-items:center;gap:24px;padding:22px 0;border-top:1px solid var(--line)}.services>div:last-child{border-bottom:1px solid var(--line)}.services>div>span:first-child{font:10px var(--mono);color:var(--muted)}.services h3{font-size:23px;letter-spacing:-.025em;font-weight:400;margin:0;flex:1}.services>div>span:last-child{font-size:21px;color:var(--muted)}.contact-section{background:var(--accent);color:var(--ink);padding:37px var(--pad) 43px}.contact-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #fff;padding-bottom:30px}.contact-section h2{font-size:clamp(64px,10.1vw,160px);font-weight:700;line-height:.87;letter-spacing:-.06em;margin:44px 0 31px;position:relative}.contact-arrow{position:absolute;right:0;top:-13px;font-size:1.3em;font-weight:400;line-height:1}.contact-details{display:flex;justify-content:space-between;align-items:end;gap:24px}.contact-details p{font-size:16px;line-height:1.35;margin:0}.contact-placeholder{min-width:300px;padding-top:8px}.contact-placeholder>span{display:flex;justify-content:space-between;border-bottom:1px solid #fff;font-size:26px;letter-spacing:-.03em;padding-bottom:10px}.contact-placeholder small{display:block;font:9px var(--mono);margin-top:11px;opacity:.7}footer{margin:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:107px}footer>.footer-logo{font-size:27px;font-weight:700;letter-spacing:-1px}footer>.footer-logo span{color:var(--ink);margin-left:2px}footer>span{font:9px var(--mono);color:var(--muted);letter-spacing:.03em}.back-to-top{font-size:12px}.back-to-top>span{display:inline-block;margin-left:20px;font-size:20px}dialog{border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:0;width:min(1120px,calc(100% - 50px));max-height:calc(100svh - 50px);overflow-y:auto}dialog::backdrop{background:#09050ed9;backdrop-filter:blur(10px)}.case-toolbar{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;padding:18px 28px;border-bottom:1px solid var(--line);background:var(--bg);z-index:5}.close-dialog{display:flex;gap:22px;align-items:center;background:none;border:none;font-size:12px;padding:4px}.close-dialog>span{font-size:28px;line-height:1}.case-heading{padding:35px 32px 28px}.case-category{color:var(--ink)}.case-heading h2{font-size:clamp(56px,8vw,110px);font-weight:700;letter-spacing:-.06em;line-height:1;margin:14px 0 12px}.case-heading p{font-size:18px;margin:0;color:var(--muted)}.case-stage{position:relative;background:#211a29}.case-stage img{display:block;width:100%;max-height:65vh;object-fit:cover}.case-stage .project-visual{aspect-ratio:1.75;cursor:default;pointer-events:none}.case-stage .kinetic-composition{top:17%;left:17%;right:17%}.case-stage .kinetic-composition>span:not(.kinetic-line):not(.kinetic-small){font-size:clamp(65px,14vw,200px)}.case-stage .kinetic-composition{animation:kinetic-move 3s ease-in-out infinite}.case-stage .kinetic-star{animation:spin 8s linear infinite}.case-stage.paused *{animation-play-state:paused!important}.case-stage .brand-scene{inset:7% 22% 4%}.case-stage .brand-sheet>span:first-child{font-size:clamp(32px,4.5vw,62px)}.case-stage .brand-symbol{font-size:clamp(60px,8.5vw,115px)}.motion-control{position:absolute;z-index:3;right:24px;bottom:20px;background:var(--ink);color:var(--bg);padding:10px 17px;border:0;border-radius:30px;font-size:12px;display:flex;align-items:center;gap:12px}.case-bottom{display:flex;justify-content:space-between;align-items:start;gap:35px;padding:30px 32px 40px}.case-bottom>div{max-width:530px}.case-bottom .tiny-label{color:var(--ink)}.case-bottom p{font-size:14px;line-height:1.5;color:var(--muted);margin:12px 0 0}.next-project{border:1px solid var(--line);background:none;font-size:12px;padding:14px 18px;white-space:nowrap}.next-project>span{font-size:18px;margin-left:20px}.next-project:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;color:var(--bg);background:var(--accent);font-size:13px;display:none}
@keyframes ticker{to{transform:translateX(-50%)}}@keyframes spin{to{transform:rotate(372deg)}}@keyframes kinetic-move{0%,100%{transform:rotate(-5deg) translateX(-1%)}50%{transform:rotate(3deg) translateX(1%)}}@keyframes project-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1650px){.site-header,main,footer{max-width:1720px;margin-left:auto;margin-right:auto}.site-header{padding:0 var(--pad)}footer{padding:0 var(--pad)}}
@media(max-width:1050px){.hero-main{grid-template-columns:minmax(0,1fr) 190px}.hero-aside{padding-left:0}.hero-aside p{font-size:14px;margin-top:20px}h1{font-size:13vw;margin-left:-5px}.about-section{grid-template-columns:1fr 2.5fr;gap:24px}.about-copy{gap:24px}.contact-arrow{font-size:1.1em;top:-5px}.contact-top>.tiny-label:last-child{max-width:180px;text-align:right}}
@media(max-width:700px){:root{--pad:22px}.site-header{height:84px;gap:15px}.wordmark{font-size:31px}.wordmark span{font-size:29px}.desktop-nav{margin-left:0;gap:18px;font-size:12px}.desktop-nav a:first-child span{display:none}.contact-link{font-size:0}.contact-link>span{font-size:25px;margin-left:0}.hero{padding-top:27px}.hero-kicker{font-size:8px;gap:15px}.hero-kicker>span:last-child{white-space:nowrap}.hero-kicker>span:first-child{gap:6px}.status-dot{width:5px;height:5px}.hero-main{grid-template-columns:1fr;gap:26px;margin-top:34px}h1{font-size:21.3vw;letter-spacing:-.066em;margin-left:-4px;line-height:.88}.hero-aside{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:0}.hero-aside>.tiny-label{display:none}.hero-aside p{font-size:15px;line-height:1.35;margin:0}.hero-aside p br:nth-child(1){display:none}.round-link{width:51px;height:51px}.hero-bottom{margin-top:28px;padding-bottom:26px;gap:20px}.hero-bottom p{font-size:11px}.hero-bottom>.tiny-label{font-size:7px;white-space:nowrap}.hero-bottom .tiny-label>span{font-size:12px;margin-left:6px}.work-section{padding-top:34px;padding-bottom:47px}.section-heading{align-items:start;flex-direction:column;gap:18px}.section-heading h2{font-size:30px}.count{font-size:10px;margin-top:2px}.filters{gap:4px}.filter{font-size:11px;padding:9px 14px}.filter:first-child{padding-left:14px}.concept-note{font-size:9px;gap:6px;margin:17px 0 18px;line-height:1.5}.mini-cross{font-size:12px}.projects{grid-template-columns:1fr;row-gap:29px}.project-featured{grid-column:auto}.form-visual{aspect-ratio:1.05}.form-visual img{object-fit:cover;object-position:50% 50%}.art-top,.art-bottom{left:17px;right:17px;font-size:7px;letter-spacing:.02em}.art-top{top:15px}.art-bottom{bottom:15px}.open-circle{width:30px;height:30px;font-size:20px}.form-title{font-size:22vw;left:16px;bottom:43px}.form-title>span{font-size:7px;margin-left:10px}.project-caption{padding-top:13px}.project-caption h3{font-size:16px}.project-caption p{font-size:11px}.project-type{font-size:8px}.project-type span{margin-left:10px;font-size:13px}.kinetic-visual{aspect-ratio:1.14}.kinetic-composition{top:23%}.kinetic-composition>span:not(.kinetic-line):not(.kinetic-small){font-size:24vw}.kinetic-line{height:6px;margin-top:16px}.kinetic-small{font-size:7px;margin-top:14px}.brand-visual{aspect-ratio:1.14}.brand-sheet>span:first-child{font-size:9vw}.brand-symbol{font-size:19vw}.brand-card>span:last-child{font-size:8px}.sheet-foot{font-size:6px}.ticker{padding:17px 0 12px}.ticker>div{gap:24px}.ticker>div>span{font-size:35px}.ticker .ticker-star{font-size:36px}.about-section{padding-top:47px;padding-bottom:49px;grid-template-columns:1fr;gap:24px}.about-label{flex-direction:row;justify-content:space-between;align-items:center;gap:0}.about-symbol{font-size:45px}.about-main h2{font-size:42px;margin-bottom:24px;line-height:1}.about-copy{grid-template-columns:1fr;gap:15px}.about-copy p{font-size:14px;line-height:1.5}.services{margin-top:27px}.services>div{gap:15px;padding:18px 0}.services h3{font-size:20px}.services>div>span:first-child{font-size:9px}.contact-section{padding-top:25px;padding-bottom:30px}.contact-top{padding-bottom:20px}.contact-top>.tiny-label{font-size:8px;max-width:200px}.contact-top>.tiny-label:last-child{display:none}.contact-section h2{font-size:11.7vw;letter-spacing:-.055em;margin:30px 0 28px;line-height:.96}.contact-arrow{font-size:1.45em;right:0;top:-8px}.contact-details{align-items:start;flex-direction:column;gap:27px}.contact-details p{font-size:14px}.contact-placeholder{width:100%;min-width:0}.contact-placeholder>span{font-size:25px}.contact-placeholder small{font-size:8px}footer{min-height:95px;gap:15px;flex-wrap:wrap;position:relative;padding-top:20px;padding-bottom:20px}footer>.footer-logo{font-size:25px}footer>span{font-size:7px;order:3;width:100%}.back-to-top{margin-left:auto;font-size:11px}.back-to-top>span{margin-left:12px;font-size:18px}dialog{width:calc(100% - 20px);max-height:calc(100svh - 20px)}.case-toolbar{padding:12px 18px}.close-dialog{font-size:11px}.case-heading{padding:26px 20px 22px}.case-heading h2{font-size:58px}.case-heading p{font-size:15px}.case-category{font-size:9px}.case-stage img{min-height:310px;object-fit:cover}.case-stage .project-visual{aspect-ratio:1}.case-stage .kinetic-composition{top:23%;left:7%;right:7%}.case-stage .kinetic-composition>span:not(.kinetic-line):not(.kinetic-small){font-size:24vw}.case-stage .brand-scene{inset:15% 7% 11%}.case-stage .brand-sheet>span:first-child{font-size:9vw}.case-stage .brand-symbol{font-size:19vw}.case-bottom{flex-direction:column;padding:24px 20px 28px;gap:24px}.case-bottom p{font-size:13px}.next-project{width:100%;display:flex;justify-content:space-between;align-items:center;padding:12px 15px}.motion-control{font-size:10px;bottom:16px;right:17px;padding:9px 13px}.case-stage .art-bottom{bottom:20px}.case-stage.motion-stage .art-bottom{display:none}}
@media(max-width:360px){.desktop-nav{gap:11px;font-size:11px}.hero-kicker{font-size:7px}.hero-bottom>.tiny-label{display:none}.about-main h2{font-size:36px}.project-type{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
