@font-face{font-family:DM Sans;src:url('/assets/dm-sans-400.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans-500.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/dm-sans-600.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
:root{--green:#143d32;--chalk:#f2f0e7;--citrus:#cdd978;--muted:#3f5148;--rule:#b7c0b6;--font:'DM Sans',sans-serif;--gutter:clamp(24px,4vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--chalk);color:var(--green);font-family:var(--font);font-weight:400;-webkit-font-smoothing:antialiased}::selection{color:var(--green);background:var(--citrus)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}img{display:block;max-width:100%}figure,h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}input:focus-visible,textarea:focus-visible{outline:2px solid var(--green);outline-offset:4px}a:hover{text-decoration-thickness:1px}section[id],div[id]{scroll-margin-top:30px}.skip-link{position:fixed;left:20px;top:-70px;padding:16px;background:var(--chalk);color:var(--green);z-index:10}.skip-link:focus{top:12px}.section-shell{padding-inline:var(--gutter);max-width:1720px;margin-inline:auto}
.hero{display:grid;grid-template-columns:55.5% 44.5%;background:var(--green);color:var(--chalk);min-height:650px;height:min(76svh,850px)}.hero-panel{display:flex;flex-direction:column;padding:30px var(--gutter) 74px;min-width:0}.site-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.wordmark{display:block;flex:0 0 auto;width:122px}.wordmark img{width:122px;height:auto}.site-header nav{display:flex;gap:clamp(12px,1.55vw,27px);padding-top:17px;align-items:center}.site-header nav a{font-size:14px;line-height:24px;padding-block:8px;white-space:nowrap}.site-header nav a:hover{text-decoration:underline;text-underline-offset:6px}.hero-copy{margin-block:auto; padding-top:50px}.hero-copy h1{font-size:clamp(54px,5vw,84px);line-height:1.08;letter-spacing:-.035em;font-weight:500;max-width:900px}.hero-copy p{font-size:clamp(17px,1.6vw,25px);line-height:1.45;margin-top:30px}.arrow-link{display:inline-flex;align-items:center;gap:25px;font-size:19px;min-height:48px}.arrow-link svg{width:48px;height:24px;transition:transform .2s ease}.arrow-link span{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.arrow-link:hover svg{transform:translateX(5px)}.hero-cta{margin-top:44px}.hero-photo{overflow:hidden;min-width:0}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:54% 50%}
.work{padding-top:80px;padding-bottom:78px;display:grid;grid-template-columns:1.12fr 1fr;column-gap:clamp(60px,8vw,140px)}h2{font-size:clamp(32px,3.3vw,50px);line-height:1.1;letter-spacing:-.03em}.services h2{margin-bottom:44px}.service-list details{border-top:1px solid var(--rule)}.service-list details:last-child{border-bottom:1px solid var(--rule)}.service-list summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding-block:21px;min-height:68px;cursor:pointer;font-size:clamp(19px,1.85vw,28px);line-height:1.2;letter-spacing:-.02em}.service-list summary::-webkit-details-marker{display:none}.service-list summary svg{width:20px;height:20px;transition:transform .18s}.service-list details[open] summary svg{transform:rotate(45deg)}.service-list details p{font-size:16px;line-height:1.55;max-width:36ch;color:var(--muted);padding:0 44px 23px 0}.projects{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-content:start}.projects h2{grid-column:1/-1;font-size:23px;letter-spacing:-.02em;margin-top:7px;margin-bottom:30px}.project-atmos{margin-top:68px}.project-photo{overflow:hidden;aspect-ratio:4/4.6;background:#d1d8cd}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.project-doma .project-photo img{object-position:52% 45%}.project-atmos .project-photo img{object-position:59% 50%}.project:hover .project-photo img{transform:scale(1.025)}figcaption{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;margin-top:17px}figcaption h3{font-size:21px;line-height:1.2;letter-spacing:-.02em}figcaption p{font-size:13px;line-height:1.45;margin-top:8px;color:var(--muted)}figcaption svg{width:21px;height:21px;margin-top:1px}
.team{border-top:1px solid var(--rule);padding-top:55px;padding-bottom:64px;display:grid;grid-template-columns:1fr 2fr;gap:60px}.team h2{font-size:23px;letter-spacing:-.02em;margin-top:8px}.team-content{display:flex;justify-content:space-between;align-items:flex-start;gap:50px}.team-names{display:flex;flex-direction:column;gap:13px;flex:0 0 auto}.team-names h3{font-size:clamp(28px,2.65vw,42px);line-height:1.13;letter-spacing:-.03em}.team-content>p{max-width:27ch;font-size:17px;line-height:1.55;margin-top:6px;color:var(--muted)}
.contact{background:var(--green);color:var(--chalk);max-width:none;padding-top:76px;padding-bottom:73px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(50px,10vw,160px)}.contact h2{font-size:clamp(42px,4.8vw,72px)}.contact-intro>p{margin-top:24px;font-size:18px;line-height:1.45}.email-link{display:inline-block;font-size:17px;margin-top:26px;padding-block:8px;text-decoration:underline;text-underline-offset:6px;overflow-wrap:anywhere}.call-link{display:flex;width:fit-content;margin-top:23px;font-size:17px}.contact form{position:relative;min-width:0;max-width:680px;width:100%;padding-top:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:9px;margin-bottom:28px}.field label{font-size:14px}.field input,.field textarea{width:100%;border:none;border-bottom:1px solid #a8b7ae;border-radius:0;color:var(--chalk);background:transparent;padding:10px 0;line-height:1.45;font-size:18px;outline:none;resize:vertical}.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--citrus);outline-offset:4px}.field input:autofill{box-shadow:0 0 0 100px var(--green) inset;-webkit-text-fill-color:var(--chalk)}.form-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.privacy-link{font-size:12px;text-decoration:underline;text-underline-offset:4px;line-height:22px;padding-block:10px}.send-button{display:flex;align-items:center;gap:36px;background:var(--citrus);color:var(--green);border:none;padding:15px 21px;min-height:54px;font-size:15px;font-weight:500}.send-button svg{width:23px;height:23px}.send-button:hover{background:var(--chalk)}.send-button:disabled{cursor:wait;opacity:.7}.form-status{font-size:14px;line-height:1.55;margin-top:22px;max-width:44ch}.form-success{padding:40px 0;outline:none}.form-success h3{font-size:40px;letter-spacing:-.025em}.form-success p{margin-top:15px;line-height:1.5}.text-button{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;padding:8px 0;margin-top:30px}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}.site-footer{display:flex;justify-content:space-between;align-items:center;padding-block:25px;font-size:12px;gap:28px}.site-footer a{display:flex;gap:14px;align-items:center;min-height:40px}.site-footer svg{width:18px;height:18px}.privacy-page{max-width:780px;margin:0 auto;padding:60px 24px}.privacy-page h1{font-size:42px;margin:50px 0 28px;letter-spacing:-.03em}.privacy-page p{font-size:17px;line-height:1.7;margin-bottom:20px}.privacy-page a{text-decoration:underline;text-underline-offset:5px}.privacy-page .wordmark{width:120px}
@media(min-width:1720px){.hero-panel{padding-left:max(64px,calc((100vw - 1592px)/2))}.contact{padding-inline:max(64px,calc((100vw - 1592px)/2))}}
@media(max-width:1200px){.hero{min-height:600px}.hero-panel{padding-right:28px}.site-header{gap:16px}.wordmark,.wordmark img{width:103px}.site-header nav{gap:12px}.site-header nav a{font-size:13px}.hero-copy h1{font-size:clamp(48px,5vw,64px)}.work{gap:50px}.team{grid-template-columns:1fr 2.4fr;gap:40px}.team-content{gap:35px}.team-content>p{font-size:16px}.project-atmos{margin-top:52px}figcaption h3{font-size:19px}}
@media(max-width:900px){.hero-panel{padding:24px 26px 50px}.hero-copy h1{font-size:clamp(46px,5.6vw,60px)}.site-header{flex-wrap:wrap}.site-header nav{gap:20px;padding-top:0;flex-basis:100%}.site-header nav a{font-size:13px}.hero-copy{padding-top:32px}.hero-copy p{font-size:18px;max-width:23ch}.hero-cta{margin-top:30px}.work{grid-template-columns:1fr 1fr;gap:40px;padding-block:60px}.projects{display:block}.projects h2{margin-bottom:24px}.project{display:block}.project-atmos{margin-top:30px}.project-photo{aspect-ratio:16/10}figcaption h3{font-size:20px}.team{grid-template-columns:1fr 2fr}.team-content{flex-direction:column;gap:24px}.team-content>p{max-width:38ch}.contact{gap:40px}.form-row{grid-template-columns:1fr;gap:0}.contact h2{font-size:48px}}
@media(max-width:600px){:root{--gutter:24px}html{scroll-padding-top:16px}.hero{grid-template-columns:1fr;height:auto;min-height:0}.hero-panel{padding:25px 24px 43px}.site-header{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start}.wordmark,.wordmark img{width:110px}.site-header nav{display:grid;grid-template-columns:repeat(3,auto);gap:0 23px;grid-column:1/-1;justify-content:start;position:relative}.site-header nav a{font-size:13px;padding-block:7px}.site-header nav .nav-contact{position:absolute;right:0;bottom:calc(100% + 42px);font-size:14px;text-decoration:underline;text-underline-offset:6px;padding-block:10px}.hero-copy{margin:0;padding-top:40px}.hero-copy h1{font-size:clamp(36px,9.55vw,57px);letter-spacing:-.035em;line-height:1.1}.hero-copy p{font-size:17px;max-width:none;margin-top:23px}.hero-cta{margin-top:28px;font-size:16px;gap:18px}.hero-cta svg{width:41px}.hero-photo{height:280px}.hero-photo img{object-position:50% 48%}.work{display:block;padding-top:44px;padding-bottom:40px}.services h2{font-size:34px;margin-bottom:24px}.service-list summary{font-size:20px;padding-block:19px;min-height:64px}.service-list details p{font-size:15px;padding-right:25px}.projects{margin-top:45px;display:grid;grid-template-columns:1fr;gap:0}.projects h2{font-size:30px;margin-top:0;margin-bottom:24px}.project-photo{aspect-ratio:16/11}.project-atmos{margin-top:30px}figcaption{margin-top:14px}figcaption h3{font-size:23px}figcaption p{font-size:13px;margin-top:7px}.team{display:block;padding-top:31px;padding-bottom:40px}.team h2{font-size:22px;margin:0 0 25px}.team-content{gap:23px}.team-names{gap:9px}.team-names h3{font-size:32px}.team-content>p{font-size:16px;margin:0;max-width:33ch}.contact{grid-template-columns:1fr;padding-top:43px;padding-bottom:43px;gap:36px}.contact h2{font-size:43px}.contact-intro>p{font-size:17px;margin-top:18px}.email-link{font-size:16px;margin-top:13px}.call-link{margin-top:11px;font-size:16px}.contact form{padding-top:0}.form-row{grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:26px}.field label{font-size:13px}.field input,.field textarea{font-size:16px}.form-bottom{gap:12px}.send-button{gap:24px;padding:14px 16px;min-height:52px}.site-footer{padding-top:18px;padding-bottom:18px;font-size:11px;gap:12px}.site-footer a{gap:7px;white-space:nowrap}.privacy-page h1{font-size:34px}}
.send-button{color:#012c22}.send-button:focus-visible{outline-color:var(--chalk)}
.team-intro>p{max-width:27ch;font-size:17px;line-height:1.55;margin-top:24px;color:var(--muted)}
.team-content{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:44px;align-items:start;justify-content:start}
.team-person{min-width:0}.team-portrait{width:200px;max-width:100%;aspect-ratio:1;overflow:hidden;background:#d1d8cd}.team-person img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.team-person:first-child img{object-position:64% 10%;transform:scale(1.55);transform-origin:64% 10%}
.team-person h3{font-size:28px;line-height:1.2;letter-spacing:-.025em;margin-top:17px}
@media(max-width:1200px){.team-content{gap:32px}.team-intro>p{font-size:16px}.team-person h3{font-size:26px}}
@media(max-width:600px){.team-intro>p{max-width:33ch;margin-top:0}.team-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.team-portrait{width:100%}.team-person h3{font-size:clamp(18px,5.1vw,24px);margin-top:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
