@font-face{font-family:Jost;src:url(assets/fonts/jost-300.ttf) format('truetype');font-weight:300;font-display:swap}@font-face{font-family:Jost;src:url(assets/fonts/jost-400.ttf) format('truetype');font-weight:400;font-display:swap}
:root{--ink:#192636;--muted:#516779;--cyan:#00b4cf;--cyan-dark:#007e92;--pale:#f1f5f8;--line:#d4dfe7;--pad:clamp(24px,6.3vw,120px);--header:88px;font-family:Jost,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:#fff;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:calc(var(--header) + 24px)}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img,svg,video,canvas{display:block}img{max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:300}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan-dark);outline-offset:6px}section:focus{outline:none}::selection{background:#bdeef4;color:var(--ink)}[hidden]{display:none!important}.label{font-size:11px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.arrow{width:21px;height:21px;stroke:currentColor;stroke-width:1.2;flex:none}.skip-link{position:fixed;z-index:100;left:20px;top:10px;background:var(--ink);color:#fff;padding:14px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}.site-header{position:fixed;inset:0 0 auto;z-index:50;height:var(--header);padding:8px var(--pad);display:flex;align-items:center;justify-content:space-between;background:#ffffffed;border-bottom:1px solid #d4dfe786;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header-brand{display:block;width:66px;flex:none}.header-brand img{width:100%;height:auto}.site-header nav{display:flex;gap:clamp(22px,3.5vw,58px)}.site-header nav a{font-size:13px;letter-spacing:.06em;padding:13px 0;position:relative}.site-header nav a:after{content:'';position:absolute;bottom:7px;left:0;right:0;height:1px;background:var(--cyan-dark);transform:scaleX(0);transform-origin:left;transition:transform .25s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}
.hero{position:relative;height:100svh;min-height:780px}.motion-ready .hero{height:175svh;min-height:1120px}.hero-stage{height:100svh;min-height:780px;position:sticky;top:0;overflow:hidden;background:#fff}.hero-poster,.hero-video,.hero-frames,.hero-leds,.hero-veil{position:absolute;inset:0;width:100%;height:100%}.hero-poster img{width:100%;height:100%;object-fit:cover}.hero-video{object-fit:cover;opacity:0}.hero-frames{opacity:0;pointer-events:none}.hero-veil{background:linear-gradient(#fff7,transparent 22%,transparent 62%,#ffffffe6),radial-gradient(ellipse 30% 65% at 50% 46%,#ffffffd9,transparent 99%);pointer-events:none}.hero-content{position:absolute;left:var(--pad);right:var(--pad);top:calc(var(--header) + 4vh);bottom:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hero-eyebrow{margin-bottom:20px;font-size:10px}.hero-brand{position:relative;width:clamp(210px,20vw,285px);aspect-ratio:742/697;flex-shrink:0;margin-bottom:24px;transform-origin:center}.hero-brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.logo-mark,.logo-type{display:none}.motion-ready .logo-fallback{opacity:0}.motion-ready .logo-mark,.motion-ready .logo-type{display:block}.logo-mark{clip-path:inset(0 0 37.8% 0);-webkit-clip-path:inset(0 0 37.8% 0)}.logo-type{clip-path:inset(62% 0 0 0);-webkit-clip-path:inset(62% 0 0 0)}.hero h1{font-size:clamp(38px,4.5vw,74px);line-height:1.07;letter-spacing:-.035em;max-width:900px;text-wrap:balance}.hero-subtitle{font-size:clamp(14px,1.15vw,18px);color:var(--muted);line-height:1.65;max-width:650px;margin-top:20px;font-weight:300}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:14px 21px;border:1px solid #708896;border-radius:2px;font-size:13px;letter-spacing:.025em;transition:background .25s,border-color .25s}.button:hover{background:#e4f7fa;border-color:var(--cyan-dark)}.hero-cta{margin-top:27px;background:#ffffffa8}.hero-bottom{position:absolute;bottom:32px;left:var(--pad);right:var(--pad);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);letter-spacing:.12em}.signal{text-transform:uppercase}.signal:before{content:'';width:5px;height:5px;background:var(--cyan);display:inline-block;margin-right:10px;vertical-align:2px}.intro-controls{display:flex;gap:20px;align-items:center}.motion-control,.skip-intro{font-size:11px;letter-spacing:.03em;padding:10px 2px;background:none;border:0;border-bottom:1px solid #92a6b4;cursor:pointer}.scroll-label{text-transform:uppercase}.intro-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--cyan);transform:scaleX(0);transform-origin:left}.pixel-bloom{position:absolute;inset:0;opacity:0;pointer-events:none}.pixel-bloom i{position:absolute;left:65%;top:38%;width:3px;height:3px;background:var(--cyan);transform:translate(var(--dx),var(--dy));opacity:.6}.motion-ready .pixel-bloom i{transform:translate(calc(var(--dx) * var(--spread,1)),calc(var(--dy) * var(--spread,1)))}
.section{padding:120px var(--pad);position:relative}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:70px}.section-heading>.label{padding-top:12px}.section h2{white-space:pre-line;font-size:clamp(40px,4.2vw,68px);line-height:1.12;letter-spacing:-.028em}.section-intro{font-size:18px;line-height:1.7;max-width:550px;color:var(--muted);margin-top:24px;font-weight:300}.work{background:#fff}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:78px 40px}.project{min-width:0;transition:transform .5s}.project-visual{position:relative;background:#edf2f6;aspect-ratio:1.35;overflow:hidden;margin-bottom:27px;border:1px solid #e5ecf1}.device-composition{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 40%,#fff,#e5edf3)}.device-composition.tint{background:radial-gradient(ellipse at 60% 40%,#f7f3ea,#eae7df)}.device-composition.gutter{background:radial-gradient(ellipse at 60% 40%,#edf0f9,#dfe4ee)}.desktop-device{position:absolute;left:7%;top:15%;width:78%;border:1px solid #b7c5cf;background:#fff;border-radius:7px;box-shadow:0 16px 35px #293f581c;overflow:hidden}.browser-bar{height:23px;display:flex;align-items:center;gap:4px;padding:0 9px;background:#f8fafb;border-bottom:1px solid #d8e1e6}.browser-bar i{display:block;width:4px;height:4px;background:#b3c1cb;border-radius:50%}.browser-bar span{font:8px Arial,sans-serif;margin-left:auto;color:#667b8b}.desktop-screen{aspect-ratio:1.6;overflow:hidden;background:#eef1f3}.desktop-screen img{width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top;transition:transform 5s cubic-bezier(.2,.4,.3,1)}.mobile-device{position:absolute;right:6%;bottom:13%;width:22%;aspect-ratio:.49;background:#192636;padding:4px;border:1px solid #657481;border-radius:15px;box-shadow:0 11px 26px #293f5833}.mobile-screen{border-radius:11px;width:100%;height:100%;overflow:hidden;background:#fff}.mobile-screen img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 5s}.phone-speaker{position:absolute;top:6px;left:35%;right:35%;height:5px;background:#192636;z-index:1;border-radius:0 0 5px 5px}.project-status{position:absolute;left:7%;bottom:5%;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#526b7c;display:flex;gap:7px;align-items:center}.project-status:before{content:'';width:4px;height:4px;background:var(--cyan-dark)}.project-heading{display:flex;gap:16px;align-items:baseline}.project-number{font-size:11px;color:var(--cyan-dark)}.project h3{font-size:31px;letter-spacing:-.015em}.project-role{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:10px}.project-description{font-size:16px;line-height:1.8;color:var(--muted);font-weight:300;max-width:540px;margin:18px 0 20px}.project-links{display:flex;gap:30px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;gap:16px;padding:9px 0;border-bottom:1px solid #a3b7c5;font-size:12px}.text-link .arrow{width:15px;height:15px;transition:transform .3s}.text-link:hover .arrow{transform:translate(2px,-2px)}.tooling-art{height:100%;padding:7% 7% 10%;background-image:radial-gradient(#a1bfce55 .65px,transparent .65px);background-size:15px 15px}.diagram-eyebrow{font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.project .diagram-title{font-size:26px;margin-top:7px}.pipeline{height:69%;max-width:100%;margin:8px auto 0;overflow:visible}.pipeline text{text-anchor:middle;font:14px Jost,Arial,sans-serif;fill:var(--ink)}.pipeline .diagram-small{font-size:10px;fill:var(--muted)}.diagram-node{fill:#ffffffed;stroke:#a1b8c8;stroke-width:1}.diagram-line{fill:none;stroke:#009aaf;stroke-width:1;marker-end:url(#flow-arrow)}.diagram-caption{font-size:9px;letter-spacing:.08em;text-align:center;color:var(--muted)}
.services{background:var(--pale);border-block:1px solid #e5ebf0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.service{border-top:1px solid #b8cad7;padding-top:28px}.service-icon{width:36px;height:36px;stroke:var(--cyan-dark);stroke-width:1.05;margin-bottom:36px}.service h3{font-size:23px;line-height:1.3;margin-bottom:16px;max-width:270px}.service p{font-size:15px;line-height:1.85;font-weight:300;color:var(--muted)}.studio{padding-top:135px;padding-bottom:115px}.studio-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.studio-heading h2{margin:29px 0 36px}.studio-location{font-size:10px;letter-spacing:.12em}.studio-copy .about{font-size:25px;font-weight:300;line-height:1.65;letter-spacing:-.01em}.signature{font-size:14px;line-height:1.8;max-width:340px;color:var(--muted);margin-top:30px}.process-wrap{margin-top:95px;border-top:1px solid var(--line);padding-top:30px}.process{list-style:none;margin:35px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process li{position:relative}.process-number{font-size:11px;color:var(--cyan-dark);display:block;margin-bottom:15px}.process h3{font-size:29px}.process p{margin-top:7px;font-size:14px;color:var(--muted);font-weight:300}.process-arrow{position:absolute;right:20px;top:35px;font-size:25px;color:#8099aa}.process li:last-child .process-arrow{display:none}.contact{background:#edf3f7;border-top:1px solid var(--line);padding-top:95px;padding-bottom:55px}.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact h2{font-size:clamp(52px,6vw,96px);margin-top:25px;line-height:1.05}.contact-action>p{font-size:19px;line-height:1.8;max-width:430px;font-weight:300;color:var(--muted)}.email-link{font-size:clamp(21px,2.15vw,34px);font-weight:300;display:inline-flex;gap:35px;align-items:center;border-bottom:1px solid #819aa9;padding-bottom:15px;margin-top:30px}.email-link:hover{color:var(--cyan-dark)}.network{margin-top:90px;padding-top:30px;border-top:1px solid #c7d7e2;display:flex;justify-content:space-between;align-items:center;gap:30px}.network>div{display:flex;gap:35px}.site-footer{padding:30px var(--pad);display:flex;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted);letter-spacing:.025em;background:#edf3f7}.reveal{opacity:1;transform:none}.reveal-pending{opacity:0;transform:translateY(16px);transition:opacity .7s,transform .7s}.reveal-pending.visible{opacity:1;transform:none}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.project:hover{transform:translateY(-5px)}.project:hover .desktop-screen img{transform:translateY(-8%)}.project:hover .mobile-screen img{transform:scale(1.025)}}
@media(min-width:1700px){.hero-content{top:calc(var(--header) + 5vh);bottom:120px}.hero-brand{width:330px;margin-bottom:32px}.hero-eyebrow{margin-bottom:25px}.hero-subtitle{margin-top:22px}.hero-cta{margin-top:30px}}
@media(max-width:1000px){.section{padding-top:85px;padding-bottom:85px}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:45px}.section-heading>.label{padding-top:0}.work-grid{gap:60px 25px}.project h3{font-size:27px}.project-visual{aspect-ratio:1.15}.service-grid{grid-template-columns:repeat(3,1fr);gap:30px}.service-icon{margin-bottom:24px}.studio-layout,.contact-top{gap:45px}.studio-copy .about{font-size:21px}.network>div{gap:20px}.hero{min-height:760px}.hero-stage{min-height:760px}.hero h1{font-size:54px}.hero-brand{width:250px}}
@media(max-width:700px){:root{--pad:24px;--header:80px}.site-header{padding-block:8px}.header-brand{width:52px}.site-header nav{gap:20px}.site-header nav a{font-size:11px;letter-spacing:0}.hero{height:100svh;min-height:710px}.motion-ready .hero{height:160svh;min-height:1000px}.hero-stage{height:100svh;min-height:710px}.hero-poster,.hero-video,.hero-frames,.hero-leds{inset:auto;top:17%;left:-28%;width:156%;height:auto;aspect-ratio:16/9;-webkit-mask-image:linear-gradient(transparent,#000 15%,#000 78%,transparent);mask-image:linear-gradient(transparent,#000 15%,#000 78%,transparent)}.hero-poster img{height:auto}.hero-video{object-fit:contain}.hero-veil{background:linear-gradient(transparent,#fff4 25%,#ffffffb0 45%,#fff 72%)}.hero-content{top:calc(var(--header) + 26px);left:22px;right:22px;bottom:91px;justify-content:center}.hero-eyebrow{font-size:8px;letter-spacing:.1em;max-width:270px;margin-bottom:22px}.hero-brand{width:210px;margin-bottom:24px}.hero h1{font-size:40px;max-width:345px;line-height:1.08}.hero-subtitle{font-size:14px;max-width:310px;margin-top:18px}.hero-cta{margin-top:23px;font-size:12px;padding:12px 18px}.hero-bottom{bottom:21px;left:24px;right:24px;gap:12px;align-items:flex-end}.signal{font-size:7px;max-width:95px;line-height:1.7}.signal:before{width:4px;height:4px;margin-right:5px;vertical-align:1px}.intro-controls{gap:14px}.motion-control,.skip-intro{font-size:10px;padding:10px 1px}.scroll-label{display:none}.section{padding:72px var(--pad)}.section h2{font-size:40px}.section-heading{margin-bottom:38px}.label{font-size:10px}.section-intro{font-size:16px;margin-top:18px}.work-grid{grid-template-columns:1fr;gap:50px}.project-visual{aspect-ratio:1.28;margin-bottom:22px}.project h3{font-size:28px}.project-description{font-size:15px;line-height:1.8}.project-role{font-size:9px}.project-links{gap:23px}.text-link{font-size:11px}.project-status{font-size:8px}.browser-bar span{font-size:6px}.browser-bar{height:19px}.mobile-device{border-radius:11px;padding:3px}.mobile-screen{border-radius:8px}.service-grid{grid-template-columns:1fr;gap:34px}.service{padding-top:22px}.service-icon{width:30px;height:30px;margin-bottom:24px}.service h3{font-size:21px}.service p{font-size:14px;line-height:1.75}.studio-layout,.contact-top{grid-template-columns:1fr;gap:34px}.studio-heading h2{margin:22px 0}.studio-location{font-size:9px}.studio-copy .about{font-size:22px;line-height:1.65}.signature{font-size:14px;margin-top:22px}.process-wrap{margin-top:55px}.process{grid-template-columns:1fr 1fr;gap:30px;margin-top:26px}.process h3{font-size:27px}.process-arrow{right:0;top:35px;font-size:20px}.process li:nth-child(2) .process-arrow{display:none}.process p{font-size:13px}.contact h2{font-size:58px}.contact-action>p{font-size:18px}.email-link{font-size:27px;gap:20px;margin-top:25px}.network{display:block;margin-top:55px;padding-top:25px}.network>div{flex-wrap:wrap;gap:12px 25px;margin-top:18px}.site-footer{padding:27px 24px;flex-wrap:wrap;gap:16px;font-size:9px}.site-footer p:nth-child(2){display:none}.site-footer>a{margin-left:auto}.tooling-art .diagram-title{font-size:24px}.diagram-caption{font-size:8px}}
@media(max-width:360px){.site-header nav{gap:14px}.hero h1{font-size:35px}.hero-brand{width:190px}.service-grid{grid-template-columns:1fr}.email-link{font-size:23px}.hero-eyebrow{font-size:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero,.motion-ready .hero{height:100svh;min-height:710px}.hero-stage{position:relative}.hero-video,.hero-frames,.pixel-bloom,.intro-progress{display:none!important}.logo-fallback{opacity:1!important}.logo-mark,.logo-type{display:none!important}.hero-brand{transform:none!important}.reveal-pending{opacity:1;transform:none}.motion-control{display:none!important}}
@media(max-width:700px) and (max-height:750px){.hero-content{top:calc(var(--header) + 16px);bottom:calc(max(710px,100svh) - 100svh + 80px)}.hero-brand{width:175px;margin-bottom:18px}.hero-eyebrow{margin-bottom:17px}.hero h1{font-size:36px}.hero-subtitle{font-size:13px;margin-top:15px}.hero-cta{margin-top:19px;padding:11px 17px}.hero-bottom{bottom:calc(max(710px,100svh) - 100svh + 17px)}}

.hero-leds{pointer-events:none;opacity:0}.hero-leds.is-active{opacity:1}.service-primary{border-top:2px solid var(--cyan-dark);padding-top:27px}.service-availability{margin-top:42px;padding-top:25px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.studio-tooling{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;margin-top:80px;border-top:1px solid var(--line);padding-top:48px}.studio-tooling h3{font-size:30px;margin-bottom:18px}.studio-tooling p{color:var(--muted);font-size:16px;line-height:1.85;max-width:490px}.studio-tooling .tooling-art{padding:25px 30px;background-color:#f6f9fb;height:350px}.studio-tooling .diagram-title{font-size:24px;margin:8px 0 0}.studio-tooling .diagram-caption{font-size:10px;text-align:center;max-width:none;line-height:1.4}.studio-tooling .pipeline{height:225px;margin:0 auto}.work-grid>.project:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr;column-gap:50px;align-content:center}.work-grid>.project:first-child .project-visual{grid-row:1/5;aspect-ratio:1.5;margin-bottom:0}.work-grid>.project:first-child .project-heading{align-self:end}.work-grid>.project:first-child .project-description{margin-bottom:10px}.work-grid>.project:first-child .project-links{align-items:start}
@media(max-width:1000px){.studio-tooling{gap:45px}.work-grid>.project:first-child{column-gap:28px}.work-grid>.project:first-child .project-visual{aspect-ratio:1.1}.service h3{font-size:22px}}
@media(max-width:700px){.studio-tooling{grid-template-columns:1fr;gap:30px;margin-top:50px;padding-top:35px}.studio-tooling .tooling-art{padding:22px;height:340px}.studio-tooling h3{font-size:27px}.work-grid>.project:first-child{display:block}.work-grid>.project:first-child .project-visual{aspect-ratio:1.28;margin-bottom:22px}.service h3{max-width:none}.service-primary{padding-top:21px}.service-availability{margin-top:30px;font-size:12px}.service-icon{margin-bottom:18px}}
.hero-frames.is-idle{display:block!important}
