@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/lato-latin-400-normal.BEhtfm5r.woff2) format("woff2"),url(/_astro/lato-latin-400-normal.B11PyLys.woff) format("woff")}@font-face{font-family:Lato;font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/lato-latin-400-italic.Dc0B1559.woff2) format("woff2"),url(/_astro/lato-latin-400-italic.DL5fBv-7.woff) format("woff")}@font-face{font-family:Lato;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/lato-latin-700-normal.BUGMgin4.woff2) format("woff2"),url(/_astro/lato-latin-700-normal.DAdL7O4w.woff) format("woff")}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-cyrillic-ext-wght-normal.CO5hGrJv.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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-cyrillic-wght-normal.EAA9jha_.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-vietnamese-wght-normal.k7S-YeeD.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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-latin-ext-wght-normal.BsZE-iaG.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:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-latin-wght-normal.l_AIctKy.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}:root{--bg: #ffffff;--bg-alt: #f4f4f2;--text: #141414;--muted: #5d5d5a;--line: #dcdcd7;--watermark: #ececea;--accent: #d92c4c;--invert-bg: #141414;--invert-text: #f4f4f2;--icon-filter: none;--font-body: "Lato", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Montserrat Variable", "Montserrat", system-ui, sans-serif;--container: 72rem;--narrow: 44rem;--gutter: clamp(1rem, 4vw, 2.5rem);--header-h: 4rem;--ease: cubic-bezier(.2, .7, .2, 1)}@media(prefers-color-scheme:dark){:root{--bg: #121212;--bg-alt: #191919;--text: #f0f0ee;--muted: #a7a7a2;--line: #313130;--watermark: #1f1f1e;--accent: #ff5d79;--invert-bg: #f0f0ee;--invert-text: #141414;--icon-filter: invert(1)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,iframe{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}a:hover{text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.2;letter-spacing:-.01em;margin:0 0 .6em;text-wrap:balance}p{margin:0 0 1em;text-wrap:pretty}.container{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}.container-narrow{width:min(100% - 2 * var(--gutter),var(--narrow));margin-inline:auto}.eyebrow{font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin:0 0 .9rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:1rem;top:-4rem;z-index:100;padding:.6rem 1rem;background:var(--text);color:var(--bg)}.skip-link:focus{top:1rem}@keyframes rise{0%{opacity:0;translate:0 1.25rem}to{opacity:1;translate:0 0}}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}.site-header--overlay{position:fixed;right:0;left:0}@supports (animation-timeline: scroll()){.site-header--overlay{animation:header-over-hero linear both;animation-timeline:scroll(root);animation-range:45vh 90vh}.site-header--overlay .brand{animation:brand-over-hero linear both;animation-timeline:scroll(root);animation-range:45vh 90vh}}@keyframes header-over-hero{0%{background-color:transparent;border-bottom-color:transparent;color:#141414;backdrop-filter:none;-webkit-backdrop-filter:none}}@keyframes brand-over-hero{0%{opacity:0;visibility:hidden}}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--header-h)}.brand{font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.36em;text-transform:uppercase;text-decoration:none}.nav-list{display:flex;gap:clamp(1rem,3vw,2.25rem);margin:0;padding:0;list-style:none}.nav-list a,.footer-nav a,.back-link{background:linear-gradient(currentColor,currentColor) left bottom / 0 1px no-repeat;text-decoration:none;transition:background-size .3s var(--ease)}.nav-list a{display:block;padding-block:.4rem;font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.nav-list a:hover,.nav-list a[aria-current=page],.footer-nav a:hover,.back-link:hover{background-size:100% 1px}@media(max-width:26rem){.brand{font-size:.8rem;letter-spacing:.18em}.nav-list{gap:.75rem}.nav-list a{font-size:.68rem;letter-spacing:.08em}}.button{--b-bg: var(--text);--b-fg: var(--bg);--b-line: var(--text);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.1rem;padding:.7rem 1.6rem;border:1.5px solid var(--b-line);background:var(--b-bg);color:var(--b-fg);font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;transition:letter-spacing .3s var(--ease),background-color .25s,color .25s}.button:hover{letter-spacing:.21em}.button--ghost{--b-bg: transparent;--b-fg: var(--text)}.button--ghost:hover{--b-bg: var(--text);--b-fg: var(--bg)}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.social{display:flex;gap:.6rem;margin:0;padding:0;list-style:none}.social a{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:1px solid var(--line);border-radius:50%;transition:background-color .25s,color .25s,border-color .25s}.social a:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.hero{position:relative;isolation:isolate;height:100vh;height:100svh;overflow:hidden;background:#d8d8d6}.hero-layer{position:absolute;inset:0;background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;pointer-events:none}.hero-layer--back{z-index:0;background-image:url(/hero/background.jpg)}.hero-layer--front{z-index:3;background-image:url(/hero/foreground.webp)}.hero-intro{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:16% 8%;padding-top:32px;text-align:center}.hero-name{margin:0 0 20px;color:#000;font-family:var(--font-body);font-size:17px;font-weight:700;line-height:32px;letter-spacing:6px;text-transform:uppercase;animation:wf-fade-up .9s ease both}.hero-title{max-width:970px;margin:0 0 10px;color:#fff;font-family:var(--font-display);font-size:70px;font-weight:700;line-height:80px;letter-spacing:18px;text-transform:uppercase;text-wrap:nowrap;animation:wf-fade-up .9s ease .3s both}.learn-more{position:absolute;z-index:4;right:0;bottom:0;left:0;max-width:200px;margin:0 auto 60px;padding-bottom:5px;border-bottom:5px solid #000;color:#000;font-family:var(--font-display);font-size:14px;line-height:20px;letter-spacing:2px;text-align:center;text-decoration:none;transition:max-width .4s ease-in;animation:wf-fade-in 1s ease-in-out 1s both}.learn-more:hover{max-width:300px}.hero-social{position:absolute;z-index:4;right:18px;bottom:24px;display:flex;margin:0;padding:0;list-style:none}.hero-social a{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0 6px;border:2px solid rgb(255 255 255 / .3);border-radius:50%;background:url(/hero/half-circle.svg) 50% no-repeat;color:#222;transition:transform .3s ease}.hero-social .icon{transition:transform .3s ease}.hero-social a:hover{transform:rotate(180deg)}.hero-social a:hover .icon{transform:rotate(-180deg)}@keyframes wf-fade-up{0%{opacity:0;translate:0 60px}to{opacity:1;translate:0 0}}@keyframes wf-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hero-name-drift{0%,68%{transform:translateY(13px)}to{transform:translateY(291px)}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.hero-name{animation:wf-fade-up .9s ease both,hero-name-drift linear both;animation-timeline:auto,view()}}}@media(max-width:991px){.hero-intro{margin-right:24px;margin-left:24px}.hero-name{font-size:16px}.hero-social{right:10px;bottom:16px}.learn-more{margin-bottom:120px;border-bottom-style:none}}@media(max-width:767px){.hero-intro{margin-right:16px;margin-left:16px}.hero-name{margin-bottom:0;font-size:15px}.hero-title{margin:12px 0 16px;letter-spacing:8px}}@media(max-width:479px){.hero-name{font-size:14px}.hero-title{font-size:43px;letter-spacing:5px}.hero-social{right:10px;left:10px}.learn-more{margin-bottom:150px}}.section{padding-block:clamp(4.5rem,10vw,8rem)}.section--alt{background:var(--bg-alt)}.section-head{position:relative;margin-bottom:clamp(2.5rem,6vw,4.5rem);text-align:center}.section-head--start{text-align:start}.section-head h2{position:relative;margin:0;font-size:clamp(1.7rem,1.2rem + 2vw,2.6rem)}.section-head .eyebrow{position:relative}.watermark{display:block;margin-bottom:-.45em;color:var(--watermark);font-family:var(--font-display);font-size:clamp(3.4rem,15vw,10rem);font-weight:800;line-height:.9;letter-spacing:.04em;text-transform:uppercase;user-select:none;pointer-events:none}.section--alt .watermark{color:color-mix(in srgb,var(--watermark) 55%,var(--bg))}@media(prefers-color-scheme:dark){.section--alt .watermark{color:#232322}}@keyframes watermark-shrink{0%{scale:1}to{scale:.6}}@keyframes portrait-in{0%{translate:-430px 0}to{translate:0 0}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.watermark{animation:watermark-shrink linear both;animation-timeline:view();animation-range:cover 15% cover 55%}.about{overflow-x:clip;view-timeline:--about block}.about .portrait{animation:portrait-in linear both;animation-timeline:--about;animation-range:entry 20% cover 45%}}}.about-grid{display:grid;gap:clamp(2.5rem,6vw,5rem);align-items:center}@media(min-width:52rem){.about-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}.portrait{justify-self:center;width:min(22rem,72vw);aspect-ratio:1;overflow:hidden;border-radius:50%;background:var(--bg-alt)}.portrait img{width:100%;height:100%;object-fit:cover}.lead{font-family:var(--font-display);font-size:1.3em;font-weight:500;line-height:1.45}.services-grid{display:grid;gap:clamp(2.25rem,4vw,3.5rem) clamp(2rem,6vw,5rem);margin:0;padding:0;list-style:none}@media(min-width:48rem){.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.service{display:grid;grid-template-columns:3.25rem 1fr;align-content:start;column-gap:1.4rem}.service-icon{grid-row:span 2;width:3.25rem;height:auto;filter:var(--icon-filter)}.service h3{margin:.2rem 0 .5rem;font-size:1.15rem}.service p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:clamp(2.25rem,4vw,3.25rem) clamp(1.25rem,3vw,2.25rem)}.card-link{display:block;text-decoration:none}.card-media{aspect-ratio:4 / 3;overflow:hidden;margin-bottom:1.1rem;background:var(--bg-alt)}.card-media img{width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease)}.card-link:hover .card-media img{scale:1.04}.card-meta{margin-bottom:.35rem;font-size:.68rem}.card-title{margin:0;font-size:1.15rem;font-weight:600}.card-link:hover .card-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}.more-link{margin:clamp(3rem,6vw,4.5rem) 0 0;text-align:center}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.card,.service{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 40%}}}.contact{background:var(--invert-bg);color:var(--invert-text);text-align:center}.contact .eyebrow{color:color-mix(in srgb,var(--invert-text) 65%,transparent)}.contact h2{font-size:clamp(2.3rem,1.4rem + 4.5vw,4.75rem);font-weight:300;letter-spacing:.08em;text-transform:uppercase}.contact-inner>p:not(.eyebrow){max-width:34rem;margin-inline:auto;font-size:1.1em}.contact .actions{justify-content:center}.contact .button{--b-bg: var(--invert-text);--b-fg: var(--invert-bg);--b-line: var(--invert-text)}.contact .button--ghost{--b-bg: transparent;--b-fg: var(--invert-text);text-transform:none;letter-spacing:.04em;font-size:.85rem}.contact .button--ghost:hover{--b-bg: var(--invert-text);--b-fg: var(--invert-bg);letter-spacing:.06em}.site-footer{padding-block:3.5rem 2.5rem;border-top:1px solid var(--line)}.footer-inner{display:grid;justify-items:center;gap:1.6rem;text-align:center}.footer-brand{display:grid;gap:.4rem;text-decoration:none}.wordmark{margin-right:-.4em;font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:.4em;text-transform:uppercase}.footer-brand .eyebrow{margin:0 -.3em 0 0}.footer-nav{display:flex;gap:1.75rem;font-size:.9rem}.copyright{margin:0;color:var(--muted);font-size:.85rem}.page-head{padding-block:clamp(3.5rem,8vw,6rem) clamp(2rem,4vw,3rem)}.page-head h1{margin-bottom:.4em;font-size:clamp(2.4rem,1.5rem + 4.5vw,4.75rem);font-weight:300;letter-spacing:.08em;text-transform:uppercase}.page-head .intro{max-width:40rem;color:var(--muted);font-size:1.1em}.not-found{min-height:60vh}.filters{display:flex;flex-wrap:wrap;gap:.6rem;margin:0 0 clamp(2.25rem,5vw,3.5rem);padding:0;border:0}.filters input{position:absolute;opacity:0;pointer-events:none}.filters label{display:inline-flex;align-items:baseline;gap:.45em;padding:.55rem 1.1rem;border:1px solid var(--line);border-radius:999px;font-family:var(--font-display);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}.filters label:hover{border-color:var(--text)}.filters input:checked+label{background:var(--text);border-color:var(--text);color:var(--bg)}.filters input:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}.count{font-weight:500;opacity:.6}.project-head{padding-block:clamp(2.5rem,6vw,4.5rem) clamp(2.5rem,6vw,4rem)}.project-head--color{background:var(--hero-color);color:#fff}.project-head--color .eyebrow,.project-head--color .project-lead{color:#ffffffd1}.back-link{display:inline-block;margin-bottom:clamp(2rem,5vw,3rem);color:inherit}.back-link:before{content:"← "}.project-head h1{max-width:22ch;font-size:clamp(2rem,1.3rem + 3.2vw,3.75rem)}.project-lead{max-width:42rem;margin:0;color:var(--muted);font-size:1.15em}.project-hero{width:min(100% - 2 * var(--gutter),80rem);margin:0 auto clamp(2.5rem,6vw,4.5rem)}.project-hero img{width:100%;aspect-ratio:3 / 2;object-fit:cover}.prose>p:first-child{font-size:1.15em;line-height:1.6}.prose{--wide: 12rem;display:grid;grid-template-columns:[full-start] minmax(var(--gutter),1fr) [wide-start] minmax(0,var(--wide)) [content-start] min(100% - 2 * var(--gutter),var(--narrow)) [content-end] minmax(0,var(--wide)) [wide-end] minmax(var(--gutter),1fr) [full-end];padding-block:clamp(1rem,3vw,2rem) clamp(2.5rem,6vw,4rem)}.prose>*{grid-column:content}.prose>p:has(>img),.prose>lite-video{grid-column:wide;margin-block:clamp(1.5rem,4vw,2.75rem)}.prose img{margin-inline:auto}.prose>p:has(>img)+p:has(>em:only-child){margin-top:calc(-1*clamp(.75rem,2.5vw,1.75rem));color:var(--muted);font-size:.9em;text-align:center}.prose h2{margin-top:2.2em;font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem)}.prose h3{margin-top:2em;font-size:1.3rem}.prose h4{margin-top:1.8em;font-size:1.1rem}.prose>:first-child{margin-top:0}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.4em}.prose blockquote{margin:2rem 0;padding-left:1.25rem;border-left:2px solid var(--text);font-size:1.15em}.project-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:clamp(3rem,7vw,5rem)}.author{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:center;margin-bottom:clamp(3.5rem,8vw,6rem);padding-top:clamp(2rem,5vw,3rem);border-top:1px solid var(--line)}.author-img{width:6rem;height:6rem;border-radius:50%;object-fit:cover}.author p:not(.eyebrow){margin-bottom:1rem}.author .button{min-height:2.7rem;padding-inline:1.2rem}@media(max-width:30rem){.author{grid-template-columns:1fr}}.more-title{margin-bottom:clamp(2rem,5vw,3rem);font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}lite-video{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:#0b0b0b}lite-video>a{display:grid;place-items:center;height:100%;color:#fff}lite-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.lite-video__button{position:absolute;inset:0;display:grid;place-items:center;width:100%;padding:0;border:0;background:#0b0b0b center / cover no-repeat;color:#fff;font:inherit;cursor:pointer}.lite-video__button:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,#0009,#00000014 60%)}.lite-video__play{position:relative;width:4.5rem;height:4.5rem;border-radius:50%;background:#fffffff0;box-shadow:0 .75rem 2rem #00000059;transition:scale .3s var(--ease)}.lite-video__play:after{content:"";position:absolute;left:54%;top:50%;translate:-50% -50%;border-style:solid;border-width:.7rem 0 .7rem 1.15rem;border-color:transparent transparent transparent #111}.lite-video__button:hover .lite-video__play{scale:1.07}.lite-video__button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.lite-video__note{position:absolute;right:1rem;bottom:.85rem;left:1rem;font-size:.8rem;text-align:left;opacity:.88}.legal{padding-block:clamp(3rem,8vw,5.5rem)}.legal h1{font-size:clamp(2rem,1.4rem + 3vw,3.25rem);font-weight:300;letter-spacing:.06em;text-transform:uppercase}.legal h2{margin-top:2.2em;font-size:1.2rem}.legal-lead{font-size:1.15em}.legal ul{padding-left:1.2em}.legal-date{margin-top:3rem;color:var(--muted);font-size:.9em}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}
