@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}:root{--bg: #0c0c0d;--bg-2: #151516;--bg-3: #1d1d1f;--fg: #ecebe6;--fg-2: rgba(236, 234, 230, .66);--fg-3: rgba(236, 234, 230, .5);--line: rgba(236, 234, 230, .14);--line-strong: rgba(236, 234, 230, .32);--accent: #f2608a;--accent-ink: #0c0c0d;--f-display: "Archivo Variable", "Helvetica Neue", Arial, sans-serif;--f-body: "Geist Variable", "Helvetica Neue", Arial, sans-serif;--f-mono: "Geist Mono Variable", ui-monospace, "SFMono-Regular", Menlo, monospace;--gutter: clamp(16px, 3vw, 44px);--max: 1680px;--nav-h: 72px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.77, 0, .18, 1);--z-menu: 15;--z-nav: 20;--z-modal: 40;--z-grain: 50;--z-skip: 60;color-scheme:dark;font-family:var(--f-body);font-size:100%;line-height:1.55;color:var(--fg);background-color:var(--bg);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}html.is-locked{overflow:hidden}body{margin:0;min-width:320px;min-height:100dvh;background-color:var(--bg);overflow-x:clip}body:after{content:"";position:fixed;inset:-50%;z-index:var(--z-grain);pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--accent);color:var(--accent-ink)}h1,h2,h3,h4,p,ol,ul,dl,dd,figure{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#root{width:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site{min-height:100dvh;display:flex;flex-direction:column}#main{flex:1}.shell{width:min(100% - var(--gutter) * 2,var(--max));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:var(--z-skip);padding:.7rem 1rem;border-radius:999px;background:var(--fg);color:var(--bg);font-weight:500;transform:translateY(-160%);transition:transform .3s var(--ease-out)}.skip-link:focus-visible{transform:none}.display-xl,.display-1,.display-2,.hero__title{font-family:var(--f-display);font-weight:640;letter-spacing:-.045em;line-height:.92;text-wrap:balance}.display-xl{font-size:clamp(3.4rem,9.2vw,10.5rem);font-stretch:105%}.display-1{font-size:clamp(2.8rem,7vw,7.6rem)}.display-2{font-size:clamp(2.2rem,4.8vw,5rem);letter-spacing:-.04em}.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.line>span{display:inline-block;will-change:transform}.lead{max-width:44ch;font-size:clamp(1.05rem,1.25vw,1.25rem);line-height:1.5;color:var(--fg-2);text-wrap:pretty}.kicker{display:block;font-family:var(--f-mono);font-size:.75rem;font-weight:450;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-3)}.count{font-family:var(--f-mono);font-size:clamp(.85rem,1.1vw,1.05rem);color:var(--fg-3);font-variant-numeric:tabular-nums}.btn{--btn-bg: transparent;--btn-fg: var(--fg);display:inline-flex;align-items:center;justify-content:center;gap:.55rem;height:46px;padding:0 1.3rem;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font-size:.9375rem;font-weight:520;letter-spacing:-.01em;white-space:nowrap;transition:background-color .35s var(--ease-out),color .35s var(--ease-out),scale .2s var(--ease-out)}.btn svg{width:1.05em;height:1.05em;flex:none}.btn:active{scale:.97}.btn:disabled{opacity:.6;cursor:progress}.btn--lg{height:58px;padding:0 1.75rem;font-size:1rem}.btn--light{--btn-bg: var(--fg);--btn-fg: var(--bg)}.btn--accent{--btn-bg: var(--accent);--btn-fg: var(--accent-ink)}@media(hover:hover){.btn--light:hover{--btn-bg: var(--accent);--btn-fg: var(--accent-ink)}.btn--accent:hover:not(:disabled){--btn-bg: var(--fg);--btn-fg: var(--bg)}}.link-arrow{display:inline-flex;align-items:center;gap:.4rem;padding-bottom:.2rem;font-weight:500;background:linear-gradient(currentColor,currentColor) no-repeat 0 100% / 100% 1px;transition:background-size .5s var(--ease-out),color .3s}.link-arrow svg{transition:transform .45s var(--ease-out)}@media(hover:hover){.link-arrow:hover{background-size:0% 1px;background-position:100% 100%}.link-arrow:hover svg{transform:translate(3px,-3px)}}.nav{position:fixed;inset:0 0 auto;z-index:var(--z-nav);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:var(--nav-h);padding:0 var(--gutter);border-bottom:1px solid transparent;transition:transform .6s var(--ease-out),background-color .4s,border-color .4s}.nav.is-solid{background:#0c0c0db8;border-bottom-color:var(--line);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%)}.nav.is-hidden{transform:translateY(-100%)}.nav[data-menu=true]{transform:none;background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.nav__brand{justify-self:start;display:flex;align-items:center}.nav__logo{height:22px;width:auto}.nav__logo--iso{display:none;height:28px}.nav__links{display:flex;gap:.35rem;padding:.3rem;border-radius:999px;background:#eceae60f;border:1px solid var(--line)}.nav__link{padding:.45rem 1rem;border-radius:999px;font-size:.9rem;font-weight:480;color:var(--fg-2);transition:color .3s,background-color .3s}.nav__link:hover{color:var(--fg)}.nav__link.active{color:var(--bg);background:var(--fg)}.nav__cta{justify-self:end}.nav__toggle{display:none;justify-self:end;height:40px;padding:0 1.1rem;border-radius:999px;border:1px solid var(--line-strong);font-size:.875rem;font-weight:500}.menu{position:fixed;inset:0;z-index:var(--z-menu);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--nav-h) + 6vh) var(--gutter) 2rem;background:var(--bg);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .8s var(--ease-in-out),visibility 0s linear .8s}.menu.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .8s var(--ease-in-out)}.menu__links{display:flex;flex-direction:column}.menu__links a{font-family:var(--f-display);font-size:clamp(2.8rem,13vw,5rem);font-weight:640;letter-spacing:-.045em;line-height:1.05;transform:translateY(40%);opacity:0;transition:transform .8s var(--ease-out),opacity .8s var(--ease-out)}.menu.is-open .menu__links a{transform:none;opacity:1}.menu.is-open .menu__links a:nth-child(2){transition-delay:.06s}.menu.is-open .menu__links a:nth-child(3){transition-delay:.12s}.menu.is-open .menu__links a:nth-child(4){transition-delay:.18s}.menu__foot{display:flex;flex-direction:column;gap:.35rem;color:var(--fg-2);font-size:.95rem}.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;isolation:isolate}.hero__media{position:absolute;inset:0;z-index:-2;transform-origin:50% 40%}.hero__media video{width:100%;height:100%;object-fit:cover}.hero__shade{position:absolute;inset:0;z-index:-1;opacity:.4;background:linear-gradient(180deg,#0c0c0d8c,#0c0c0d00 22%),linear-gradient(0deg,#0c0c0df2,#0c0c0d66 38%,#0c0c0d00 65%),var(--bg)}.hero__content{position:absolute;inset:auto var(--gutter) clamp(1.5rem,5vh,3.5rem)}.hero__title{font-size:clamp(3.4rem,10.4vw,12.5rem);font-weight:680;line-height:.88;letter-spacing:-.055em}.hero__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-top:clamp(1.5rem,3.5vh,2.5rem);padding-top:clamp(1.2rem,2.5vh,1.8rem);border-top:1px solid var(--line-strong)}.hero__copy{max-width:38ch;font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.45;color:#eceae6d1;text-wrap:pretty}.manifesto{padding-block:clamp(6rem,20vh,14rem) clamp(5rem,14vh,10rem)}.manifesto__text{max-width:30ch;font-family:var(--f-display);font-size:clamp(1.9rem,4.1vw,4.4rem);font-weight:520;line-height:1.06;letter-spacing:-.035em;text-indent:2.4em;text-wrap:pretty}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(4rem,12vh,8rem);margin-left:auto;max-width:1100px}.stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:.6rem;padding:1.4rem 1.5rem 0 0;border-top:1px solid var(--line-strong)}.stat__figure{font-family:var(--f-display);font-size:clamp(3rem,6vw,6rem);font-weight:600;line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.stat__label{font-size:.95rem;color:var(--fg-2)}.case{display:block}.case__frame{position:relative;overflow:hidden;aspect-ratio:4 / 3;background:var(--bg-2)}.case__media{position:absolute;inset:-8% 0}.case__media>*{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out),filter .8s}.case__caption{display:grid;gap:.35rem;padding-top:1.1rem}.case__title{display:flex;align-items:center;gap:.5rem;font-family:var(--f-display);font-size:clamp(1.45rem,2.1vw,2.2rem);font-weight:600;letter-spacing:-.035em;line-height:1.05}.case__arrow{width:.8em;height:.8em;opacity:0;transform:translate(-8px,8px);transition:opacity .4s,transform .5s var(--ease-out),color .3s}.case__meta{display:flex;justify-content:space-between;gap:1rem;font-family:var(--f-mono);font-size:.8rem;color:var(--fg-3)}.case__summary{max-width:46ch;margin-top:.5rem;color:var(--fg-2);text-wrap:pretty}@media(hover:hover){.case:hover .case__media>*{transform:scale(1.045)}.case:hover .case__arrow{opacity:1;transform:none;color:var(--accent)}}.selected{padding-block:clamp(4rem,10vh,7rem)}.selected__head,.team__head,.page-hero__title-row{display:flex;align-items:flex-start;gap:.75rem}.selected__head{margin-bottom:clamp(3rem,8vh,6rem)}.selected__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:clamp(4rem,12vh,9rem);align-items:start}.selected__grid .case:nth-child(1){grid-column:1 / 8}.selected__grid .case:nth-child(1) .case__frame{aspect-ratio:16 / 11}.selected__grid .case:nth-child(2){grid-column:9 / 13;margin-top:30vh}.selected__grid .case:nth-child(2) .case__frame{aspect-ratio:4 / 5}.selected__grid .case:nth-child(3){grid-column:2 / 7}.selected__grid .case:nth-child(3) .case__frame{aspect-ratio:4 / 5}.selected__grid .case:nth-child(4){grid-column:8 / 13;margin-top:18vh}.selected__grid .case:nth-child(4) .case__frame{aspect-ratio:5 / 4}.selected__grid .case:nth-child(5){grid-column:1 / 8}.selected__grid .case:nth-child(5) .case__frame{aspect-ratio:16 / 10}.selected__grid .case:nth-child(6){grid-column:9 / 13;margin-top:14vh}.selected__grid .case:nth-child(6) .case__frame{aspect-ratio:4 / 5}.selected__more{display:flex;justify-content:center;margin-top:clamp(4rem,12vh,8rem);font-size:clamp(1.2rem,1.8vw,1.6rem)}.services{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);padding-block:clamp(5rem,14vh,10rem)}.services__intro{grid-column:1 / 5;align-self:start;position:sticky;top:calc(var(--nav-h) + 2.5rem);display:grid;gap:1.5rem}.services__list{grid-column:6 / 13;position:relative}.service{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem 2rem;padding:clamp(1.5rem,3.4vh,2.4rem) 0;border-top:1px solid var(--line)}.service>*{transition:opacity .5s var(--ease-out)}.service:last-child{border-bottom:1px solid var(--line)}.service__name{grid-column:1 / -1;transition:transform .7s var(--ease-out),color .4s,opacity .5s var(--ease-out);font-family:var(--f-display);font-size:clamp(2rem,4.2vw,4.4rem);font-weight:600;letter-spacing:-.045em;line-height:.95}.service__detail{color:var(--fg-2);max-width:40ch}.service__cases{font-family:var(--f-mono);font-size:.8rem;color:var(--fg-3);align-self:end;text-align:right}@media(hover:hover){.services__list:hover .service:not(.is-active)>*{opacity:.32}.service.is-active .service__name{transform:translate(.35em);color:var(--accent)}}.services__preview{position:absolute;top:0;left:0;z-index:2;width:clamp(200px,17vw,290px);aspect-ratio:4 / 5;margin:calc(clamp(200px,17vw,290px)/-1.6) 0 0 calc(clamp(200px,17vw,290px)/-2);overflow:hidden;pointer-events:none;opacity:0;scale:.6;transition:opacity .4s,scale .6s var(--ease-out)}.services__preview.is-visible{opacity:1;scale:1}.services__preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}.services__preview img.is-active{opacity:1}@media(hover:none){.services__preview{display:none}}.marquee{overflow:hidden;padding-block:clamp(2rem,6vh,4rem);border-block:1px solid var(--line)}.marquee__track{display:flex;width:max-content}.marquee__item{display:inline-flex;align-items:center;gap:.35em;padding-right:.35em;font-family:var(--f-display);font-stretch:62%;font-weight:800;font-size:clamp(4rem,13vw,13rem);line-height:1;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}.marquee__item em{font-style:normal;color:transparent;-webkit-text-stroke:1.5px var(--fg)}.marquee__item img{height:.62em;width:auto}.contact{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:clamp(3rem,8vh,5rem);padding-block:clamp(6rem,16vh,12rem) clamp(4rem,10vh,8rem);scroll-margin-top:var(--nav-h)}.contact__intro{display:contents}.contact__title{grid-column:1 / -1}.contact__aside{grid-column:1 / 5;display:grid;align-content:start;gap:1.5rem}.contact__aside .link-arrow{justify-self:start;font-size:1.1rem}.form{grid-column:6 / 13;display:grid;gap:2rem}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:2rem var(--gutter)}.field{display:grid;gap:.5rem;min-width:0;margin:0;padding:0;border:0}.field label,.field legend{padding:0;font-size:.9rem;font-weight:500;color:var(--fg-2);transition:color .3s}.field small{margin-left:.35rem;font-size:.8rem;font-weight:400;color:var(--fg-3)}.field input,.field textarea{width:100%;padding:.75rem 0 .85rem;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;font-size:1.15rem;transition:border-color .3s}.field textarea{resize:vertical;min-height:7.5rem}.field input::placeholder,.field textarea::placeholder{color:var(--fg-3)}.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--fg)}.field:focus-within label{color:var(--fg)}.field [aria-invalid=true]{border-bottom-color:var(--accent)}.field__error{font-size:.875rem;color:var(--accent)}.field--choices legend{margin-bottom:.9rem}.choices{display:flex;flex-wrap:wrap;gap:.5rem}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}.choice span{display:inline-flex;align-items:center;height:42px;padding:0 1.1rem;border-radius:999px;border:1px solid var(--line-strong);font-family:var(--f-mono);font-size:.85rem;color:var(--fg-2);transition:background-color .3s,color .3s,border-color .3s}.choice:hover span{border-color:var(--fg);color:var(--fg)}.choice input:checked+span{background:var(--fg);border-color:var(--fg);color:var(--bg)}.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}.form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem;margin-top:.5rem}.form__status{max-width:42ch;font-size:.95rem;color:var(--fg-2)}.form__status .is-error{color:var(--accent)}.reel{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--gutter);background:#080809f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fade-in .4s var(--ease-out)}.reel__frame{width:min(100%,160vh);aspect-ratio:16 / 9;animation:rise-in .7s var(--ease-out)}.reel__frame video{width:100%;height:100%;background:#000}.reel__close{position:absolute;top:var(--gutter);right:var(--gutter);display:inline-flex;align-items:center;gap:.5rem;height:44px;padding:0 1.1rem;border-radius:999px;border:1px solid var(--line-strong);font-weight:500;transition:background-color .3s,color .3s}.reel__close:hover{background:var(--fg);color:var(--bg)}.loading-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;background:#0c0c0dd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade-in .3s var(--ease-out)}.loading-card{display:grid;justify-items:center;gap:.75rem;color:var(--fg-2)}.loading-lottie{width:120px;height:120px}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(24px) scale(.98)}}.page-hero{display:grid;gap:clamp(1.5rem,4vh,2.5rem);padding-top:calc(var(--nav-h) + clamp(3rem,12vh,8rem));padding-bottom:clamp(3rem,8vh,6rem)}.page-hero__lead{margin-left:auto;max-width:40ch}.work-page .page-hero .display-xl{font-size:clamp(4.5rem,17vw,19rem);line-height:.8}.filters{position:sticky;top:calc(var(--nav-h) + .75rem);z-index:2;display:flex;flex-wrap:wrap;gap:.4rem;width:fit-content;margin-bottom:clamp(3rem,7vh,5rem);padding:.3rem;border-radius:999px;border:1px solid var(--line);background:#0c0c0db3;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.filter{display:inline-flex;align-items:flex-start;gap:.2rem;padding:.55rem 1.05rem;border-radius:999px;font-size:.9rem;font-weight:500;color:var(--fg-2);transition:background-color .3s,color .3s}.filter sup{font-family:var(--f-mono);font-size:.65rem;line-height:1;margin-top:.1rem}.filter:hover{color:var(--fg)}.filter.is-active{background:var(--fg);color:var(--bg)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter);row-gap:clamp(3.5rem,10vh,7rem);padding-bottom:clamp(5rem,14vh,10rem)}.work-grid .case:nth-child(2n){margin-top:clamp(6rem,22vh,16rem)}.work-grid .case:nth-child(4n+1) .case__frame{aspect-ratio:4 / 5}.about-film__frame{position:relative;overflow:hidden;aspect-ratio:21 / 9;background:var(--bg-2)}.about-film__media{position:absolute;inset:-10% 0}.about-film__media video{width:100%;height:100%;object-fit:cover}.principles{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);padding-block:clamp(6rem,18vh,12rem)}.principles__label{grid-column:1 / 4;align-self:start;position:sticky;top:calc(var(--nav-h) + 2rem);font-size:1rem;font-weight:500;color:var(--fg-2)}.principles__list{grid-column:4 / 13;display:grid;gap:clamp(4rem,12vh,8rem)}.principle{display:grid;gap:1.25rem}.principle h3{font-family:var(--f-display);font-size:clamp(3.4rem,10vw,10rem);font-weight:640;font-stretch:110%;letter-spacing:-.055em;line-height:.85}.principle p{max-width:36ch;margin-left:clamp(0rem,16vw,18rem);font-size:clamp(1.1rem,1.5vw,1.45rem);line-height:1.4;color:var(--fg-2);text-wrap:pretty}.team{padding-bottom:clamp(5rem,14vh,10rem)}.team__head{margin-bottom:clamp(2.5rem,6vh,4rem)}.team__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--gutter)}.member{display:grid;grid-template-columns:64px minmax(0,1fr);gap:1.25rem;padding:1.75rem 0 2rem;border-top:1px solid var(--line)}.member__mark{display:grid;place-items:center;width:64px;aspect-ratio:1;background:var(--bg-3);font-family:var(--f-mono);font-size:.95rem;color:var(--fg-2);transition:background-color .4s,color .4s}.member:hover .member__mark{background:var(--accent);color:var(--accent-ink)}.member__name{font-family:var(--f-display);font-size:clamp(1.35rem,1.8vw,1.75rem);font-weight:600;letter-spacing:-.03em;line-height:1.1}.member__role{margin-top:.3rem;font-family:var(--f-mono);font-size:.8rem;color:var(--fg-3)}.member__bio{margin-top:.75rem;max-width:44ch;color:var(--fg-2)}.hubs{display:grid;gap:clamp(2.5rem,6vh,4rem);padding-bottom:clamp(6rem,16vh,12rem)}.hubs__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gutter)}.hub{display:grid;gap:.35rem;padding-top:1.25rem;border-top:1px solid var(--line-strong)}.hub__code{font-family:var(--f-display);font-size:clamp(3rem,6vw,6rem);font-weight:700;font-stretch:115%;letter-spacing:-.05em;line-height:.9;margin-bottom:.75rem}.hub__city{font-weight:500}.hub__area{color:var(--fg-3);font-size:.95rem}.hubs__cta{justify-self:start}.project-hero{display:grid;gap:clamp(1.5rem,4vh,2.5rem);padding-top:calc(var(--nav-h) + clamp(2rem,8vh,5rem));padding-bottom:clamp(2.5rem,6vh,4rem)}.project-hero .display-xl{font-size:clamp(3.4rem,11vw,13rem);line-height:.85}.back-link{display:inline-flex;align-items:center;gap:.45rem;justify-self:start;font-size:.9rem;color:var(--fg-2);transition:color .3s}.back-link svg{transition:transform .4s var(--ease-out)}.back-link:hover{color:var(--fg)}.back-link:hover svg{transform:translate(-4px)}.project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--gutter)}.project-facts>div{display:grid;gap:.45rem;align-content:start;padding-top:1rem;border-top:1px solid var(--line-strong)}.project-facts span{font-size:.85rem;color:var(--fg-3)}.project-facts strong{font-weight:500}.project-facts .link-arrow{justify-self:start}.project-cover{position:relative;overflow:hidden;height:min(88svh,56.25vw);min-height:320px;background:var(--bg-2)}.project-cover__media{position:absolute;inset:-8% 0}.project-cover__media>*{width:100%;height:100%;object-fit:cover}.project-story{display:grid;gap:clamp(3rem,8vh,5rem);padding-block:clamp(5rem,14vh,10rem)}.project-story__summary{max-width:28ch;font-family:var(--f-display);font-size:clamp(1.8rem,3.6vw,3.8rem);font-weight:520;letter-spacing:-.035em;line-height:1.08;text-wrap:pretty}.project-story__cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:3rem}.project-story__cols>div:first-child{grid-column:5 / 9}.project-story__cols>div:last-child{grid-column:9 / 13}.project-story__cols .kicker{margin-bottom:1.1rem}.project-story__cols p{color:var(--fg-2);font-size:1.05rem;text-wrap:pretty}.project-highlights{counter-reset:item}.project-highlights li{counter-increment:item;display:grid;grid-template-columns:2.2rem 1fr;padding:.75rem 0;border-bottom:1px solid var(--line);color:var(--fg-2)}.project-highlights li:before{content:counter(item,decimal-leading-zero);font-family:var(--f-mono);font-size:.8rem;line-height:1.9;color:var(--fg-3)}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gutter)}.project-gallery__item{overflow:hidden;background:var(--bg-2);aspect-ratio:4 / 5}.project-gallery__item:nth-child(3n+1){grid-column:1 / -1;aspect-ratio:16 / 9}.project-gallery__item>*{width:100%;height:100%;object-fit:cover}.project-outcome{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);padding-block:clamp(6rem,18vh,12rem)}.project-outcome .kicker{grid-column:1 / 4;padding-top:.9rem}.project-outcome__text{grid-column:4 / 13;max-width:24ch;font-family:var(--f-display);font-size:clamp(2rem,4.6vw,4.8rem);font-weight:560;letter-spacing:-.045em;line-height:1.02;text-wrap:balance}.next-project{position:relative;display:flex;align-items:flex-end;height:clamp(420px,80svh,820px);overflow:hidden;isolation:isolate}.next-project__media{position:absolute;inset:0;z-index:-1}.next-project__media>*{width:100%;height:100%;object-fit:cover;filter:brightness(.45) saturate(.9);transition:transform 1.4s var(--ease-out),filter .8s}.next-project__body{display:grid;gap:1rem;padding-bottom:clamp(2rem,6vh,4rem)}.next-project__title{display:flex;align-items:center;gap:.2em;font-family:var(--f-display);font-size:clamp(3.2rem,11vw,12rem);font-weight:660;letter-spacing:-.055em;line-height:.85}.next-project__title svg{width:.55em;height:.55em;transition:transform .6s var(--ease-out),color .3s}@media(hover:hover){.next-project:hover .next-project__media>*{transform:scale(1.05);filter:brightness(.6) saturate(1)}.next-project:hover .next-project__title svg{transform:translate(.08em,-.08em);color:var(--accent)}}.legal-page__meta{color:var(--fg-2)}.legal-page__meta a,.legal-page__body a{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}.legal-page__body{max-width:68ch;margin-left:max(var(--gutter),calc((100vw - var(--max)) / 2 + 25%));padding-bottom:clamp(5rem,14vh,10rem)}.legal-page__body h2{margin:2.5rem 0 .75rem;font-family:var(--f-display);font-size:1.4rem;font-weight:600;letter-spacing:-.02em}.legal-page__body p{color:var(--fg-2)}.not-found{position:relative;display:flex;align-items:flex-end;min-height:100svh;padding-bottom:clamp(3rem,10vh,6rem);isolation:isolate}.not-found__media{position:absolute;inset:0;z-index:-1}.not-found__media video{width:100%;height:100%;object-fit:cover;filter:brightness(.3) grayscale(.4)}.not-found__body{display:grid;gap:1.5rem}.not-found__code{font-family:var(--f-mono);color:var(--accent)}.not-found__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;margin-top:1rem}.footer{padding:clamp(5rem,14vh,10rem) var(--gutter) 1.5rem;border-top:1px solid var(--line);background:var(--bg-2);overflow:hidden}.footer__cta{display:grid;gap:.75rem}.footer__kicker{color:var(--fg-2);font-size:clamp(1rem,1.3vw,1.2rem)}.footer__mail{justify-self:start;font-family:var(--f-display);font-size:clamp(2.2rem,7.4vw,8.4rem);font-weight:620;letter-spacing:-.05em;line-height:.95;background:linear-gradient(var(--accent),var(--accent)) no-repeat 0 100% / 0% .06em;transition:background-size .7s var(--ease-out),color .4s;overflow-wrap:anywhere}@media(hover:hover){.footer__mail:hover{background-size:100% .06em}}.footer__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.5rem var(--gutter);margin-top:clamp(4rem,12vh,8rem)}.footer__col{display:grid;align-content:start;gap:.5rem;color:var(--fg-2)}.footer__col a{justify-self:start;transition:color .3s}.footer__col a:hover{color:var(--fg)}.footer__col em{font-style:normal;color:var(--fg-3)}.footer__label{margin-bottom:.5rem;font-size:.85rem;font-weight:500;color:var(--fg)}.footer__wordmark{display:flex;align-items:center;justify-content:space-between;margin-top:clamp(4rem,12vh,8rem);font-family:var(--f-display);font-size:14.4vw;font-weight:800;font-stretch:100%;letter-spacing:-.06em;line-height:.78;-webkit-user-select:none;user-select:none}.footer__wordmark img{height:.66em;width:auto}.footer__base{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.85rem;color:var(--fg-3)}.footer__top{color:var(--fg-2);transition:color .3s}.footer__top:hover{color:var(--fg)}@media(max-width:1024px){.services__intro{grid-column:1 / -1;position:static;margin-bottom:3rem}.services__list,.contact__aside,.form{grid-column:1 / -1}.project-story__cols>div:first-child{grid-column:1 / 7}.project-story__cols>div:last-child{grid-column:7 / 13}}@media(max-width:860px){.nav{grid-template-columns:1fr auto}.nav__links,.nav__cta{display:none}.nav__toggle{display:inline-flex;align-items:center}.nav__logo--full{display:none}.nav__logo--iso{display:block}}@media(max-width:767px){:root{--nav-h: 64px}.hero__foot{flex-direction:column;align-items:flex-start;gap:1.5rem}.stats{grid-template-columns:1fr;gap:2.25rem}.selected__grid,.work-grid{grid-template-columns:1fr;row-gap:3.5rem}.selected__grid .case:nth-child(n),.work-grid .case:nth-child(n){grid-column:1 / -1;margin-top:0}.selected__grid .case:nth-child(n) .case__frame,.work-grid .case:nth-child(n) .case__frame{aspect-ratio:4 / 3}.case__arrow{opacity:1;transform:none}.service{grid-template-columns:1fr}.service__cases{text-align:left}.form__row{grid-template-columns:1fr}.page-hero__lead{margin-left:0}.about-film__frame{aspect-ratio:4 / 3}.principles__label,.principles__list,.project-outcome .kicker,.project-outcome__text,.project-story__cols>div:first-child,.project-story__cols>div:last-child{grid-column:1 / -1}.principles__label{position:static;margin-bottom:2.5rem}.principle p{margin-left:0}.team__grid{grid-template-columns:1fr}.hubs__grid,.project-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:2rem}.project-gallery{grid-template-columns:1fr}.project-gallery__item:nth-child(n){aspect-ratio:4 / 3}.project-outcome .kicker{margin-bottom:1rem}.legal-page__body{margin-inline:var(--gutter)}.footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{width:auto;border-radius:24px}}
