:root{--ink:#101112;--panel:#181a1d;--paper:#f0f0ed;--muted:#939596;--blue:#22a1d4;--line:#343638;--bs-body-bg:var(--ink);--bs-body-color:var(--paper);--bs-body-font-family:'Manrope',sans-serif}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0}a{color:inherit;text-decoration:none}a:hover{color:var(--blue)}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:white}[hidden]{display:none!important}.blue{color:var(--blue)}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.8}.site-header{height:94px;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--ink)}.brand{display:inline-flex}.brand img{object-fit:contain;filter:brightness(0) invert(1)}.site-header nav>a,.contact-link{font-size:12px;font-weight:600}.site-header nav>a>span{font-size:8px;color:var(--blue);margin-left:5px;vertical-align:super}.contact-link svg{width:18px}.menu-toggle{background:none;border:0;color:var(--paper);padding:8px}.mobile-menu{position:absolute;left:0;right:0;top:100%;padding:24px;background:var(--ink);border-bottom:1px solid var(--line)}.mobile-menu a{display:block;padding:14px 0}.skip-link{position:fixed;left:16px;top:-80px;background:var(--blue);color:white;padding:12px;z-index:100}.skip-link:focus{top:12px}
.hero{height:720px;min-height:630px;max-height:calc(100svh - 132px);position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-image{object-fit:cover;object-position:center 55%;filter:grayscale(1);opacity:.7}.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(8,10,13,.4) 0%,rgba(8,10,13,.12) 36%,rgba(8,10,13,.88) 100%),linear-gradient(90deg,rgba(8,10,13,.45),transparent)}.hero-top{padding-top:27px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--blue);border-radius:50%;margin-right:9px;box-shadow:0 0 12px #2780ff80}.location span{color:#babdc0;font-size:9px}.hero-copy{margin-top:auto;margin-bottom:45px;padding-top:32px}.hero h1{font-family:'Barlow Condensed',sans-serif;font-size:260px;line-height:.77;font-weight:800;margin:0 0 30px -5px}.hero-statement{font-size:31px;line-height:1.3;font-weight:700;margin:0}.hero-statement>span{color:#b6b8bb}.hero-aside{padding-bottom:4px}.hero-aside p{font-size:12px;line-height:1.85;color:#d0d1d2;margin-bottom:25px}.circle-link{width:50px;height:50px;border:1px solid #73777b;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,transform .2s}.circle-link:hover{background:var(--blue);color:white;transform:translateY(3px);border-color:var(--blue)}.circle-link svg{width:20px}.hero-bottom{padding:20px 0 25px;border-top:1px solid #ffffff30}.hero-bottom .eyebrow{font-size:9px}.ticker{background:var(--blue);color:#071325;overflow:hidden;padding:15px 0}.ticker-track{display:flex;width:max-content;align-items:center;gap:40px;animation:ticker 35s linear infinite;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:30px;line-height:1}.ticker b{font-family:'Manrope',sans-serif;font-size:29px;font-weight:400}.section-space{padding-top:110px;padding-bottom:110px}h2{font-family:'Barlow Condensed',sans-serif;font-size:65px;font-weight:700;line-height:1.03;margin:0}.section-label{padding-top:8px}.section-label .blue{margin-right:12px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service-toggle{background:none;border:0;color:var(--paper);padding:29px 0;transition:color .2s}.service-toggle:hover,.service-toggle[aria-expanded=true]{color:var(--blue)}.service-number{font-size:11px;color:var(--muted)}.service-name{font-family:'Barlow Condensed',sans-serif;font-size:40px;font-weight:600;line-height:1.1}.service-tag{font-size:11px;color:var(--muted)}.service-toggle svg{width:21px}.service-content{padding-bottom:35px}.service-content p{font-size:13px;color:#acaeb2;line-height:1.9;max-width:500px}.tag{border:1px solid var(--line);padding:6px 11px;font-size:9px;color:#b4b6b8}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:18px;font-weight:600}.text-link svg{width:17px}.approach{background:var(--panel)}.lead-copy{font-size:25px;font-weight:500;line-height:1.5}.body-copy{font-size:13px;color:#aaaeb3;line-height:1.9}.principles>div{padding-top:22px;border-top:1px solid #414346}.principles span{font-size:24px}.principles h3{font-size:12px;margin:12px 0 0;font-weight:600}.studio-photo{position:relative;min-height:540px}.studio-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;filter:grayscale(1)}.photo-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000b);padding:50px 30px 25px;color:white;font-size:9px}.studio-copy{background:var(--blue);color:#071325;min-height:540px}.studio-copy h2{font-size:62px}.studio-copy h2 span{color:white}.studio-copy p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:350px}.studio-copy a:hover{color:white}.contact-section{padding-top:120px;padding-bottom:120px}.contact-title h2{font-size:98px}.contact-arrow{display:flex;align-items:center;justify-content:center;width:104px;height:104px;border:1px solid var(--line);border-radius:50%;transition:background .2s,color .2s}.contact-arrow svg{width:50px;height:50px;stroke-width:1}.contact-title:hover{color:inherit}.contact-title:hover .contact-arrow{background:var(--blue);color:var(--ink);border-color:var(--blue)}footer{border-top:1px solid var(--line)}.footer-address{font-size:10px;line-height:1.9;color:var(--muted)}.back-top svg{width:17px}.hero-copy{animation:enter .9s ease-out both}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero{height:820px}.hero h1{font-size:310px}.hero-statement{font-size:38px}.hero-aside p{font-size:14px}}
@media(max-width:991px){.site-header{height:80px}.hero{height:740px;min-height:660px;max-height:none}.hero h1{font-size:220px}.hero-copy{margin-bottom:26px}.hero-aside{margin-top:24px;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.hero-aside p{margin:0;font-size:12px;max-width:280px}.hero-statement{font-size:27px}.section-space{padding-top:75px;padding-bottom:75px}.section-label{margin-bottom:30px}h2{font-size:55px}.studio-photo{min-height:450px}.studio-copy{min-height:500px}.contact-title h2{font-size:90px}}
@media(max-width:575px){html{scroll-padding-top:20px}.brand img{width:91px;height:36px}.site-header{height:76px}.hero{height:690px;min-height:0}.hero-top{padding-top:24px}.hero-top .eyebrow{font-size:8px}.location{font-size:8px!important}.location span{font-size:7px}.hero-image{object-position:58% center}.hero h1{font-size:150px;margin-bottom:25px;margin-left:-2px}.hero-statement{font-size:24px}.hero-copy{padding-top:65px;margin-bottom:28px}.hero-aside{margin-top:30px}.hero-aside p{max-width:240px;font-size:11px}.circle-link{width:43px;height:43px;flex-shrink:0}.hero-bottom .eyebrow{font-size:7px}.hero-bottom{padding-bottom:22px}.ticker{padding:13px 0}.ticker-track{font-size:24px;gap:28px}.ticker b{font-size:24px}h2{font-size:43px}.service-name{font-size:29px}.service-toggle{padding:26px 0}.service-number{font-size:9px}.service-content p{font-size:12px}.lead-copy{font-size:22px}.principles>div{padding-top:12px;padding-bottom:16px;display:flex;gap:18px;align-items:center}.principles h3{margin:0}.studio-photo{min-height:320px}.studio-copy{min-height:480px}.studio-copy h2{font-size:53px}.contact-title h2{font-size:62px}.contact-arrow{width:60px;height:60px;flex-shrink:0}.contact-arrow svg{width:30px;height:30px}.contact-section .text-link{font-size:11px}.section-space{padding-top:65px;padding-bottom:65px}}
@media(min-width:360px) and (max-width:575px){.hero h1{font-size:125px}}
@media(max-width:359px){.hero h1{font-size:102px}.hero-statement{font-size:21px}.contact-title h2{font-size:53px}.service-name{font-size:25px}h2{font-size:38px}}
.site-header{position:sticky;top:0;height:84px;background:#0b0d0f;border-bottom:1px solid #ffffff20}
.logo-cell{height:100%;display:flex;align-items:center;border-right:1px solid var(--line);transform:skewX(-25deg)}
.logo-cell .brand{transform:skewX(25deg)}
.desktop-nav{height:100%;padding:0 28px}
.site-header .nav-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;flex:1;max-width:180px;padding:0 12px;border-right:1px solid #ffffff15;transform:skewX(-25deg);text-transform:uppercase;transition:background .2s,color .2s}
.site-header .nav-tab>span{transform:skewX(25deg);margin:0;vertical-align:baseline}
.site-header .nav-tab .nav-index{font-size:9px;color:#727a83;align-self:flex-start;padding-top:18px}
.site-header .nav-tab .nav-caption{font-size:11px;color:inherit;font-weight:800}
.site-header .nav-tab.is-active{background:var(--blue);color:#061322}
.site-header .nav-tab.is-active .nav-index{color:#102f55}
.nav-tab::after{content:'';position:absolute;bottom:-4px;left:25%;right:0;height:3px;background:var(--blue);opacity:0}
.nav-tab.is-active::after{opacity:1}
.site-header .nav-tab:hover{background:#202b39;color:white}
.site-header .contact-link{font-size:11px;text-transform:uppercase;font-weight:800;white-space:nowrap}
.hero{height:650px;min-height:580px;max-height:calc(100svh - 140px);background:#101316}
.hero::after{content:'';position:absolute;top:-30%;bottom:-30%;left:0;width:26%;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent,#22a1d408 25%,#22a1d41c 75%,#22a1d430 99%,transparent);border-right:1px solid #22a1d438;transform:translateX(-110%) skewX(-15deg);animation:background-sweep 12s linear infinite}
.status-dot{box-shadow:0 0 12px #22a1d480}
.motion-toggle{width:30px;height:30px;flex-shrink:0;border:1px solid var(--line);border-radius:0;background:#101316;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;transition:color .2s,border-color .2s}
.motion-toggle svg{width:13px;height:13px}.motion-toggle:hover{color:var(--blue);border-color:var(--blue)}
.motion-paused .hero::after{animation-play-state:paused}
@keyframes background-sweep{0%{transform:translateX(-110%) skewX(-15deg);opacity:0}3%{opacity:1}97%{opacity:1}100%{transform:translateX(410%) skewX(-15deg);opacity:0}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none}.hero::after,.motion-toggle{display:none}}
.hero-panels{position:absolute;top:0;bottom:67px;left:47%;width:55%;transform:skewX(-15deg);flex-wrap:nowrap;z-index:-1;overflow:hidden}
.image-panel{position:relative;height:100%;overflow:hidden;border-left:7px solid #101316;background:#1a2530;color:white;isolation:isolate}
.image-panel img{position:absolute;width:calc(100% + 180px);max-width:none;height:100%;left:-90px;object-fit:cover;transform:skewX(15deg) scale(1.05);transition:transform .65s,filter .65s;filter:saturate(.65)}
.image-panel::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#07101910 35%,#070d16e8 100%);pointer-events:none}
.image-panel:hover img{transform:skewX(15deg) scale(1.12);filter:saturate(1.1)}
.image-panel:hover{color:white}
.panel-code img{object-position:45% center}
.panel-web img{object-position:55% center}
.panel-studio img{object-position:65% center}
.panel-label{position:absolute;bottom:25px;left:25px;right:25px;display:flex;align-items:center;justify-content:space-between;gap:8px;z-index:1;transform:skewX(15deg);font-family:'Barlow Condensed',sans-serif;font-size:19px;font-weight:600;text-transform:uppercase;white-space:nowrap}
.panel-label svg{width:17px;flex-shrink:0}
.hero-top{pointer-events:none}
.hero-top .location{background:#0b0d0f80;display:inline-block;padding:6px 10px;margin-top:-6px}
.hero-copy{width:48%;padding-top:45px;margin-top:auto;margin-bottom:50px;pointer-events:none}
.hero-copy a{pointer-events:auto}
.hero-kicker{color:var(--blue);margin-bottom:20px}
#hero-title{font-size:100px;margin-left:-2px;margin-bottom:25px}
.hero-statement{font-family:'Barlow Condensed',sans-serif;font-size:55px;line-height:1.04;font-weight:700;text-transform:uppercase}
.hero-statement>span{color:var(--blue)}
.hero-aside{margin-top:28px;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;padding-bottom:0}
.hero-aside p{font-size:11px;line-height:1.8;margin:0;color:#a6aeb8}
.hero-aside .circle-link{width:42px;height:42px;flex-shrink:0}
.hero-bottom{background:#101316;margin-top:0}
.mobile-menu{padding:18px 24px 28px;background:#0b0d0f;box-shadow:0 20px 30px #0008}
.site-header .mobile-menu>a{display:flex;align-items:center;gap:16px;font-family:'Barlow Condensed',sans-serif;font-size:28px;font-weight:600;text-transform:uppercase;border-bottom:1px solid var(--line);padding:13px 10px}
.site-header .mobile-menu>a>span{font:10px 'Manrope',sans-serif;color:var(--blue);margin:0;vertical-align:baseline}
.mobile-menu svg{margin-left:auto;width:20px;color:var(--blue)}
.mobile-menu a:hover{background:#182537}
@media(min-width:1600px){.hero{height:740px}.hero-copy{width:49%}#hero-title{font-size:132px}.hero-statement{font-size:68px}.hero-aside p{font-size:13px}}
@media(min-width:992px) and (max-width:1199px){#hero-title{font-size:78px}.hero-statement{font-size:45px}.hero-copy{width:49%}.site-header .nav-tab{gap:7px}.site-header .nav-tab .nav-caption{font-size:9px}}
@media(max-width:991px){.site-header{height:76px}.logo-cell{border:0;transform:none}.logo-cell .brand{transform:none}.hero{height:650px;min-height:600px;max-height:none}.hero-copy{width:55%;margin-bottom:40px}.hero-panels{left:54%;width:72%}#hero-title{font-size:87px}.hero-statement{font-size:47px}.panel-label{font-size:16px;left:14px;right:14px}.hero-aside p{max-width:none}}
@media(min-width:576px) and (max-width:767.98px){#hero-title{font-size:65px}.hero-statement{font-size:40px}.hero-aside{gap:12px!important}.hero-aside p{font-size:9px}.hero-panels{left:58%;width:78%}.hero-copy{width:60%}}
@media(max-width:575px){html{scroll-padding-top:90px}.hero{height:760px;min-height:0;max-height:none}.hero-copy{width:auto;padding-top:0;margin-top:49px;margin-bottom:auto}.hero-top{padding-top:21px}.hero-kicker{font-size:9px;margin-bottom:18px}#hero-title{font-size:72px;margin-bottom:19px}.hero-statement{font-size:39px}.hero-aside{margin-top:20px;gap:20px!important}.hero-aside p{font-size:10px}.hero-aside .circle-link{width:37px;height:37px}.hero-panels{left:-10%;width:130%;top:auto;bottom:61px;height:255px;transform:skewX(-15deg)}.image-panel{border-left-width:5px}.panel-label{bottom:15px;font-size:15px;left:15px;right:15px}.panel-code .panel-label{left:45px}.hero-bottom{padding:17px 0 20px}.hero-top .location{padding:0;background:none;margin-top:0}.hero-copy{animation:none}}
@media(max-width:575px){.hero-panels{left:0;width:110%}.panel-label{font-size:13px}.panel-label svg{display:none}.panel-code .panel-label{left:45px}}
@media(max-width:389px){#hero-title{font-size:64px}}
@media(max-width:359px){#hero-title{font-size:55px}.hero-statement{font-size:35px}.hero-aside{gap:12px!important}.panel-label{font-size:12px}.panel-label svg{width:13px}}
@media(prefers-reduced-motion:reduce){.image-panel img,.site-header .nav-tab{transition:none}}
.title-reveal{--title-wipe:var(--blue)}
.hero-statement{font-family:'Manrope',sans-serif;font-size:27px;font-weight:700;line-height:1.35;text-transform:none}
@media(min-width:1600px){.hero-statement{font-size:31px}}
@media(min-width:992px) and (max-width:1199px){.hero-statement{font-size:21px}}
@media(min-width:576px) and (max-width:991px){.hero-statement{font-size:22px}}
@media(max-width:575px){.hero-statement{font-size:22px}}
@media(max-width:359px){.hero-statement{font-size:19px}}
.hero-statement>.title-line{color:inherit}
.hero-statement>.title-line>span{color:#b6b8bb}
.title-line{display:table;position:relative;max-width:100%;isolation:isolate;line-height:inherit}
.title-line::after{content:'';position:absolute;inset:-.035em -.025em;background:var(--title-wipe);z-index:1;pointer-events:none;transform:scaleX(0);transform-origin:left center}
.title-reveal:not(.title-revealed) .title-line{opacity:0}
.title-revealed .title-line{animation:title-show .01s linear both;animation-delay:calc(var(--line-index)*130ms + 230ms)}
.title-revealed .title-line::after{animation:title-wipe 850ms cubic-bezier(.76,0,.24,1) both;animation-delay:calc(var(--line-index)*130ms)}
.studio-copy .title-reveal{--title-wipe:#f0f0ed}
@keyframes title-show{from{opacity:0}to{opacity:1}}
@keyframes title-wipe{0%{transform:scaleX(0);transform-origin:left center}46%{transform:scaleX(1);transform-origin:left center}47%{transform:scaleX(1);transform-origin:right center}100%{transform:scaleX(0);transform-origin:right center}}
@media(prefers-reduced-motion:reduce){.title-reveal .title-line,.title-reveal:not(.title-revealed) .title-line{animation:none;opacity:1}.title-line::after{display:none;animation:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track,.hero-copy{animation:none}.circle-link{transition:none}}