@charset "UTF-8";
:root{--paper:#f6f5ef;--ink:#252b26;--muted:#61675f;--line:#d8dbd0;--olive:#dce5bf;--forest:#273b2f;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:'Courier New',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #9c562e;outline-offset:5px}button:hover,a:hover{transition:background .2s,color .2s,transform .2s}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:1.07}h1 em,h2 em{font-weight:400}h2{font-size:clamp(40px,4.5vw,64px)}h3{font-size:22px;line-height:1.3;letter-spacing:-.035em;font-weight:500}.wrap{max-width:1320px;margin:auto;padding-left:48px;padding-right:48px}.eyebrow,.micro{font-family:var(--mono);font-size:11px;font-weight:400;line-height:1.5;letter-spacing:.045em;text-transform:uppercase}.eyebrow{display:block;font-size:12px;letter-spacing:.065em}.skip{position:fixed;top:-90px;left:15px;background:var(--ink);color:white;padding:10px;z-index:99}.skip:focus{top:15px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:-.025em}.mark{display:grid;place-items:center;border:1px solid var(--ink);width:34px;height:34px;border-radius:50%;font-family:var(--serif);font-style:italic;font-size:23px;padding-bottom:4px}.site-header nav{display:flex;align-items:center;gap:29px;font-size:13px}.site-header nav>a:hover{text-decoration:underline;text-underline-offset:5px}.nav-contact{margin-left:15px}.nav-contact span{padding-left:12px}.hero{padding-top:72px;padding-bottom:39px}.hero>.eyebrow{display:flex;align-items:center;gap:10px}.dot{height:7px;width:7px;border-radius:50%;background:#71814b}.hero-grid{display:grid;grid-template-columns:1fr 300px;gap:65px;align-items:end;margin-top:30px}h1{font-size:clamp(54px,6.2vw,83px);max-width:890px}h1 em{color:#5c6c4a}.hero-description{font-size:18px;max-width:570px;line-height:1.65;margin-top:28px;color:#545e52}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:46px;padding:13px 20px;border:1px solid transparent;border-radius:2px;font-size:13px;font-weight:500}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover{background:#476044}.text-link{font-size:13px;display:inline-flex;gap:19px;align-items:center;border-bottom:1px solid currentColor;padding-bottom:3px}.hero-note{border-top:1px solid var(--ink);padding-top:19px;margin-bottom:3px}.hero-note>p{font-family:var(--serif);font-size:24px;line-height:1.3;letter-spacing:-.035em;margin-top:17px}.hero-note ul{list-style:none;padding:0;margin:25px 0 26px;font-size:12px}.hero-note li{border-top:1px solid var(--line);padding:12px 0}.hero-note li:last-child{border-bottom:1px solid var(--line)}.hero-note li span{color:var(--muted);font-family:var(--mono);font-size:10px;margin-right:12px}.hero-note>.micro:last-child{font-size:9px;display:block;color:#58614e}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:25px;margin:66px 0 0;gap:30px}.hero-stats>div{display:flex;gap:16px;align-items:center}.hero-stats dt{font-size:24px;letter-spacing:-.04em;line-height:1.2;white-space:nowrap}.hero-stats dd{margin:0;max-width:160px;font-size:11px;color:var(--muted);line-height:1.5}.work-section{padding:65px 0 58px;background:#e9ece2;border-top:1px solid #d4d9cb}.section-top{display:grid;grid-template-columns:1.1fr .8fr;gap:100px;align-items:end;margin-bottom:38px}.section-top h2{margin-top:15px}.section-top>p{font-size:15px;line-height:1.7;color:var(--muted);max-width:430px;padding-bottom:4px}.gallery-controls{display:flex;gap:5px;align-items:center;padding-bottom:17px;border-bottom:1px solid #c8cebf;margin-bottom:26px}.filter{background:none;border:1px solid transparent;padding:8px 13px;font-size:12px;border-radius:2px}.filter:hover{border-color:#7b8774}.filter.active{background:var(--ink);color:white}.filter span{opacity:.7;margin-left:12px}.result-count{font:10px var(--mono);text-transform:uppercase;color:var(--muted);margin-left:auto}.project-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:42px 24px}.project{grid-column:span 2;min-width:0}.project.large{grid-column:span 3}.project[hidden]{display:none}.email-preview{width:100%;padding:0;position:relative;display:block;background:#f9faf6;border:1px solid #d1d5c9;text-align:left;border-radius:5px;overflow:hidden}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;background:#f7f8f3;border-bottom:1px solid #d1d5c9;font-family:var(--mono);font-size:8px;letter-spacing:.035em;line-height:1.3}.preview-dots{color:#b4baab;font-size:7px;letter-spacing:2px;white-space:nowrap}.preview-top>span:nth-child(2){font-size:7px;text-align:center}.preview-top>span:last-child{font-size:13px}.image-window{height:330px;display:block;overflow:hidden;background:#e1e4db}.large .image-window{height:390px}.image-window img{width:100%;height:auto;transition:transform .5s ease}.email-preview:hover .image-window img{transform:translateY(-22px)}.preview-label{position:absolute;bottom:13px;right:13px;background:#f6f5ef;color:var(--ink);font-size:10px;padding:7px 10px;border:1px solid #d2d6cb;box-shadow:0 2px 6px #18271914}.preview-label span{margin-left:15px}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;margin-bottom:8px}.project-meta .micro{font-size:10px}.feature-badge{font-size:9px;color:#586a4a}.project h3{margin-bottom:9px}.project p{font-size:13px;line-height:1.65;color:#59614f;max-width:450px}.archive{display:inline-block;font-size:11px;border-bottom:1px solid #a0aa97;margin-top:13px;padding-bottom:3px}.archive span{margin-left:10px}.archive:hover{color:#0e501d}.work-credit{font-size:10px;color:#626a59;margin-top:37px;max-width:900px;line-height:1.6}.systems{padding-top:91px;padding-bottom:65px}.builder-case{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin-top:46px}.builder-story{padding:30px 55px 38px 0}.builder-story h3{font-size:30px;letter-spacing:-.04em;margin:15px 0 18px}.builder-story p{font-size:14px;color:var(--muted);margin-bottom:16px;max-width:520px}.builder-story .text-link{margin-top:6px}.builder-details{background:var(--olive);padding:32px 36px 0}.time-result>div{margin-top:13px;display:flex;align-items:center;gap:19px;flex-wrap:wrap}.time-result .before{font-family:var(--serif);font-size:26px;color:#60704e;text-decoration:line-through;text-decoration-thickness:1px}.result-arrow{font-size:25px;color:#6a7b56}.time-result strong{font-family:var(--serif);font-size:56px;font-weight:400;line-height:1.2;letter-spacing:-.06em;white-space:nowrap}.time-result>p{margin-top:12px;font-size:10px;line-height:1.6;max-width:320px;color:#5a654c}.builder-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;border-top:1px solid #aeb99a;margin-top:28px;padding-top:22px;padding-bottom:14px}.builder-facts dt{font-size:15px;line-height:1.3;margin-bottom:6px}.builder-facts dd{font-size:10px;color:#5a654c;line-height:1.5;margin:0}.case-row{display:grid;grid-template-columns:40px .8fr 1.1fr;gap:20px;padding:35px 0;border-bottom:1px solid var(--line)}.case-number{font:14px var(--mono);padding-top:2px;color:#66775a}.case-row h3{font-size:25px;margin-top:10px;max-width:280px}.case-body p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:13px}.case-body p.small-note{font-size:11px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.tags span{border:1px solid #cfd3c7;font:9px var(--mono);padding:4px 7px;text-transform:uppercase;color:#54604c}.web-section{background:#ecebe3;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:68px;padding-bottom:65px}.web-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.web-grid article{border-top:1px solid #7e8975;padding-top:22px}.web-grid h3{font-size:25px;margin:15px 0 17px;max-width:360px}.web-grid p{font-size:14px;color:var(--muted);margin-bottom:14px}.web-grid .web-outcome{display:flex;align-items:center;gap:20px;margin:25px 0 10px;border-top:1px solid #d0d2c7;padding-top:19px}.web-outcome strong{font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:-.045em;line-height:1.2;white-space:nowrap;color:var(--ink)}.web-outcome span{font-size:10px;max-width:170px;line-height:1.5}.practice{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-top:79px;padding-bottom:80px}.practice h2{margin-top:18px}.practice>div>p{font-size:15px;color:var(--muted);max-width:390px;margin-top:22px}.practice-list{margin:0}.practice-list>div{padding:17px 0;border-top:1px solid var(--line)}.practice-list>div:first-child{border-top:1px solid var(--ink)}.practice-list dt{font-size:15px;margin-bottom:8px}.practice-list dd{font-size:13px;color:var(--muted);margin:0;line-height:1.7}.contact-section{background:var(--forest);color:#f0f2e6;padding:65px 0 61px}.contact-section h2{font-size:clamp(42px,5.3vw,74px);margin:21px 0 29px}.contact-section .eyebrow{color:#d5dfc8}.contact-section h2 em{color:#cbd8b5}.button.light{background:#dce5bf;color:var(--ink)}.button.light:hover{background:#f5f7ed}.contact-actions{display:flex;align-items:center;gap:30px}.contact-section p{font-size:12px;color:#c2cfb9;max-width:470px;margin-top:27px}footer{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer>span{font-size:11px;color:var(--muted)}footer>a:last-child{font-size:11px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:20px 24px;background:var(--paper);position:sticky;top:0;z-index:3;border-bottom:1px solid var(--line)}dialog{padding:0;border:0;border-radius:4px;width:min(890px,calc(100% - 40px));max-height:90vh;overflow:auto;color:var(--ink);background:#e7e9e1}dialog::backdrop{background:#152319cf;backdrop-filter:blur(5px)}.dialog-head h2{font-family:var(--sans);font-size:20px;letter-spacing:-.035em;line-height:1.3;margin-top:6px}.dialog-head button{border:1px solid #c8cebf;background:none;font-size:12px;padding:8px 12px;white-space:nowrap}.dialog-head button span{font-size:22px;line-height:1;margin-left:12px;vertical-align:middle}.preview-note{font-size:10px;text-align:center;color:var(--muted);padding:15px 20px}.dialog-image{margin:0 auto;max-width:650px;background:white}.dialog-image img{width:100%;height:auto}.dialog-foot{padding:21px 24px;display:flex;gap:20px;align-items:center;justify-content:space-between;background:var(--paper);font-size:12px}.dialog-foot a{text-decoration:underline;text-underline-offset:4px}.dialog-foot button{border:0;background:var(--ink);color:white;padding:9px 13px;font-size:11px}.dialog-foot button span{margin-left:18px}
@media(min-width:1600px){.wrap{max-width:1400px}.hero-grid{gap:100px}}
@media(max-width:1050px){.wrap{padding-left:32px;padding-right:32px}.hero-grid{grid-template-columns:1fr 260px;gap:40px}h1{font-size:65px}.hero-note p{font-size:21px}.hero-stats>div{display:block}.hero-stats dd{margin-top:6px;max-width:220px}.section-top{gap:50px}.builder-story{padding-right:30px}.builder-details{padding:30px 26px 0}.time-result>div{gap:13px}.time-result strong{font-size:46px}.case-row{grid-template-columns:28px .85fr 1fr;gap:18px}.web-grid{gap:40px}.feature-badge{display:none}.practice{gap:45px}.project-grid{gap:35px 20px}.image-window{height:290px}.large .image-window{height:350px}.project h3{font-size:20px}.web-outcome strong{font-size:30px}}
@media(max-width:760px){.wrap{padding-left:23px;padding-right:23px}.site-header{height:83px}.wordmark{font-size:15px;gap:9px}.mark{width:29px;height:29px;font-size:20px}.site-header nav{gap:17px;font-size:11px}.site-header nav>a:nth-child(2),.site-header nav>a:nth-child(3){display:none}.nav-contact{margin-left:0}.nav-contact span{padding-left:1px}.hero{padding-top:44px;padding-bottom:30px}.hero>.eyebrow{font-size:9px;letter-spacing:.025em;gap:7px}.hero-grid{grid-template-columns:1fr;gap:35px;margin-top:25px}h1{font-size:clamp(45px,8.8vw,66px)}.hero-description{font-size:16px;max-width:500px;margin-top:21px}.hero-actions{margin-top:25px;gap:23px}.hero-note{display:none}.hero-stats{margin-top:42px;padding-top:22px;gap:17px}.hero-stats dt{font-size:20px}.hero-stats dd{font-size:10px;line-height:1.45}.work-section{padding-top:40px;padding-bottom:35px}.section-top{grid-template-columns:1fr;gap:18px;margin-bottom:27px}.section-top h2{margin-top:11px}.section-top>p{font-size:14px;max-width:500px}.gallery-controls{gap:1px;margin-bottom:21px;padding-bottom:14px}.filter{padding:7px 9px;font-size:11px}.filter span{margin-left:5px}.result-count{font-size:9px}.project-grid{grid-template-columns:1fr 1fr;gap:30px 18px}.project,.project.large{grid-column:span 1}.project:first-child{grid-column:span 2}.image-window,.large .image-window{height:270px}.project:first-child .image-window{height:400px}.preview-top{padding:9px;gap:3px}.preview-top>span:nth-child(2){font-size:6px}.preview-dots{font-size:5px;letter-spacing:1px}.preview-label{font-size:9px;right:8px;bottom:8px;padding:5px 7px}.preview-label span{margin-left:5px}.project-meta{margin-top:12px;margin-bottom:6px}.project-meta .micro{font-size:8px}.project h3{font-size:20px}.project p{font-size:12px}.archive{font-size:10px}.work-credit{font-size:9px;margin-top:25px}.systems{padding-top:49px;padding-bottom:40px}.builder-case{grid-template-columns:1fr;margin-top:30px}.builder-story{padding:24px 0 28px}.builder-story h3{font-size:27px}.builder-details{padding:27px 25px 1px}.time-result strong{font-size:54px}.builder-facts{margin-top:24px}.case-row{grid-template-columns:25px 1fr;gap:13px;padding:27px 0}.case-row h3{font-size:24px;max-width:none}.case-body{grid-column:2}.case-body p{font-size:13px}.case-body p.small-note{font-size:10px}.web-section{padding-top:43px;padding-bottom:39px}.web-grid{grid-template-columns:1fr;gap:33px}.web-grid h3{max-width:none;font-size:25px;margin-top:13px}.web-grid p{font-size:13px}.web-grid .web-outcome{margin-top:21px}.web-outcome span{max-width:220px}.practice{grid-template-columns:1fr;gap:25px;padding-top:47px;padding-bottom:41px}.practice>div>p{font-size:14px;max-width:none}.practice h2{margin-top:13px}.practice-list>div{padding:15px 0}.contact-section{padding:45px 0 41px}.contact-section h2{margin-top:18px;font-size:46px}.contact-actions{gap:23px;flex-wrap:wrap}.contact-section p{font-size:11px}footer{flex-wrap:wrap;justify-content:space-between;min-height:100px;padding-top:25px;padding-bottom:25px;gap:14px}footer>.wordmark{flex-basis:100%}footer>span{font-size:10px}dialog{width:calc(100% - 20px);max-height:94vh}.dialog-head{padding:15px;gap:12px}.dialog-head .micro{font-size:8px}.dialog-head h2{font-size:17px}.dialog-head button{padding:6px 8px;font-size:10px}.dialog-head button span{font-size:20px;margin-left:5px}.dialog-foot{padding:17px 15px;font-size:10px;gap:12px}.dialog-foot button{font-size:10px;padding:8px 9px}.dialog-foot button span{margin-left:8px}}
@media(max-width:420px){.hero-stats dt{font-size:18px}.hero-stats dd{font-size:9px}.filter{font-size:10px;padding:7px 8px}.filter span{display:none}.result-count{font-size:8px}.project-grid{gap:28px 14px}.project h3{font-size:18px}.project p{font-size:11px}.image-window,.large .image-window{height:225px}.project:first-child .image-window{height:340px}.preview-top>span:nth-child(2){font-size:5px}.hero-actions .button{gap:25px}.contact-section h2{font-size:41px}.contact-actions{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
