:root{--color-ink:#1a1917;--color-green:#1f4230;--color-green-deep:#2b3630;--color-gray:#6b6862;--color-gray-muted:#8a857c;--color-paper:#ededeb;--color-white:#fff;--color-error:#a02c2c;--hero-tint:linear-gradient(#1e262180, #1e2621ad);--scrim:#141a16c7;--scrim-tile:linear-gradient(to top, #141a1699, #141a1600 45%);--scrim-tile-mobile:linear-gradient(to top, #141a1699, #141a1600 55%);--scrim-btn:#141a1659;--hairline-soft:#00000014;--hairline:#0000001a;--hairline-input:#00000040;--hairline-on-dark:#ffffff38;--border-on-dark:#ffffffb3;--text-on-dark-muted:#fff9;--shadow-dropdown:0 12px 24px #0000000f;--font-display:"Outfit Variable", system-ui, sans-serif;--font-text:"Hanken Grotesk Variable", system-ui, sans-serif;--font-mono:ui-monospace, Menlo, monospace;--type-display:500 clamp(56px, 3.5rem + 4.5vw, 96px) / .92 var(--font-display);--type-title:500 clamp(48px, 3rem + 1.8vw, 64px) / .95 var(--font-display);--type-display-s:500 clamp(40px, 2.5rem + 1.8vw, 56px) / 1 var(--font-display);--type-tile:500 clamp(18px, 1rem + 1.6vw, 32px) / 1.1 var(--font-display);--type-section:600 32px / 1.1 var(--font-text);--type-sub:600 22px / 1.2 var(--font-text);--type-lead:400 18px / 1.5 var(--font-text);--type-lead-strong:600 18px / 1.3 var(--font-text);--type-ui:400 15px / 1.5 var(--font-text);--type-label:400 11px / 1 var(--font-text);--type-num:400 11px / 1 var(--font-mono);--tracking-display:-.03em;--tracking-title:-.03em;--tracking-tile:-.02em;--tracking-label:.14em;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:40px;--space-5:64px;--space-6:96px;--page-max:1120px;--page-margin:24px;--section-pad:var(--space-5);--gutter:var(--space-2);--radius-a:38px 24px 34px 20px / 22px 34px 20px 36px;--radius-b:24px 38px 20px 34px / 34px 20px 36px 22px;--radius-c:34px 20px 38px 26px / 20px 36px 24px 34px;--btn-pad:12px 25px;--signet-header:32px;--signet-footer:24px;--header-h-mobile:64px;--tap-min:44px;--arrow-btn:44px;--thumb:88px;--slide:280px;--slide-gap:var(--space-3);--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-pop:cubic-bezier(.3, .7, .2, 1);--dur-fast:.2s;--dur-base:.25s;--dur-slow:.35s;--dur-reveal-text:.7s;--dur-reveal-img:.9s;--dur-slider:60s;--typewriter-tick:60ms}@media (width>=768px){:root{--page-margin:40px;--gutter:var(--space-3)}}@media (width>=1024px){:root{--page-margin:64px;--section-pad:var(--space-6)}}@keyframes slide{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes btnpulse{0%,to{box-shadow:0 0 #ffffff8c}70%{box-shadow:0 0 0 10px #fff0}}@keyframes btnpulseG{0%,to{box-shadow:0 0 #1f423073}70%{box-shadow:0 0 0 10px #1f423000}}@keyframes strokePop{0%{clip-path:inset(0 100% 0 0);opacity:0;transform:scale(.7)rotate(-6deg)}14%{opacity:1}30%{clip-path:inset(0);transform:scale(1.08)rotate(3deg)}42%{transform:scale(1)rotate(0)}60%{transform:scale(1.05)rotate(-2deg)}75%,to{clip-path:inset(0);opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){:root{--dur-fast:0s;--dur-base:0s;--dur-slow:0s;--dur-reveal-text:0s;--dur-reveal-img:0s}}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/dist/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/dist/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/dist/assets/hanken-grotesk-cyrillic-ext-wght-normal-D_UHSL_T.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/dist/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/dist/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/dist/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/dist/assets/hanken-grotesk-cyrillic-ext-wght-italic-CYajtLR3.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/dist/assets/hanken-grotesk-vietnamese-wght-italic-_zMtch5S.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/dist/assets/hanken-grotesk-latin-ext-wght-italic-KoQsQXDA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Hanken Grotesk Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/dist/assets/hanken-grotesk-latin-wght-italic-ChtpyDsL.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--color-white)}body{min-height:100dvh;font:var(--type-ui);color:var(--color-ink);background:var(--color-white);flex-direction:column;display:flex;overflow-x:clip}main{flex:1 0 auto}img,svg{max-width:100%;display:block}img{height:auto}button,input,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{text-align:inherit;cursor:pointer;background:0 0;border:0;padding:0}figure{margin:0}[hidden]{display:none!important}:root{--frame-inset:max(var(--page-margin), calc((100% - var(--page-max)) / 2 + var(--page-margin)));--focus-ring:var(--color-green)}a{color:inherit;text-decoration:none}.c-link{color:var(--color-ink)}.c-link:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.c-skip{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-1) var(--space-2);background:var(--color-green);color:var(--color-white);font:var(--type-ui);text-decoration:none;position:absolute;transform:translateY(-200%)}.c-skip:focus{transform:none}main:focus{outline:none}h1,h2,h3,h4,h5,h6{font:inherit}.c-display{font:var(--type-display);letter-spacing:var(--tracking-display)}.c-title{font:var(--type-title);letter-spacing:var(--tracking-title);color:var(--color-green);overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.c-title--tight{letter-spacing:-.02em}.c-title--sparkle{vertical-align:top;max-width:calc(100% - 1.22em);display:inline-block;position:relative}@media (width>=768px){.c-title--sparkle{max-width:none}}.c-title--sparkle:after{content:"";pointer-events:none;transform-origin:0 100%;clip-path:inset(0);background:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2080%2040'%3e%3cg%20fill='none'%20stroke='%231f4230'%20stroke-width='2.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M10%2030L20%208'/%3e%3cpath%20d='M18%2034L38%2018'/%3e%3cpath%20d='M24%2038L48%2032'/%3e%3c/g%3e%3c/svg%3e") 50%/contain no-repeat;width:1.2em;height:.6em;margin-top:-.2em;margin-left:.02em;position:absolute;top:0;left:100%}.c-display-s{font:var(--type-display-s);letter-spacing:-.02em}.c-section-title{font:var(--type-section);color:var(--color-green)}.c-sub{font:var(--type-sub);color:var(--color-green)}.c-project__title{font:var(--type-lead-strong);color:var(--color-ink)}.c-label,.c-caption,.c-field__label,.c-tags{font:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-green)}.c-caption{color:var(--color-gray);margin-top:var(--space-1)}.c-num{font:var(--type-num);color:var(--color-green);flex:none;width:20px}.c-label+:is(.c-title,.c-section-title){margin-top:var(--space-2)}.c-section-head__intro{margin-top:var(--space-3)}.c-section-head+*{margin-top:var(--space-4)}.c-section-title+.c-prose{margin-top:var(--space-2)}@media (width>=768px){.c-section-head__intro{margin-top:var(--space-4)}}.c-prose{font:var(--type-lead);color:var(--color-ink)}.c-prose>*+*{margin-top:var(--space-2)}.c-prose h2{font:var(--type-sub);color:var(--color-green)}.c-prose>*+h2{margin-top:var(--space-4)}.c-prose h3{font:var(--type-sub);color:var(--color-green)}.c-prose ul,.c-prose ol{padding-left:var(--space-3)}.c-prose li+li{margin-top:var(--space-1)}.c-prose a{color:var(--color-ink)}.c-prose a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.c-prose__btn{margin-top:var(--space-3)}.c-note{font:var(--type-ui);color:var(--color-gray)}.c-note a{color:var(--color-ink)}.c-note a:hover{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.u-visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.c-img{background:var(--color-paper);display:block;overflow:hidden}.c-img>img{object-fit:cover;width:100%;height:100%;display:block}.c-img--square{aspect-ratio:1}.c-img--portrait,.c-img--fill{aspect-ratio:4/5}.c-img--original{aspect-ratio:auto}.c-img--original>img{height:auto}.c-img--hero{background:var(--color-green-deep);position:absolute;inset:0}.l-container{max-width:var(--page-max);padding-inline:var(--page-margin);margin-inline:auto}.l-section{padding-block:var(--section-pad)}@media (width>=1200px){.l-container--detail{padding-inline:120px}}.l-split{row-gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.l-split__full{grid-column:1/-1}.l-split__text,.l-split__media{min-width:0}.l-split--contact{row-gap:var(--space-5)}.l-split__media--fill{position:relative}.l-split--about>.l-split__text{display:contents}.l-split--about>.l-split__text>*{min-width:0}.l-split--about .c-about__intro{order:1;margin-top:0}.l-split--about>.l-split__full{order:2}@media (width>=768px){.l-split{column-gap:var(--space-5);row-gap:var(--space-5);grid-template-columns:7fr 5fr}.l-split--about{align-items:stretch}.l-split__full--columns{grid-template-columns:subgrid;display:grid}.l-split--about>.l-split__text{display:block}.l-split--about .c-about__intro{margin-top:var(--space-4)}.l-split--contact{align-items:start}.l-split--detail{column-gap:80px;row-gap:var(--space-4);align-items:center}.l-split--detail>.c-project__media{grid-area:1/1/span 2}.l-split--detail>.c-project__head{grid-area:1/2;align-self:end}.l-split--detail>.c-project__body{grid-area:2/2;align-self:start}.l-split--single{grid-template-columns:minmax(0,1fr)}.l-split--image-left{grid-template-columns:5fr 7fr}.l-split--image-left>.l-split__media{grid-area:1/1}.l-split--image-left>.l-split__text{grid-area:1/2}.l-split__media--fill{min-height:320px;container-type:inline-size}.l-split__media--fill>.c-img--fill{aspect-ratio:auto;height:100%;max-height:150cqw;position:absolute;inset:0 0 auto}}*+.l-blocks,.l-blocks__item+.l-blocks__item{margin-top:var(--section-pad)}.l-blocks__item--richtext+.l-blocks__item--richtext{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--hairline)}.l-column .c-prose,.c-text__body{max-width:62ch}@media (width>=768px){.l-column,.c-figure--column{max-width:calc((100% - var(--space-5)) * 7 / 12)}.l-split__text .l-column,.l-split__text .c-figure--column{max-width:none}}:is(.c-tile-grid,.c-dropdown__grid,.c-menu__list,.c-menu__pages,.c-tags){margin:0;padding:0;list-style:none}.c-header{z-index:6;justify-content:space-between;align-items:center;gap:var(--space-2);height:var(--header-h-mobile);padding:0 var(--frame-inset);background:var(--color-white);border-bottom:1px solid var(--hairline-soft);color:var(--color-ink);display:flex;position:relative}.c-header--on-dark{border-bottom-color:var(--hairline-on-dark);color:var(--color-white);--focus-ring:var(--color-white);background:0 0}@media (width>=768px){.c-header{height:auto;padding:var(--space-3) var(--frame-inset)}}.c-brand{align-items:center;gap:var(--space-1);color:inherit;display:inline-flex}.c-brand__signet{width:auto;height:28px}.c-brand__name{font:var(--type-ui);font-weight:500}@media (width>=768px){.c-brand{gap:var(--space-2)}.c-brand__signet{height:var(--signet-header)}}.c-nav{display:none}@media (width>=768px){.c-nav{align-items:center;gap:var(--space-4);font:var(--type-ui);display:flex}}.c-nav-link{color:var(--color-gray)}.c-nav-link:hover{color:var(--color-ink)}.c-nav-link.is-active{color:var(--color-green);text-underline-offset:6px;font-weight:500;text-decoration:underline;text-decoration-thickness:2px}.c-nav-link--trigger{align-items:center;gap:var(--space-1);margin:-12px 0;padding:12px 0;display:inline-flex}.c-caret{opacity:0;color:var(--color-green);font-size:10px;line-height:1}.c-nav.is-near .c-caret,.c-nav-link--trigger[aria-expanded=true] .c-caret,.c-nav-link--trigger:focus-visible .c-caret{opacity:1}.c-nav-link--trigger[aria-expanded=true] .c-caret{transform:rotate(180deg)}@media (hover:none){.c-caret{opacity:1}}.c-header--on-dark .c-nav-link,.c-header--on-dark .c-nav-link.is-active,.c-header--on-dark .c-caret{color:var(--color-white)}.c-header--on-dark .c-nav-link:hover{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.c-nav-link--trigger.is-active,.c-header--on-dark .c-nav-link--trigger:hover{text-decoration:none}.c-nav-link--trigger.is-active .c-nav-link__label,.c-header--on-dark .c-nav-link--trigger:hover .c-nav-link__label{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.c-lang{font:var(--type-ui);align-items:center;gap:6px;display:flex}.c-lang__item,.c-lang__sep{color:var(--color-gray)}.c-lang__item:hover,.c-lang__item.is-active{color:var(--color-ink)}.c-header--on-dark .c-lang__item,.c-header--on-dark .c-lang__sep{color:var(--text-on-dark-muted)}.c-header--on-dark .c-lang__item:hover,.c-header--on-dark .c-lang__item.is-active{color:var(--color-white)}.c-header__toggle{min-height:var(--tap-min);min-width:var(--tap-min);color:var(--color-green);justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.c-header--on-dark .c-header__toggle{color:var(--color-white)}.c-hamburger{flex-direction:column;gap:5px;width:24px;display:flex}.c-hamburger>span{background:currentColor;border-radius:1px;height:2px;display:block}.c-close{font-size:28px;font-weight:300;line-height:1;display:none}.c-header__toggle[aria-expanded=true] .c-hamburger{display:none}.c-header__toggle[aria-expanded=true] .c-close{display:block}@media (width>=768px){.c-header__toggle{display:none}}.c-dropdown-host{display:none;position:relative}@media (width>=768px){.c-dropdown-host{display:block}}.c-dropdown{z-index:4;opacity:0;max-height:0;padding:0 var(--frame-inset);background:var(--color-white);border-bottom:1px solid var(--hairline);box-shadow:var(--shadow-dropdown);color:var(--color-ink);--focus-ring:var(--color-green);position:absolute;top:0;left:0;right:0;overflow:hidden}.c-dropdown.is-open{opacity:1;max-height:400px;padding-block:var(--space-4)}.c-dropdown__grid{gap:var(--space-1) var(--space-4);grid-template-columns:repeat(3,1fr);display:grid}.c-row{align-items:baseline;gap:var(--space-2);min-height:var(--tap-min);border-top:1px solid var(--hairline-soft);font:var(--type-lead);color:var(--color-ink);padding:12px 0;display:flex}.c-row:hover .c-row__name,.c-row[aria-current] .c-row__name{color:var(--color-green)}html.menu-open{overflow:hidden}.c-menu{inset:calc(var(--header-h-mobile) + 1px) 0 0 0;z-index:5;padding:var(--space-3);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-white);color:var(--color-ink);position:fixed;overflow:auto}html.js .c-menu{opacity:0}html.js .c-menu.is-open{opacity:1}.c-menu__list{margin-top:var(--space-1)}.c-menu__pages{margin-top:var(--space-4);border-top:1px solid var(--hairline)}.c-menu__pages a{padding:var(--space-2) 0;font:var(--type-tile);letter-spacing:var(--tracking-tile);color:var(--color-ink);font-size:32px;display:block}.c-menu__pages a:hover,.c-menu__pages a[aria-current]{color:var(--color-green)}.c-menu .c-lang{margin-top:var(--space-3);gap:var(--space-1)}@media (width>=768px){.c-menu{display:none}}.c-hero{background:var(--color-green-deep);color:var(--color-white);--focus-ring:var(--color-white);position:relative}.c-hero__tint{background:var(--hero-tint);position:relative}.c-hero__body{padding:var(--section-pad) var(--frame-inset) var(--space-4)}.c-hero__intro{margin-top:var(--space-3)}.c-hero__p{font:var(--type-lead);font-style:italic}.c-hero__col+.c-hero__col{margin-top:var(--space-4);text-align:right}.c-hero__btn{margin-top:var(--space-3)}@media (width>=768px){.c-hero__body{padding:var(--space-6) var(--frame-inset) var(--space-5)}.c-hero__intro{gap:var(--space-5);margin-top:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.c-hero__intro--1{grid-template-columns:minmax(0,1fr)}.c-hero__intro--1 .c-hero__col{max-width:62ch}.c-hero__col+.c-hero__col{text-align:left;margin-top:0}}.c-marquee{padding:var(--space-4) 0 var(--space-3);position:relative;overflow:hidden}.c-marquee__track,.c-marquee__set{gap:var(--space-2);display:flex}.c-marquee__track{width:max-content}.c-marquee__set{flex:none}.c-marquee__item{flex:none;width:160px}.c-marquee__overlay{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3);text-align:center;background:var(--scrim);color:var(--color-white);pointer-events:none;opacity:0;--focus-ring:var(--color-white);flex-direction:column;display:none;position:absolute;inset:0;transform:translateY(10px)}.c-marquee__overlay p{font:var(--type-lead)}.c-marquee__overlay .c-btn{margin-top:var(--space-1);pointer-events:auto}.c-marquee:hover .c-marquee__overlay,.c-marquee:focus-within .c-marquee__overlay{opacity:1;transform:none}.c-marquee-cta{padding-block:0 var(--section-pad)}.c-marquee-cta .c-display-s{color:var(--color-green)}.c-marquee-cta p{margin-top:var(--space-2);font:var(--type-lead)}.c-marquee-cta .c-btn{margin-top:var(--space-3)}@media (width>=768px){.c-marquee{padding:var(--space-5) 0}.c-marquee__track,.c-marquee__set{gap:var(--slide-gap)}.c-marquee__item{width:var(--slide)}}@media (width>=768px) and (hover:hover) and (pointer:fine){.c-marquee__overlay{display:flex}.c-marquee-cta{display:none}}.c-overview__head{margin-bottom:var(--space-4)}.c-overview__lead{gap:var(--space-2);flex-direction:column;display:flex}.c-overview__intro{font:var(--type-ui);max-width:56ch}.c-overview__count{display:none}@media (width>=768px){.c-overview__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.c-overview__count{flex:none;display:block}}.c-tile-grid{gap:var(--gutter);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=1024px){.c-tile-grid{grid-template-columns:repeat(3,1fr)}}.c-tile{color:var(--color-white);--focus-ring:var(--color-white);display:block;position:relative}.c-tile:after{content:"";background:var(--scrim-tile-mobile);pointer-events:none;position:absolute;inset:0}.c-tile__caption{z-index:1;font:var(--type-tile);letter-spacing:-.01em;padding:12px;position:absolute;bottom:0;left:0;right:0}@media (width>=768px){.c-tile:after{background:var(--scrim-tile)}.c-tile__caption{padding:var(--space-3);letter-spacing:var(--tracking-tile)}}.c-gallery{position:relative;container-type:inline-size}.c-gallery__stage{width:100%;display:block;position:relative}.c-gallery__slide{opacity:0;position:absolute;inset:0}.c-gallery__slide:first-child{position:relative}.c-gallery__slide.is-active{opacity:1}.c-gallery__prev,.c-gallery__next{top:calc(50cqi - var(--arrow-btn) / 2);width:var(--arrow-btn);height:var(--arrow-btn);opacity:0;--focus-ring:var(--color-white);padding:0;font-size:18px;display:none;position:absolute}.c-gallery__prev{left:var(--space-2)}.c-gallery__next{right:var(--space-2)}.c-gallery:has(>:is(.c-gallery__stage,.c-gallery__prev,.c-gallery__next):is(:hover,:focus-visible))>:is(.c-gallery__prev,.c-gallery__next){opacity:1}@media (width>=768px){.c-gallery__prev,.c-gallery__next{display:inline-flex}}@media (width>=768px) and (hover:none){.c-gallery__prev,.c-gallery__next{opacity:1}}.c-gallery__thumbs{gap:var(--space-1);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.c-gallery__thumb{background:var(--color-paper);opacity:.4;flex:none;width:56px;height:56px;overflow:hidden}.c-gallery__thumb.is-active{opacity:1}.c-gallery__thumb>img{object-fit:cover;width:100%;height:100%}@media (width>=768px){.c-gallery__thumbs{gap:var(--space-2);margin-top:var(--space-3)}.c-gallery__thumb{width:var(--thumb);height:var(--thumb)}}.c-project-section{padding-top:var(--space-4)}@media (width>=768px){.c-project-section{padding-top:var(--section-pad)}}.c-project--follow{margin-top:var(--section-pad);padding-top:var(--section-pad);border-top:1px solid var(--hairline)}.c-project--follow .c-project__head{display:none}.c-project__desc{margin-top:var(--space-2)}.c-project__body .c-project__more{margin-top:var(--space-3);display:none}@media (width>=768px){.c-project__body .c-project__more{display:inline-flex}}.c-project__blocks{margin-top:var(--section-pad)}.c-tags{gap:var(--space-1) var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}@media (width>=768px){.c-tags{gap:var(--space-3)}}.c-pager{padding-bottom:var(--space-4);font:var(--type-ui);flex-direction:column;display:flex}.c-pager__next{order:-1}.c-pager__back,.c-pager__next{justify-content:space-between;align-items:center;gap:var(--space-2);border-top:1px solid var(--hairline);min-height:48px;color:var(--color-ink);display:flex}.c-pager__back{justify-content:flex-start;gap:var(--space-1);border-bottom:1px solid var(--hairline)}.c-pager__word{color:var(--color-gray)}.c-pager__colon{display:none}.c-pager__back:hover,.c-pager__next:hover,.c-pager__next:hover .c-pager__word{color:var(--color-green)}@media (width>=768px){.c-pager{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-top:var(--space-3);padding-bottom:var(--section-pad);border-top:1px solid var(--hairline);flex-direction:row}.c-pager__next{order:0}.c-pager__back,.c-pager__next{border:0;min-height:0;display:inline}.c-pager__next,.c-pager__word{color:var(--color-gray)}.c-pager__colon{display:inline}}.c-about__intro--in-accordion{display:none}.c-accordion{border-top:1px solid var(--hairline)}.c-accordion__item{border-bottom:1px solid var(--hairline)}.c-accordion__item>.c-sub>button{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;min-height:56px;padding:var(--space-2) 0;text-align:left;display:flex}.c-accordion__icon{color:var(--color-ink);flex:none;font-size:24px;font-weight:300;line-height:1}.c-accordion__icon:before{content:"+"}button[aria-expanded=true]>.c-accordion__icon:before{content:"−"}.c-accordion__panel{padding-bottom:var(--space-3)}html:not(.js) .c-accordion__item>.c-sub{padding-top:var(--space-2)}@media (width>=768px){.c-about__intro--in-accordion{display:block}.c-accordion{row-gap:var(--space-4);border-top:0}.c-accordion__item{padding-top:var(--space-4);border-top:1px solid var(--hairline);border-bottom:0}.c-accordion__item--intro{display:none}.c-accordion__panel{margin-top:var(--space-2);padding-bottom:0}}.c-contact__intro{font:var(--type-lead)}.c-contact__intro br{display:none}@media (width>=768px){.c-contact__intro br{display:inline}}.c-form>*+*{margin-top:var(--space-3)}.c-form__row{gap:var(--space-3);display:grid}@media (width>=768px){.c-form__row{grid-template-columns:1fr 1fr}}.c-field{gap:var(--space-1);flex-direction:column;display:flex}.c-field>input,.c-field>textarea{border:0;border-bottom:1px solid var(--hairline-input);width:100%;font:var(--type-ui);color:var(--color-ink);background:0 0;border-radius:0;padding:12px 0;font-size:16px}.c-field>textarea{resize:vertical}.c-field>:is(input,textarea)::placeholder{color:var(--color-gray);opacity:1}.c-field>:is(input,textarea):focus{border-bottom-color:var(--color-green-deep);outline:none}@media (width>=768px) and (pointer:fine){.c-field>input,.c-field>textarea{font-size:15px}}.c-form__submit{margin-top:var(--space-2)}.c-form__submit .c-btn{width:100%;min-height:48px}.c-form__submit .c-note,.c-note--privacy{margin-top:var(--space-2)}.c-form__trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.c-field__error{font:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-error)}.c-field.is-invalid>:is(input,textarea),.c-field.is-invalid>:is(input,textarea):focus{border-bottom-color:var(--color-error)}html:not(.js) .c-form,html.js .c-form__fallback{display:none}.c-form__fallback{margin-top:var(--space-4)}.c-form__message{font:var(--type-ui)}.c-form--sent>:not(.c-form__message){display:none}.c-form--sent>.c-form__message{margin-top:0}.c-form__message:focus-visible{outline:none}.c-form__message--success{color:var(--color-green)}.c-form__message--error{color:var(--color-error)}.c-form[aria-busy=true]{opacity:.6}@media (width>=768px){.c-form__submit{align-items:center;gap:var(--space-3);display:flex}.c-form__submit .c-btn{width:auto;min-height:0}.c-form__submit .c-note{margin-top:0}}.c-text__btn{margin-top:var(--space-3)}.c-footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--frame-inset);border-top:1px solid var(--hairline);font:var(--type-ui);color:var(--color-ink);flex-wrap:wrap;display:flex}.c-footer__brand{align-items:center;gap:var(--space-2);display:flex}.c-footer__signet{height:var(--signet-footer);width:auto}.c-footer__links{align-items:center;gap:var(--space-2);color:var(--color-gray);margin-left:auto;display:flex}.c-footer__link:hover{color:var(--color-ink)}.c-footer__icon{min-width:24px;min-height:24px;color:var(--color-green);justify-content:center;align-items:center;display:inline-flex}@media (width>=768px){.c-footer{padding-block:var(--space-4)}.c-footer__links{gap:var(--space-3)}}.c-btn{padding:var(--btn-pad);border-radius:var(--radius-a);font:var(--type-ui);text-align:center;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex}@media (hover:none){.c-btn{min-height:var(--tap-min)}}.c-btn--r-a{border-radius:var(--radius-a)}.c-btn--r-b{border-radius:var(--radius-b)}.c-btn--r-c{border-radius:var(--radius-c)}.c-btn--primary{background:var(--color-green);border-color:var(--color-green);color:var(--color-white)}.c-btn--primary:hover{background:var(--color-green-deep);border-color:var(--color-green-deep)}.c-btn--outline-dark{border-color:var(--color-green);color:var(--color-green);background:0 0}.c-btn--outline-dark:hover{background:var(--color-green);color:var(--color-white)}.c-btn--outline-light{border-color:var(--color-white);color:var(--color-white);--focus-ring:var(--color-white);background:0 0}.c-btn--outline-light:hover{background:var(--color-white);color:var(--color-green)}.c-btn--ghost{background:var(--scrim-btn);border-color:var(--border-on-dark);color:var(--color-white)}.c-btn--ghost:hover{background:var(--scrim)}.c-btn:active{transform:translateY(1px)}.c-btn:disabled,.c-btn[aria-disabled=true]{opacity:.5;cursor:progress}[data-reveal]{transition:opacity var(--dur-reveal-text) ease, transform var(--dur-reveal-text) var(--ease-out)}[data-reveal=img]{transition-duration:var(--dur-reveal-img)}html.js [data-reveal].is-hidden{opacity:0;transform:translateY(18px)}html.js .c-btn.is-waiting{opacity:0}.c-btn.is-shown{opacity:1;transition:opacity .4s}.c-btn.is-pulsing{animation:1.4s ease-out 2 btnpulseG}.c-btn--outline-light.is-pulsing{animation-name:btnpulse;animation-delay:.3s}html.js [data-twt]{color:#0000}.c-marquee__track{animation:slide var(--dur-slider-mobile,var(--dur-slider)) linear infinite;animation-play-state:paused}@media (width>=768px){.c-marquee__track{animation-duration:var(--dur-slider)}}.c-marquee.is-running .c-marquee__track,html:not(.js) .c-marquee__track{animation-play-state:running}@media (width>=768px) and (hover:hover) and (pointer:fine){.c-marquee:is(:hover,:focus-within) .c-marquee__track{animation-play-state:paused}}.c-marquee__overlay{transition:opacity var(--dur-slow) ease, transform var(--dur-slow) ease}.c-title--sparkle:after{animation:strokePop 3.6s var(--ease-pop) .6s 3 both}.c-dropdown{transition:max-height var(--dur-slow) ease, opacity var(--dur-base) ease}.c-caret{transition:transform var(--dur-fast) ease, opacity var(--dur-base) ease}.c-menu{transition:opacity var(--dur-fast) ease}.c-gallery__prev,.c-gallery__next,.c-gallery__thumb,.c-gallery__slide{transition:opacity var(--dur-base) ease}.c-btn,.c-nav-link,.c-lang__item,.c-row__name,.c-footer__link,.c-pager__back,.c-pager__next,.c-pager__word,.c-menu__pages a,.c-tile__caption{transition:color var(--dur-base) ease, background-color var(--dur-base) ease, border-color var(--dur-base) ease}.c-field>input,.c-field>textarea{transition:border-color var(--dur-base) ease}@media (prefers-reduced-motion:reduce){html.js [data-twt]{color:inherit}html.js .c-btn.is-waiting{opacity:1}.c-btn.is-shown{transition:none}.c-marquee__track{animation:none}.c-marquee-cta{display:block}html.js [data-reveal].is-hidden{opacity:1;transform:none}[data-reveal]{transition:none}.c-btn.is-pulsing,.c-title--sparkle:after{animation:none}.c-nav-link--trigger[aria-expanded=true] .c-caret{transform:none}.c-dropdown,.c-caret,.c-menu,.c-marquee__overlay,.c-gallery__prev,.c-gallery__next,.c-gallery__thumb,.c-gallery__slide,.c-btn,.c-nav-link,.c-lang__item,.c-row__name,.c-footer__link,.c-pager__back,.c-pager__next,.c-pager__word,.c-menu__pages a,.c-tile__caption,.c-field>input,.c-field>textarea{transition:none}.c-marquee__overlay{transform:none}}html.js .c-hero__col:has([data-typewriter]) [data-typewriter-btn]:not(.is-shown){opacity:0}
