.project-visual{border:1px solid var(--line);background:#fff;border-radius:5px;margin:0;overflow:hidden}.project-visual img{aspect-ratio:16/10;object-fit:cover;object-position:top;width:100%;height:auto;display:block}.project-card .project-visual figcaption{min-height:49px}.project-visual figcaption{border-top:1px solid var(--line);font:9px/1.6 var(--mono);color:var(--muted);background:var(--bg);padding:10px 13px}.project-page .project-visual img{aspect-ratio:auto;object-fit:contain;height:auto}.project-page{padding-top:48px;padding-bottom:75px}.back-link{color:var(--muted);gap:10px;font-size:12px;display:inline-flex}.back-link:hover{color:var(--green)}.project-intro{max-width:790px;padding-block:55px 40px}.project-intro h1{letter-spacing:-3px;margin:17px 0;font-size:72px;line-height:1.05}.project-lede{color:var(--muted);letter-spacing:-.5px;font-size:23px;line-height:1.5}.project-meta{border-block:1px solid var(--line);grid-template-columns:1fr 1fr 1fr;gap:25px;margin-bottom:35px;padding-block:23px;display:grid}.project-meta dt{font:8px var(--mono);letter-spacing:.8px;color:var(--muted);margin-bottom:8px}.project-meta dd{margin:0;font-size:12px}.project-story{max-width:750px;margin:58px auto 0}.story-section{grid-template-columns:140px 1fr;gap:35px;margin-bottom:40px;display:grid}.story-section h2{letter-spacing:-.3px;padding-top:5px;font-size:14px}.story-section p,.story-section li{color:var(--muted);font-size:14px;line-height:1.9}.story-section ul{margin:0;padding-left:18px}.story-section .button{color:#fff;margin-top:20px}.project-next{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:50px;padding-top:30px;display:flex}.project-next .eyebrow{font-size:8px}.project-next h2{margin-top:10px;font-size:26px}.project-next>span{font-size:32px}.legal-page{max-width:760px;padding-block:60px 100px}.legal-page h1{letter-spacing:-2px;margin:25px 0;font-size:50px}.legal-page h2{margin:32px 0 12px;font-size:23px}.legal-page p,.legal-page li{color:var(--muted);margin-bottom:12px;font-size:14px;line-height:1.9}.legal-page a:not(.back-link){text-underline-offset:3px;text-decoration:underline}.error-page{min-height:65vh;padding-block:80px}.error-page h1{letter-spacing:-2px;margin:15px 0;font-size:60px}.error-page p{color:var(--muted);margin-bottom:25px}@media (width<=760px){.project-page{padding-top:30px;padding-bottom:45px}.project-intro{padding-block:38px 25px}.project-intro h1{letter-spacing:-2px;font-size:51px}.project-lede{font-size:20px}.project-meta{grid-template-columns:1fr;gap:20px;padding-block:20px}.project-meta dd{font-size:12px}.project-meta dt{font-size:7px}.story-section{grid-template-columns:1fr;gap:12px;margin-bottom:32px}.story-section h2{font-size:18px}.story-section p,.story-section li{font-size:13px}.project-story{margin-top:35px}.project-next h2{font-size:22px}.legal-page h1{font-size:40px}}.projects-index{padding-block:48px 75px}.projects-index .project-intro{padding-bottom:48px}.projects-contact{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-top:60px;padding-top:30px;font-size:14px;display:flex}@media (width<=760px){.projects-index{padding-block:30px 45px}.projects-index .project-intro{padding-bottom:30px}.projects-contact{flex-direction:column;align-items:flex-start;gap:16px;margin-top:40px}}.project-play{margin-bottom:30px}.project-play p{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.8}.project-card{position:relative}.project-card .project-link{padding-bottom:30px}.card-play{color:var(--green);position:absolute;bottom:0;left:0}:root{--bg:#f7f8f2;--ink:#222b26;--muted:#697168;--green:#345b45;--line:#dadfd5;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color:var(--ink);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}::selection{color:#213c2b;background:#d9e9b9}:focus-visible{outline:2px solid var(--green);outline-offset:5px}input:focus-visible,textarea:focus-visible{outline-offset:2px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550}a,button{touch-action:manipulation}.wrap{width:min(1200px,100% - 104px);margin-inline:auto}.green-text{color:var(--green)}.eyebrow{font:10px/1.6 var(--mono);letter-spacing:1.1px;align-items:center;gap:10px;display:flex}.tiny-dot,.status-dot{background:var(--green);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot{box-shadow:0 0 0 4px #e8eddf}.skip-link{background:var(--ink);color:#fff;z-index:20;padding:12px 18px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:116px;display:flex}.brand{letter-spacing:-.3px;align-items:center;gap:13px;font-size:14px;font-weight:650;display:flex}.monogram{width:42px;height:42px;color:var(--bg);background:var(--ink);letter-spacing:-1.5px;border-radius:50%;justify-content:center;align-items:center;font-size:20px;font-weight:600;display:flex}.monogram>span{color:#bbcb9b}.brand-caption{color:var(--muted);letter-spacing:0;margin-top:3px;font-size:10px;font-weight:400;display:block}.site-header nav{align-items:center;gap:34px;font-size:12px;display:flex}.site-header nav>a{transition:color .2s}.site-header nav>a:hover{color:var(--green)}.nav-contact{border:1px solid #c5cdbd;border-radius:5px;align-items:center;gap:22px;padding:11px 17px;display:flex}.hero{border-bottom:1px solid var(--line);padding-block:64px;display:block}.hero-copy{max-width:820px}.hero h1{letter-spacing:-3.4px;white-space:normal;margin-top:24px;font-size:clamp(45px,4.65vw,67px);line-height:1.1}.hero-copy>p{color:var(--muted);max-width:520px;margin-top:25px;font-size:15px;line-height:1.8}.hero-actions{align-items:center;gap:28px;margin-top:30px;display:flex}.button{border:1px solid #0000;border-radius:4px;justify-content:space-between;align-items:center;gap:38px;padding:16px 21px;font-size:12px;font-weight:500;transition:background .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--green)}.button>span{font-size:16px;line-height:1}.quiet-link{align-items:center;gap:17px;font-size:12px;display:flex}.quiet-link:hover,.text-link:hover{color:var(--green)}.section-space{padding-block:85px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px;display:flex}h2{letter-spacing:-1.4px;font-size:36px;line-height:1.2}.section-heading h2{margin-top:13px}.section-heading>p{color:var(--muted);padding-bottom:4px;font-size:11px;line-height:1.8}.project-grid{grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:38px 28px;display:grid}.project-link{flex-direction:column;height:100%;display:flex}.project-info{flex-direction:column;flex:1;padding:19px 0 0;display:flex}.project-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-heading :is(h2,h3){letter-spacing:-.7px;font-size:23px}.project-arrow{border:1px solid #d7ddcf;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;transition:background .2s,color .2s,transform .2s;display:flex}.project-link:hover .project-arrow{background:var(--green);color:#fff;transform:rotate(45deg)}.project-info p{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.7}.project-tags{color:#5b685a;flex-wrap:wrap;align-items:center;gap:7px;margin-top:auto;padding-top:15px;font-size:9px;display:flex}.project-tags>span:not(.project-type){border:1px solid var(--line);border-radius:3px;padding:4px 8px}.project-tags .project-type{color:var(--muted);font:8px var(--mono);margin-left:auto}.work-endnote{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:37px;padding-top:24px;font-size:11px;display:flex}.text-link{color:var(--ink);align-items:center;gap:24px;font-size:11px;font-weight:500;display:inline-flex}.contact-section{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:85px;padding-block:95px;display:grid}.contact-copy h2{margin:17px 0 21px;font-size:38px}.contact-copy>p{color:var(--muted);max-width:340px;margin-bottom:22px;font-size:13px;line-height:1.8}.contact-note{font:8px/1.6 var(--mono);color:var(--muted);gap:10px;margin-top:43px;display:flex}.contact-form{padding-top:4px}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form label{font-size:10px;font-weight:500;display:block}.contact-form input:not([type=checkbox]),.contact-form textarea{width:100%;color:var(--ink);background:#fbfcf7;border:1px solid #d6dccf;border-radius:4px;margin-top:8px;padding:12px 13px;font-size:12px;transition:border-color .2s;display:block}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#93998f}.contact-form>label{margin-top:20px}.contact-form textarea{resize:vertical;min-height:115px;max-height:400px}.contact-form input:hover,.contact-form textarea:hover{border-color:#a5b598}.contact-form .consent{color:var(--muted);align-items:start;gap:9px;margin-top:15px;font-size:9px;font-weight:400;line-height:1.7;display:flex}.consent input{accent-color:var(--green);flex-shrink:0;width:13px;height:13px;margin:1px 0 0}.consent a{text-underline-offset:3px;text-decoration:underline}.form-bottom{justify-content:flex-end;align-items:center;gap:15px;margin-top:22px;display:flex}.contact-form .button{gap:28px;padding:13px 17px;font-size:11px}.honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.form-status{border-radius:4px;margin-top:15px;scroll-margin:20px;font-size:12px;line-height:1.7}.form-status:empty{margin:0}.is-success{color:#2a563b;background:#e7efdf;padding:12px}.is-error{color:#8c352d;background:#f6e8df;padding:12px}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:25px;padding-block:29px 35px;display:flex}.footer-name{font-size:12px;font-weight:600}.footer-name>span{color:var(--muted);margin-top:5px;font-size:9px;font-weight:400;display:block}.footer-right{min-width:0;color:var(--muted);flex-direction:column;align-items:flex-end;gap:16px;font-size:11px;display:flex}.footer-links,.footer-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px 22px;display:flex}.footer-meta{font-size:10px}.footer-right a:hover{color:var(--green)}.skills-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:18px 30px;margin-top:38px;padding-top:25px;display:flex}.skills-row h2{font:9px/1.6 var(--mono);letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}.skills-row ul{flex-wrap:wrap;gap:10px 24px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.button,.quiet-link{white-space:nowrap}@media (width>=1450px){.hero{padding-block:100px}.hero h1{font-size:71px}}@media (width<=1100px){.wrap{width:calc(100% - 72px)}.hero{padding-block:65px}.hero h1{letter-spacing:-2.7px;font-size:49px}.hero-copy>p{font-size:13px}.hero-actions{gap:20px}.contact-section{gap:45px}.contact-copy h2{font-size:32px}h2{font-size:31px}.project-tags .project-type{width:100%;margin-top:4px}.section-heading>p{max-width:210px}.site-header{height:95px}}@media (width<=760px){.wrap{width:calc(100% - 40px)}.site-header{height:85px}.site-header nav{gap:19px;font-size:11px}.brand{gap:9px;font-size:12px}.brand-caption{font-size:8px}.monogram{width:35px;height:35px;font-size:17px}.nav-contact{gap:10px;padding:9px 11px}.hero{padding-block:49px 40px}.hero h1{letter-spacing:-2px;white-space:normal;font-size:clamp(38px,7.6vw,57px)}.hero-copy>p{font-size:14px}.hero-actions{margin-top:25px}.section-space{padding-block:54px}.section-heading{margin-bottom:26px;display:block}.section-heading h2{font-size:29px}.section-heading>p{max-width:none;margin-top:15px;font-size:11px}.section-heading>p br{display:none}.project-grid{grid-template-columns:1fr;gap:28px}.project-heading :is(h2,h3){font-size:21px}.project-info{padding-top:15px}.project-tags .project-type{width:auto;margin-top:0;margin-left:auto;font-size:7px}.work-endnote{gap:20px;font-size:9px}.text-link{font-size:10px}.contact-section{grid-template-columns:1fr;gap:30px}.contact-copy h2{font-size:35px}.contact-copy>p{max-width:400px}.contact-note{margin-top:22px}.contact-form{padding-top:0}.form-row{gap:13px}.site-footer{flex-direction:column;align-items:flex-start;gap:24px}.footer-right{align-items:flex-start;gap:18px;font-size:11px}.footer-links,.footer-meta{justify-content:flex-start;gap:14px 20px}.skills-row{gap:14px 24px;margin-top:30px}.skills-row ul{gap:12px 20px;font-size:11px}.footer-name{font-size:11px}.footer-name>span{white-space:nowrap;font-size:8px}}@media (width<=380px){.hero-copy{min-width:0}.hero-actions .button{gap:15px;padding-inline:15px}.hero-actions .quiet-link{gap:7px;font-size:10px}.brand-caption{display:none}.site-header nav{gap:14px}.nav-contact{gap:7px;padding:8px}.hero h1{font-size:36px}.hero-actions,.button{gap:20px}.quiet-link{gap:8px;font-size:11px}.project-tags .project-type{width:100%;margin-left:0}.form-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.site-header nav>a[aria-current=page]{color:var(--green);text-underline-offset:5px;text-decoration:underline}@media (width<=380px){.nav-contact{border:0;gap:0;padding:0}.nav-contact>span{display:none}}.hero-actions{flex-wrap:wrap;gap:14px 20px}.button-outline{border-color:var(--line);color:var(--ink);background:0 0}.button-outline:not(:disabled):hover{border-color:var(--green)}
