:root{color-scheme:light;--paper:#fcfcfc;--ink:#242424;--muted:#737373;--blue:#005cff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:6px}button{border:0}figure{margin:0}.page-width{width:95%;max-width:1800px;margin-inline:auto}.skip{position:fixed;z-index:20;left:16px;top:-60px;background:white;padding:12px}.skip:focus{top:16px}.hero{height:71.2vw;max-height:100svh;min-height:620px;background:#050505;position:relative;overflow:hidden;color:#fff}.hero nav{position:absolute;z-index:3;top:34px;left:50%;transform:translateX(-50%);display:flex;gap:12px;font-size:15px;white-space:nowrap}.hero nav a{position:relative;padding:4px 0}.hero nav a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:white;transform:scaleX(0);transform-origin:left;transition:transform .3s}.hero nav a:hover:after{transform:scaleX(1)}.hero-brand{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:1}.hero-brand img{width:21.2%;height:auto}.hero-brand span{font-size:clamp(8px,.78vw,14px)}.hero video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;opacity:0;transition:opacity .8s}.hero.playing video{opacity:1}.hero.playing .hero-brand{opacity:0}.down{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px}.down svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .3s}.down:hover svg{transform:translateY(5px)}.hero-down{position:absolute;z-index:3;left:50%;bottom:7%;transform:translateX(-50%)}.video-toggle{position:absolute;z-index:3;right:2.5%;bottom:7%;background:transparent;color:#aaa;min-width:44px;height:44px;font-size:16px;transition:color .2s}.video-toggle:hover{color:white}h1,h2,p{margin:0}h1,.services h2,.contact h2{font-size:clamp(38px,5.2vw,90px);line-height:.98;letter-spacing:-.032em;font-weight:600}.intro{text-align:center;padding:9vw 20px 10.2vw}.intro p,.services-heading p{font-size:clamp(16px,1.7vw,28px);color:var(--muted);margin-top:20px;line-height:1.4}.actions{display:flex;justify-content:center;gap:18px;margin-top:18px}.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:100px;background:#222;color:#fff;padding:9px 17px;font-size:clamp(12px,1.05vw,18px);line-height:1;min-height:34px;transition:background .25s,transform .25s}.pill:hover{background:var(--blue);transform:translateY(-2px)}.pill.light{background:#ededed;color:#4d4d4d}.pill.light:hover{background:#dedede}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.project{position:relative;display:block;padding:0;border-radius:12px;overflow:hidden;background:#eee;aspect-ratio:1.28;text-align:left}.project img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.65,.3,1)}.project:hover img,.project:focus-visible img{transform:scale(1.045)}.project-caption{position:absolute;inset:auto 0 0;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.7));padding:60px 26px 24px;display:flex;justify-content:space-between;align-items:center;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s;font-size:18px}.project:hover .project-caption,.project:focus-visible .project-caption{opacity:1;transform:none}.services-heading{text-align:center;padding:6vw 20px 6vw}.services-heading .down{margin-top:18px}.services-layout{display:grid;grid-template-columns:1fr 1fr;gap:2.7vw;align-items:stretch;scroll-margin-top:48px}.service-image{overflow:hidden;border-radius:12px;aspect-ratio:1.08;background:#000}.service-image img{width:100%;height:100%;object-fit:cover}.service-list{display:flex;flex-direction:column}.service-list details{flex:1;border-bottom:1px solid #dedede;padding:0 0 24px}.service-list details+details{padding-top:clamp(30px,4.2vw,80px)}.service-list details:last-child{border-bottom:0}.service-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:30% 1fr 20px;gap:10px;font-size:clamp(14px,1.15vw,20px);line-height:1.45}.service-list summary::-webkit-details-marker{display:none}.service-number{font-size:14px}.service-list small{display:block;color:var(--muted);font-size:clamp(12px,1vw,16px);margin-top:18px}.plus{font-size:19px;opacity:0;transition:transform .3s,opacity .3s}.service-list summary:hover .plus,.service-list details[open] .plus,.service-list summary:focus-visible .plus{opacity:1}.service-list details[open] .plus{transform:rotate(45deg)}.service-list details>p{margin:20px 30px 0 32%;font-size:14px;line-height:1.7;color:#737373}.about{padding-top:10.5vw}.about h2{text-align:center;font-size:clamp(27px,3.35vw,58px);letter-spacing:-.025em;font-weight:500;margin-bottom:2.6vw}.studio-banner{border-radius:12px;overflow:hidden;aspect-ratio:3.43;background:black}.studio-banner img{width:100%;height:100%;object-fit:cover;display:block}.contact{text-align:center;padding:8.6vw 20px 6.5vw}.contact h2 a{color:var(--blue);text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:2px}.contact h2 a:hover{color:#0043b9}.contact .pill{margin-top:28px}footer{display:flex;justify-content:space-between;align-items:center;padding-bottom:28px;font-size:clamp(11px,1.1vw,18px)}footer a:hover{color:var(--blue)}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform 1s cubic-bezier(.2,.7,.2,1)}.js .reveal.visible{opacity:1;transform:none}.project:nth-child(even){transition-delay:.08s}dialog{width:min(1100px,94vw);max-height:92svh;border:0;border-radius:12px;padding:28px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(10px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:.12em;color:#777}.dialog-heading h2{font-size:36px;margin-top:7px;letter-spacing:-.03em}.close-dialog,.dialog-footer button{background:transparent;padding:12px 0}.close-dialog span{font-size:24px;margin-left:14px}#project-full{display:block;width:100%;max-height:65svh;object-fit:contain;background:#ececec;border-radius:6px}.dialog-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;font-size:13px}body.modal-open{overflow:hidden}
@media(min-width:1900px){.intro{padding-top:160px;padding-bottom:180px}.services-heading{padding-block:114px}.about{padding-top:190px}.contact{padding-top:150px;padding-bottom:120px}}
@media(max-width:700px){html{scroll-padding-top:20px}.page-width{width:92%}.hero{height:100svh;min-height:500px;max-height:none}.hero nav{top:26px;gap:18px;font-size:13px}.hero-brand img{width:43%}.hero-brand span{font-size:8px}.hero video{object-fit:cover}.hero-down{bottom:8%}.video-toggle{bottom:8%;right:4%}.intro{padding:82px 18px 72px}h1,.services h2,.contact h2{font-size:clamp(33px,7.5vw,52px);line-height:1.02}.intro p,.services-heading p{font-size:15px;margin-top:16px}.actions{gap:12px;margin-top:18px}.pill{font-size:12px;padding:10px 17px;min-height:36px}.project-grid{gap:6px}.project{border-radius:8px;aspect-ratio:.92}.project-caption{font-size:12px;padding:36px 12px 12px;opacity:1;transform:none}.services-heading{padding:70px 20px 70px}.services-layout{grid-template-columns:1fr;gap:40px}.service-image{aspect-ratio:1.08;border-radius:8px}.service-list details{padding-bottom:30px}.service-list details+details{padding-top:30px}.service-list summary{grid-template-columns:17% 1fr 20px;font-size:14px}.service-list small{font-size:12px;margin-top:12px}.service-list details>p{margin-left:20%;margin-right:16px}.plus{opacity:1}.about{padding-top:70px}.about h2{font-size:25px;margin-bottom:24px;line-height:1.1}.studio-banner{aspect-ratio:2;border-radius:8px}.contact{padding:84px 16px 80px}.contact .pill{margin-top:22px}footer{font-size:10px;gap:10px;padding-bottom:24px}dialog{padding:18px}.dialog-heading h2{font-size:28px}.close-dialog{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.hero video{display:none}.hero.playing .hero-brand{opacity:1}}

.project-coming-soon{cursor:default}.project-coming-soon:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.project-coming-soon:focus-visible .project-caption{opacity:1;transform:none}
