@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-wght-normal.Czsa-EzN.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-wght-normal.C-3rgBeH.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:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-wght-normal.CCVVNp6i.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-ext-wght-normal.BOFOeGcA.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:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/_astro/dm-sans-latin-wght-normal.Xz1IZZA0.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}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,p,figure,blockquote{margin:0}img,svg{display:block}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%}[hidden]{display:none!important}}@layer base{:root{--paper:#f8f5ef;--ink:#25251f;--muted:#69675f;--rust:#94442e;--rust-dark:#753422;--line:#c9c3b8;--wash:#eee9df;--serif:"Newsreader Variable", Georgia, serif;--sans:"DM Sans Variable", Arial, sans-serif;color-scheme:light;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:35px}body{-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.65}::selection{color:var(--ink);background:#e4c9b7}:focus-visible{outline:2px solid var(--rust);outline-offset:5px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.035em;font-weight:400;line-height:1.06}h2{font-size:clamp(36px,3.5vw,52px)}p{text-wrap:pretty}.shell{width:min(100% - 112px,1376px);margin-inline:auto}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.eyebrow{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:550;line-height:1.6}.arrow{stroke:currentColor;stroke-width:1.35px;flex:none}.section-space{border-bottom:1px solid var(--line);padding-block:56px 64px}.text-link{width:fit-content;color:var(--rust);border-bottom:1px solid;align-items:center;gap:20px;padding-block:4px;font-size:15px;line-height:1.5;transition:color .16s;display:inline-flex}.text-link:hover{color:var(--rust-dark)}.text-link .arrow{width:19px;transition:transform .18s}.text-link:hover .arrow{transform:translate(3px)}.button{border:1px solid var(--rust);background:var(--rust);min-height:54px;color:var(--paper);justify-content:center;align-items:center;gap:28px;padding:15px 24px;font-size:14px;font-weight:500;line-height:1.5;transition:background .18s,border-color .18s,color .18s;display:inline-flex}.button:hover{background:var(--rust-dark);border-color:var(--rust-dark)}.button-outline{color:var(--ink);background:0 0;border-color:#8d877e}.button-outline:hover{border-color:var(--ink);background:var(--ink);color:var(--paper)}.button-small{gap:14px;min-height:42px;padding:10px 18px;font-size:13px}.button-small .arrow{width:16px;height:16px}}@layer components{.skip-link{z-index:20;background:var(--ink);color:#fff;padding:12px 20px;position:absolute;top:-80px;left:20px}.skip-link:focus{top:10px}.site-header{border-bottom:1px solid var(--line);z-index:5;justify-content:space-between;align-items:center;gap:30px;min-height:101px;display:flex;position:relative}.brand{white-space:nowrap;align-items:center;gap:22px;display:inline-flex}.brand>span{font-family:var(--serif);letter-spacing:-.045em;font-size:34px;line-height:1}.brand small{letter-spacing:.35em;text-transform:uppercase;margin-top:3px;font-size:9px;font-weight:550}.desktop-nav{align-items:center;gap:34px;font-size:13px;display:flex}.desktop-nav>a:not(.button){padding-block:12px;position:relative}.desktop-nav>a:not(.button):after{content:"";background:var(--rust);transform-origin:0;width:100%;height:1px;transition:transform .18s;position:absolute;bottom:8px;left:0;transform:scaleX(0)}.desktop-nav>a:hover:after{transform:scaleX(1)}.mobile-menu{display:none}.hero{grid-template-columns:minmax(0,1.82fr) minmax(0,1fr);align-items:center;gap:clamp(30px,4.6vw,76px);padding:74px 0 64px;display:grid}.hero h1{letter-spacing:-.068em;font-size:clamp(76px,9.35vw,145px);line-height:.95}.hero h1>span{white-space:nowrap;display:block}.hero-aside{padding-top:12px}.hero-aside>.eyebrow{color:var(--rust);margin-bottom:24px}.hero-description{letter-spacing:-.02em;max-width:25ch;font-size:clamp(18px,1.52vw,23px);line-height:1.53}.hero-actions{gap:12px;margin-top:32px;display:grid}.hero-actions .button{justify-content:space-between;gap:12px}.capabilities{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));padding-block:28px 30px;display:grid}.capabilities>a{padding-inline:36px;position:relative}.capabilities>a:first-child{padding-left:0}.capabilities>a:last-child{padding-right:0}.capabilities>a+a{border-left:1px solid var(--line)}.capabilities .eyebrow{color:var(--rust);margin-bottom:17px;display:block}.capabilities h2{margin-bottom:8px;font-size:40px;transition:color .18s}.capabilities p{color:#56554e;font-size:14px}.capabilities .arrow{opacity:0;width:20px;transition:opacity .18s,transform .18s;position:absolute;top:30px;right:32px;transform:translate(-4px)}.capabilities a:hover .arrow{opacity:1;transform:translate(0)}.capabilities a:hover h2{color:var(--rust)}.section-heading{justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px;display:flex}.section-heading h2{font-size:40px}.section-heading>.eyebrow{color:var(--muted);text-align:right}.work-grid{grid-template-columns:1.35fr 1fr;gap:30px;display:grid}.project-link{display:block}.project-art{align-items:center;height:clamp(270px,26.6vw,408px);padding:35px 26px 0;display:flex;position:relative;overflow:hidden}.farm{background:#d7caba}.radar{background:#d9dedc}.shadow-data{background:#ddd3c1}.project-window{background:#fff;border:1px solid #ffffff60;align-self:flex-start;width:100%;transition:transform .36s cubic-bezier(.2,.8,.2,1);box-shadow:0 12px 32px #35312621}.project-card:nth-child(2) .project-art{padding-inline:28px;padding-top:52px}.project-link:hover .project-window{transform:translateY(-7px)}.window-bar{background:#f3f0eb;border-bottom:1px solid #ddd9d2;align-items:center;gap:4px;height:20px;padding-inline:9px;display:flex;position:relative}.window-bar i{background:#c8c3ba;border-radius:50%;width:4px;height:4px}.window-bar span{color:#78736a;font-size:7px;position:absolute;left:50%;transform:translate(-50%)}.project-window img{width:100%;height:auto}.project-open{background:var(--paper);width:38px;height:38px;color:var(--rust);border:1px solid #d3ccbf;place-items:center;transition:background .18s,color .18s;display:grid;position:absolute;bottom:16px;right:16px}.project-link:hover .project-open{background:var(--rust);color:var(--paper)}.project-heading{justify-content:space-between;align-items:center;gap:16px;padding-top:24px;display:flex}.project-heading h3{font-size:29px}.project-heading .eyebrow{color:var(--muted);letter-spacing:.11em;text-align:right;font-size:8px}.project-summary{color:#56554e;margin-top:5px;font-size:14px}.project-status{color:var(--muted);letter-spacing:.02em;margin-top:12px;font-size:11px}.services-section{grid-template-columns:1fr 1.1fr;gap:100px;padding-block:80px;display:grid}.services-intro>.eyebrow{color:var(--rust);margin-bottom:24px}.services-intro h2{max-width:12ch;margin-bottom:27px;font-size:clamp(40px,4.6vw,65px);line-height:1.05}.services-intro>p:not(.eyebrow){color:#56554e;max-width:43ch;font-size:15px}.services-intro>p+p{margin-top:14px}.service-list details{border-bottom:1px solid var(--line)}.service-list details:first-child{border-top:1px solid var(--line)}.service-list summary{cursor:pointer;align-items:center;gap:19px;padding-block:25px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}.service-list summary>.eyebrow{color:var(--rust);font-size:9px}.service-list h3{letter-spacing:-.025em;font-size:27px}.toggle{color:var(--rust);margin-left:auto;font-size:23px;font-weight:300;line-height:1;transition:transform .18s}details[open] .toggle{transform:rotate(45deg)}.service-list details>div{margin-left:33px;padding-bottom:27px}.service-list details p{color:#56554e;font-size:14px;line-height:1.75}.service-list .text-link{margin-top:18px;font-size:13px}.about-section{grid-template-columns:.85fr 1.3fr;align-items:center;gap:100px;padding-block:80px;display:grid}.about-photo{aspect-ratio:1.04;background:#e3dace;overflow:hidden}.about-photo img{object-fit:cover;object-position:68% center;width:100%;height:100%}.about-copy .eyebrow{color:var(--rust);margin-bottom:23px}.about-copy h2{margin-bottom:20px;font-size:65px}.about-lede{letter-spacing:-.02em;max-width:35ch;font-size:21px;line-height:1.45}.about-copy p:not(.eyebrow):not(.about-lede){color:#56554e;max-width:60ch;margin-top:18px;font-size:14px}.about-copy .text-link{margin-top:23px;font-size:14px}.closing-cta{grid-template-columns:1.3fr 1fr;align-items:center;gap:90px;padding-block:70px;display:grid}.closing-cta h2{font-size:clamp(46px,4.9vw,72px)}.closing-cta p{color:#56554e;font-size:16px}.closing-cta .text-link{margin-top:23px}.site-footer{grid-template-columns:1fr auto;gap:20px;padding-block:37px;display:grid}.footer-brand{gap:15px}.footer-brand>span{font-size:23px}.footer-brand small{font-size:7px}.site-footer p{color:var(--muted);margin-top:10px;font-size:11px}.site-footer nav{align-items:flex-start;gap:24px;padding-top:5px;display:flex}.site-footer nav a{align-items:center;gap:6px;font-size:11px;display:flex}.site-footer nav .arrow{width:13px;height:13px}.site-footer nav a:hover{color:var(--rust)}.copyright{color:var(--muted);grid-column:2;justify-self:end;margin-top:-28px;font-size:10px}.case-study{padding-top:30px}.back-link{color:var(--muted);gap:12px;font-size:12px;display:inline-flex}.back-link:hover{color:var(--rust)}.case-header{max-width:1030px;padding-block:55px}.case-header>.eyebrow{color:var(--rust);margin-bottom:25px}.case-header h1{max-width:17ch;font-size:clamp(58px,7.5vw,110px)}.case-intro{max-width:58ch;margin-top:26px;font-size:21px;line-height:1.55}.case-header .project-status{margin-top:23px}.case-image{padding:45px 70px 18px}.case-image img{width:100%;height:auto;box-shadow:0 6px 30px #35312620}.case-image figcaption{color:#59564c;margin-top:18px;font-size:10px}.case-body{grid-template-columns:.6fr 1.4fr;gap:100px;padding-block:75px;display:grid}.case-facts h2{color:var(--rust)}.case-facts dl{margin-top:30px}.case-facts dl>div{border-top:1px solid var(--line);padding-block:16px}.case-facts dt{color:var(--muted);margin-bottom:3px;font-size:11px}.case-facts dd{margin:0;font-size:14px}.case-facts .text-link{margin-top:15px;font-size:13px}.case-narrative{max-width:700px}.case-narrative section+section{margin-top:42px}.case-narrative h2{margin-bottom:15px;font-size:35px}.case-narrative p{color:#56554e;font-size:16px;line-height:1.85}.case-narrative blockquote{font-family:var(--serif);letter-spacing:-.025em;color:var(--rust);border-left:2px solid var(--rust);margin-top:50px;padding-left:25px;font-size:41px;line-height:1.13}.case-next{border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:30px;padding-block:40px;display:flex}.case-next .eyebrow{color:var(--muted);margin-bottom:15px}.case-next>div>a{font-family:var(--serif);align-items:center;gap:30px;font-size:38px;line-height:1;display:flex}.contact-page{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:120px;padding-block:80px 90px;display:grid}.contact-intro>.eyebrow{color:var(--rust);margin-bottom:30px}.contact-intro h1{font-size:clamp(74px,7.5vw,112px);line-height:.98}.contact-intro>p:not(.eyebrow){color:#56554e;max-width:38ch;margin-top:30px;font-size:17px}.direct-contact{margin-top:45px}.direct-contact .eyebrow{color:var(--muted);margin-bottom:10px;display:block}.direct-contact .text-link{font-size:16px}#inquiry-form label{margin-bottom:10px;font-size:13px;font-weight:500;display:block}.optional,.required{color:var(--muted);font-size:11px;font-weight:400}input,select,textarea{width:100%;color:var(--ink);background:0 0;border:1px solid #aaa397;border-radius:0;min-width:0;margin-bottom:25px;padding:13px 14px;font-size:14px;line-height:1.6;display:block}textarea{resize:vertical;min-height:150px}textarea::placeholder{color:#7e796f}select{min-height:49px;padding-right:28px}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}#inquiry-fields{border:0;min-width:0;margin:0;padding:0}.form-honeypot{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}#send-inquiry{justify-content:space-between;width:100%}#send-inquiry:disabled,#inquiry-fields:disabled #send-inquiry{opacity:.65;cursor:wait}.form-note{color:var(--muted);margin-top:13px;font-size:11px}.inquiry-status{border:1px solid var(--line);background:var(--wash);margin-top:25px;padding:24px}.inquiry-status[data-state=error]{border-color:var(--rust)}.inquiry-status h2{margin-bottom:10px;font-size:30px}.inquiry-status p{font-size:14px}.inquiry-status .text-link{margin-top:18px;font-size:13px}.not-found{padding-block:100px}.not-found>.eyebrow{color:var(--rust)}.not-found h1{margin-block:30px;font-size:clamp(55px,7vw,100px)}.not-found .button{margin-top:30px}}@layer responsive{@media (width>=481px){.work-grid>.project-card:last-child:nth-child(odd){grid-column:1/-1}.work-grid>.project-card:last-child:nth-child(odd) .project-link{grid-template-columns:1.35fr 1fr;align-items:center;gap:30px;display:grid}.work-grid>.project-card:last-child:nth-child(odd) .project-copy{padding:25px 25px 25px 0}.work-grid>.project-card:last-child:nth-child(odd) .project-heading{padding-top:0;display:block}.work-grid>.project-card:last-child:nth-child(odd) .project-heading h3{font-size:38px}.work-grid>.project-card:last-child:nth-child(odd) .project-heading .eyebrow{text-align:left;margin-top:12px;display:block}.work-grid>.project-card:last-child:nth-child(odd) .project-summary{max-width:34ch;margin-top:20px;font-size:18px}}@media (width>=1600px){.hero{padding-block:88px 80px}}@media (width<=1100px){.shell{width:calc(100% - 72px)}.hero{grid-template-columns:1.65fr 1fr;gap:36px}.hero h1{font-size:9.05vw}.hero-aside>.eyebrow{margin-bottom:20px;font-size:8px}.hero-description{font-size:18px}.hero-actions .button{padding-inline:15px;font-size:12px}.project-heading{display:block}.project-heading .eyebrow{text-align:left;margin-top:9px;display:block}.services-section,.about-section{gap:55px}.contact-page{gap:65px}.service-list h3{font-size:24px}.case-body{gap:65px}}@media (width<=760px){.shell{width:calc(100% - 40px)}.site-header{gap:15px;min-height:84px}.brand{gap:13px}.brand>span{font-size:29px}.brand small{letter-spacing:.24em;font-size:8px}.desktop-nav{display:none}.mobile-menu{display:block}.mobile-menu summary{cursor:pointer;align-items:center;gap:13px;padding:10px 0 10px 10px;font-size:12px;list-style:none;display:flex}.mobile-menu summary span{font-size:23px;font-weight:300;transition:transform .15s}.mobile-menu[open] summary span{transform:rotate(45deg)}.mobile-menu nav{background:var(--paper);border-bottom:1px solid var(--line);padding:15px 20px 25px;position:absolute;top:calc(100% - 1px);left:-20px;right:-20px;box-shadow:0 12px 16px #25251f09}.mobile-menu nav a{border-top:1px solid var(--line);font-family:var(--serif);justify-content:space-between;align-items:center;padding:14px 0;font-size:28px;display:flex}.hero{grid-template-columns:1fr;gap:36px;padding-block:49px 43px}.hero h1{letter-spacing:-.06em;font-size:clamp(67px,13.6vw,104px);line-height:.98}.hero-aside{grid-template-columns:1.3fr 1fr;align-items:start;gap:0 30px;padding-top:0;display:grid}.hero-aside>.eyebrow{grid-column:1/-1;margin-bottom:16px;font-size:9px}.hero-description{max-width:34ch;font-size:17px;line-height:1.65}.hero-actions{margin-top:0}.hero-actions .button{min-height:48px;padding:12px;font-size:11px}.capabilities{padding-block:25px}.capabilities>a{padding-inline:17px}.capabilities h2{font-size:31px}.capabilities p{font-size:11px;line-height:1.65}.capabilities .eyebrow{margin-bottom:16px;font-size:9px}.capabilities .arrow{display:none}.section-space{padding-block:43px 48px}.section-heading h2{font-size:34px}.section-heading>.eyebrow{max-width:18ch;font-size:8px}.work-grid{gap:25px}.project-art{height:240px;padding:20px 12px 0}.project-card:nth-child(2) .project-art{padding:35px 12px 0}.project-heading h3{font-size:27px}.project-summary{font-size:13px}.project-heading .eyebrow{font-size:7px}.project-status{font-size:10px}.services-section,.about-section{grid-template-columns:1fr;gap:36px}.services-intro h2{max-width:15ch;font-size:49px}.services-intro>p:not(.eyebrow){max-width:65ch}.service-list h3{font-size:28px}.about-section{grid-template-columns:.8fr 1fr;align-items:start;gap:28px}.about-photo{aspect-ratio:.7}.about-copy h2{font-size:44px}.about-copy .eyebrow{margin-bottom:17px;font-size:8px}.about-lede{font-size:18px}.about-copy p:not(.eyebrow):not(.about-lede){font-size:13px}.about-copy .text-link{font-size:12px}.closing-cta{grid-template-columns:1fr 1fr;gap:32px}.closing-cta h2{font-size:45px}.closing-cta p{font-size:14px}.closing-cta .text-link{font-size:13px}.site-footer{grid-template-columns:1fr;gap:23px;padding-block:30px}.site-footer nav{flex-wrap:wrap;gap:20px}.copyright{grid-column:1;justify-self:start;margin-top:0}.case-header{padding-block:38px}.case-header h1{font-size:65px}.case-intro{font-size:18px}.case-image{padding:20px 20px 12px}.case-image figcaption{font-size:9px}.case-body{grid-template-columns:1fr;gap:38px;padding-block:43px}.case-facts dl{grid-template-columns:1fr 1fr 1fr;gap:17px;display:grid}.case-facts dd{font-size:12px}.case-next{align-items:start}.case-next>div>a{font-size:30px}.case-next .button{padding-inline:14px;font-size:12px}.contact-page{grid-template-columns:1fr;gap:45px;padding-block:48px}.contact-intro h1{font-size:82px}.contact-intro>p:not(.eyebrow){max-width:56ch}.direct-contact{margin-top:27px}#inquiry-form{border-top:1px solid var(--line);padding-top:30px}}@media (width<=480px){.brand>span{font-size:27px}.brand small{font-size:7px}.hero h1{font-size:16vw}.hero-aside{display:block}.hero-aside>.eyebrow{margin-bottom:17px;font-size:8px}.hero-description{max-width:36ch;font-size:16px}.hero-actions{gap:10px;margin-top:24px}.hero-actions .button{min-height:51px;padding-inline:18px;font-size:13px}.capabilities h2{font-size:clamp(22px,7vw,27px)}.capabilities>a{padding-inline:12px}.capabilities p{font-size:10px}.work-grid{grid-template-columns:1fr;gap:33px}.project-art{height:255px;padding:26px 20px 0}.project-card:nth-child(2) .project-art{height:245px;padding:27px 20px 0}.project-heading{padding-top:20px}.project-heading h3{font-size:29px}.project-heading .eyebrow{font-size:8px}.services-intro h2{font-size:45px}.service-list summary{gap:14px}.service-list h3{font-size:25px}.service-list details>div{margin-left:28px}.about-section{grid-template-columns:1fr}.about-photo{aspect-ratio:1.25}.about-photo img{object-position:65% center}.about-copy h2{font-size:51px}.about-lede{font-size:21px}.about-copy p:not(.eyebrow):not(.about-lede),.about-copy .text-link{font-size:14px}.closing-cta{grid-template-columns:1fr;gap:24px}.closing-cta h2{font-size:51px}.closing-cta .text-link{font-size:14px}.case-header h1{font-size:52px}.case-header>.eyebrow{font-size:8px}.case-body{gap:25px}.case-facts dl{grid-template-columns:1fr;gap:0;margin-top:15px}.case-facts dl>div{justify-content:space-between;gap:25px;display:flex}.case-facts dd{text-align:right}.case-narrative h2{font-size:32px}.case-narrative p{font-size:15px}.case-narrative blockquote{padding-left:18px;font-size:33px}.case-next{flex-direction:column}.contact-intro h1{font-size:77px}.form-row{grid-template-columns:1fr;gap:0}.direct-contact .text-link{font-size:15px}.inquiry-status{padding:18px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}}
