:root{font-family:DM Sans,sans-serif;color:#20231f;background:#f7f6f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #f7f6f2;--ink: #20231f;--muted: #73766e;--line: #deded5;--accent: #68af89;--accent-dark: #347653;--accent-soft: #e7f1e9;--accent-pale: #dcece0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--accent-dark);outline-offset:5px;border-radius:2px}.site-shell{max-width:1600px;margin:0 auto;padding:0 6.2%;overflow:hidden}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(46px,5.4vw,76px)/1.08 "Manrope",sans-serif;letter-spacing:-4px;margin-bottom:26px}h2{font:500 clamp(36px,4.1vw,56px)/1.12 "Manrope",sans-serif;letter-spacing:-2.5px;margin-bottom:0}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--accent-dark)}.eyebrow{margin:0 0 14px;color:#347653;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-family:DM Mono,monospace}@media(max-width:760px){.site-shell{padding:0 6%}h1{letter-spacing:-2.8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:14px 18px;font-size:12px;font-weight:600;transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--accent-dark);box-shadow:0 5px 16px #34765320}.button-light{background:var(--accent);color:#20392a;margin:9px 0 26px}.button-light:hover{background:#8bc5a3;box-shadow:0 5px 18px #68af8920}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:7px;transition:color .2s ease}.text-link:hover{color:var(--accent-dark)}.topbar{min-height:86px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.wordmark{flex-shrink:0;font:800 22px Manrope,sans-serif;letter-spacing:-1.5px}.wordmark span{color:var(--accent-dark)}.topbar nav{display:flex;gap:34px;font-size:12px;color:#565951}.topbar nav a{transition:color .2s ease}.topbar nav a:hover{color:var(--accent-dark)}.availability{font:10px DM Mono,monospace;color:#65685f;display:flex;align-items:center;gap:9px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent-dark);box-shadow:0 0 0 4px var(--accent-pale);flex-shrink:0}@media(max-width:760px){.topbar{min-height:72px;gap:16px}.topbar nav{gap:16px}.availability{display:none}}@media(max-width:420px){.topbar{gap:12px}.wordmark{font-size:20px}.topbar nav{gap:12px;font-size:11px}}.site-navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px clamp(22px,6vw,88px);border-bottom:1px solid #e8e9e5;background:#fbfbf8}.site-wordmark{color:#20251f;font-size:1.15rem;font-weight:700;letter-spacing:-.06em;text-decoration:none}.site-navigation nav{display:flex;align-items:center;gap:28px}.site-navigation nav a{color:#646b63;font-size:.9rem;text-decoration:none;transition:color .18s ease}.site-navigation nav a:hover,.site-navigation nav a.current{color:#347653}@media(max-width:680px){.site-navigation{padding:18px 24px}.site-navigation nav{gap:18px}}@media(prefers-reduced-motion:reduce){.site-navigation nav a{transition:none}}.hero{min-height:570px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;position:relative;padding:60px 0 76px}.hero-copy{position:relative;z-index:1}.hero-copy .eyebrow{font-family:DM Mono,monospace;font-size:10px;font-weight:400;letter-spacing:1.2px;text-transform:none;color:#696c63;display:flex;align-items:center;gap:10px;margin:0 0 28px}.eyebrow-line{width:26px;height:1px;background:var(--accent-dark)}.hero-intro{color:#676a61;font-size:15px;line-height:1.8;max-width:450px;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.hero-meta{display:flex;gap:23px;margin-top:50px;color:#77796f;font:10px DM Mono,monospace;flex-wrap:wrap}.meta-marker{color:var(--accent-dark);margin-right:4px}.hero-art{min-height:410px;position:relative;display:flex;justify-content:center;align-items:center}.hero-art:before{content:"";position:absolute;width:310px;height:310px;background:var(--accent-soft);border-radius:50%}.hero-art .art-orbit{position:absolute;border:1px solid #b9d5c2;border-radius:50%;transform:rotate(-28deg)}.orbit-one{width:365px;height:135px}.orbit-two{width:340px;height:220px;transform:rotate(48deg);border-color:#91bea0}.orbit-three{width:260px;height:365px;transform:rotate(61deg);border-color:#d0e2d4}.hero-art .art-core{width:145px;height:145px;border-radius:50%;background:var(--accent);display:grid;place-items:center;z-index:1;box-shadow:0 15px 45px #68af8935;transition:transform .35s ease,box-shadow .35s ease}.hero-art:hover .art-core{transform:scale(1.035);box-shadow:0 18px 48px #68af8945}.art-core span{font:500 84px Georgia,serif;color:#263b2e;transform:translateY(-4px)}.art-label{position:absolute;font-size:9px;letter-spacing:1.3px;color:#54745e;font-family:DM Mono,monospace}.label-top{top:45px;right:6%}.label-bottom{bottom:42px;left:4%}.art-coordinate{position:absolute;right:0;bottom:88px;font-size:8px;line-height:1.8;color:#8b8d82;text-align:right;font-family:DM Mono,monospace}.art-cross{position:absolute;font-size:20px;color:var(--accent-dark)}.cross-one{top:82px;left:17%}.cross-two{right:13%;top:140px}.hero-index{position:absolute;bottom:28px;left:0;display:flex;gap:11px;align-items:center;font-size:9px;color:#898b80;font-family:DM Mono,monospace}.hero-index span:first-child{color:#252820}.index-rule{width:55px;height:1px;background:#c7c9bd}@media(max-width:760px){.hero{grid-template-columns:1fr;padding:62px 0 68px}.hero-art{min-height:330px;margin-top:22px}.hero-art:before{width:245px;height:245px}.orbit-one{width:300px;height:115px}.orbit-two{width:280px;height:180px}.orbit-three{width:220px;height:300px}.hero-art .art-core{width:115px;height:115px}.art-core span{font-size:68px}.label-top{top:20px}.label-bottom{bottom:20px}.art-coordinate{bottom:62px}}@media(max-width:420px){.hero-meta{gap:12px;flex-direction:column;margin-top:35px}}.ticker{background:var(--accent);color:#20392a;margin:0 -7.1%;padding:17px 4%;display:flex;justify-content:space-between;align-items:center;gap:20px;overflow:hidden;white-space:nowrap;font-size:9px;letter-spacing:.8px;font-family:DM Mono,monospace}.ticker b{font-size:13px;font-weight:400}@media(max-width:760px){.ticker{margin:0 -6.8%;justify-content:flex-start;gap:18px}.ticker span:nth-of-type(n+4),.ticker b:nth-of-type(n+4){display:none}}.section{padding:95px 0;border-bottom:1px solid var(--line)}.section-kicker{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.8px;color:#77796f;border-top:1px solid var(--line);padding-top:13px;font-family:DM Mono,monospace}.section-kicker span:first-child{color:var(--accent-dark)}@media(max-width:760px){.section{padding:68px 0}.section-kicker span:last-child{text-align:right}}@media(max-width:420px){.section-kicker{font-size:8px}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:54px}.about-body{max-width:490px;padding-top:3px}.about-body p{color:#686b62;font-size:14px;line-height:1.9}.about-note{display:flex;gap:12px;align-items:flex-start;margin-top:25px;padding:16px;background:#eaf1e9;font-size:12px;line-height:1.7;color:#465b4b}.about-note svg{color:var(--accent-dark);flex-shrink:0;margin-top:2px}@media(max-width:760px){.about-grid{grid-template-columns:1fr;gap:28px;padding-top:38px}.about-body{max-width:none}}.work{padding-bottom:80px}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:48px 0 36px}.work-heading p{color:#77796f;font-size:12px;line-height:1.8;max-width:330px;margin-bottom:4px}.project-list{border-bottom:1px solid var(--line)}.project{display:grid;grid-template-columns:54px minmax(0,1fr) 48px;gap:20px;padding:29px 12px;margin:0 -12px;border-top:1px solid var(--line);align-items:start;transition:background .25s ease,padding .25s ease}.project:hover{background:#eef4ee}.project-number{color:#777e73;font-size:10px;padding-top:3px;font-family:DM Mono,monospace}.project-type{color:var(--accent-dark);font-size:9px;letter-spacing:1px;font-family:DM Mono,monospace}.project h3{font:600 23px Manrope,sans-serif;letter-spacing:-.7px;margin:9px 0;transition:color .2s ease}.project:hover h3{color:var(--accent-dark)}.project p{color:#6f7169;font-size:12px;line-height:1.8;max-width:600px;margin-bottom:14px}.tags{display:flex;flex-wrap:wrap;gap:7px}.tags span{border:1px solid #d5ded4;padding:5px 8px;color:#526256;background:#fafbf8;font:9px DM Mono,monospace;transition:border-color .2s ease,background .2s ease}.project:hover .tags span{border-color:#c2d9c7;background:#f5faf4}.project-arrow{border:1px solid #c8d6ca;color:#315c45;width:42px;height:42px;display:grid;place-items:center;transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}.project-arrow:hover{background:var(--accent);border-color:var(--accent);color:#20392a;transform:translate(2px,-2px)}.project-private{max-width:190px;text-align:right;align-self:center}.project-private p{margin:0;color:#666b63;font-size:.72rem;line-height:1.6}.project-private span{display:inline-block;margin-bottom:8px;color:var(--accent-dark);font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}@media(max-width:760px){.work-heading{display:block;padding:38px 0 25px}.work-heading p{margin-top:20px}.project{grid-template-columns:27px minmax(0,1fr) 38px;gap:10px;padding:25px 8px;margin:0 -8px}.project h3{font-size:20px;overflow-wrap:anywhere}.project-private{grid-column:2 / 4;max-width:none;text-align:left;padding-top:4px}.project-private p{max-width:280px}.project-arrow{width:36px;height:36px}}@media(max-width:420px){.project{grid-template-columns:22px minmax(0,1fr) 34px;gap:8px}.project-type{font-size:8px;letter-spacing:.7px}.project-arrow{width:34px;height:34px}.tags{gap:5px}.tags span{font-size:8px}}.contact{background:var(--ink);color:var(--paper);margin:0 -7.1%;padding:70px 7.1% 85px;border:0}.contact .section-kicker{border-color:#484b43;color:#b6b8ae}.contact .section-kicker span:first-child{color:var(--accent)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:48px}.contact h2 em{color:var(--accent)}.contact-side{max-width:430px}.contact-side>p{color:#c2c6bd;font-size:14px;line-height:1.9}.social-links{display:flex;gap:20px;flex-wrap:wrap}.social-links a{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#d0d2ca;transition:color .2s ease}.social-links a:hover{color:var(--accent)}@media(max-width:760px){.contact-grid{grid-template-columns:1fr;gap:28px;padding-top:38px}.contact{margin:0 -6.8%;padding:58px 6.8% 65px}}@media(max-width:420px){.social-links{gap:13px}}.footer{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#77796f;font-size:9px;letter-spacing:.3px;font-family:DM Mono,monospace}.footer-mark{color:var(--ink);font-size:18px}.footer>a:not(.wordmark){color:#55594e;transition:color .2s ease}.footer>a:not(.wordmark):hover{color:var(--accent-dark)}.copyright{color:#77796f}@media(max-width:760px){.footer{padding:22px 0}}@media(max-width:420px){.footer{gap:14px}}.projects-page{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:clamp(54px,8vw,100px) 0 48px}.projects-heading{max-width:680px;margin-bottom:42px}.projects-heading h1{margin:0;color:#20251f;font-size:clamp(2.8rem,7vw,5rem);font-weight:600;letter-spacing:-.075em;line-height:1.04}.projects-intro{max-width:540px;margin:20px 0 0;color:#737970;font-size:1.05rem;line-height:1.8}.project-controls{margin-bottom:30px}.project-search{display:flex;align-items:center;gap:12px;max-width:440px;padding:13px 16px;border:1px solid #e2e5de;border-radius:8px;background:#fff;color:#737970}.project-search>span{font-size:1.3rem}.project-search input{width:100%;border:0;outline:0;background:transparent;color:#30372f;font:inherit}.project-search input::placeholder{color:#969b93}.project-search input:disabled{cursor:not-allowed}.project-filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.filter-pill{padding:9px 14px;border:1px solid #e1e5de;border-radius:999px;background:transparent;color:#626960;font:inherit;font-size:.8rem;transition:background .18s ease,border-color .18s ease}.filter-pill.active{border-color:#d6e6d9;background:#e7f1e9;color:#347653}.filter-pill:disabled{cursor:default;opacity:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project-card{min-width:0;overflow:hidden;border:1px solid #e5e7e1;border-radius:12px;background:#fff;color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.project-card:hover{transform:translateY(-4px);border-color:#c5d9c8;box-shadow:0 14px 36px #27432b12}.project-card:focus-visible{outline:3px solid #68af89;outline-offset:4px}.project-art{position:relative;display:flex;min-height:190px;align-items:flex-start;justify-content:space-between;overflow:hidden;padding:20px;background:#edf2e9;isolation:isolate}.project-art-2{background:#e9eee9}.project-art-3{background:#e8efe8}.project-art-4{background:#f0eee5}.project-art-index,.project-art-category{position:relative;z-index:2}.project-art-index{color:#536b55;font-size:.78rem;font-weight:600;letter-spacing:.1em}.project-art-category{margin-left:auto;color:#536b55;font-size:.72rem;text-align:right}.project-card-arrow{position:absolute;z-index:2;right:18px;bottom:15px;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgb(52 118 83 / 25%);border-radius:50%;color:#347653;font-size:1.05rem;transition:background .18s ease,color .18s ease}.project-card:hover .project-card-arrow{background:#347653;color:#fff}.project-art .art-orbit{position:absolute;z-index:-1;top:50%;left:50%;width:190px;height:110px;border:1px solid rgb(52 118 83 / 38%);border-radius:50%;transform:translate(-50%,-50%) rotate(-32deg)}.project-art .art-orbit-two{width:120px;height:190px;transform:translate(-50%,-50%) rotate(36deg)}.project-art .art-core{position:absolute;z-index:-1;top:50%;left:50%;width:38px;height:38px;border-radius:50%;background:#68af89;box-shadow:0 0 45px #68af894d;transform:translate(-50%,-50%)}.project-art-2 .art-orbit{transform:translate(-50%,-50%) rotate(20deg)}.project-art-2 .art-core{width:52px;height:52px;border-radius:12px;background:#7da88a;transform:translate(-50%,-50%) rotate(45deg)}.project-art-3 .art-orbit{width:150px;height:150px;transform:translate(-50%,-50%)}.project-art-3 .art-core{width:64px;height:64px;border-radius:18px;background:#83ae8e}.project-art-4 .art-core{background:#b5b48b}.project-card-body{padding:22px}.project-card-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#777e74;font-size:.7rem}.project-card-meta span:first-child{color:#347653;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.project-card-body h2{margin:17px 0 10px;color:#252b24;font-size:clamp(1.2rem,2vw,1.55rem);font-weight:600;letter-spacing:-.045em}.project-card-body>p{min-height:52px;margin:0;color:#72796f;font-size:.9rem;line-height:1.7}.project-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.project-tag{padding:6px 9px;border:1px solid #e7e9e3;border-radius:5px;color:#596156;font-size:.72rem}.projects-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:42px;padding-top:22px;border-top:1px solid #e5e7e1;color:#858b82;font-size:.82rem}.projects-footer a{color:#347653;text-decoration:none}.projects-footer a:hover{text-decoration:underline}@media(max-width:680px){.projects-page{width:calc(100% - 36px)}.projects-grid{grid-template-columns:1fr;gap:18px}.project-art{min-height:165px}.project-card-body>p{min-height:0}}@media(prefers-reduced-motion:reduce){.project-card,.project-card-arrow{transition:none}.project-card:hover{transform:none}}.project-detail-page{width:min(900px,calc(100% - 48px));min-height:60vh;margin:0 auto;padding:clamp(64px,10vw,120px) 0}.project-detail-page h1{margin:0 0 24px;color:#20251f;font-size:clamp(2.8rem,7vw,5rem);font-weight:600;letter-spacing:-.075em;line-height:1.04}.back-link{display:inline-block;margin-bottom:56px;font-size:.9rem;color:#347653;text-decoration:none}.back-link:hover{text-decoration:underline}.project-detail-page>a{color:#347653;text-decoration:none}.project-detail-page>a:hover{text-decoration:underline}.about-page{width:min(760px,calc(100% - 48px));margin:0 auto;padding:clamp(54px,8vw,100px) 0 80px}.about-heading{margin-bottom:48px}.about-heading h1{margin:0;color:#20251f;font-size:clamp(2.8rem,7vw,5rem);font-weight:600;letter-spacing:-.075em;line-height:1.04}.about-intro{max-width:540px;margin:20px 0 0;color:#737970;font-size:1.05rem;line-height:1.8}.about-sections{display:flex;flex-direction:column;gap:38px;margin-bottom:64px}.about-section-block h2{margin:0 0 12px;color:#20251f;font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:600;letter-spacing:-.03em}.about-section-block p{max-width:600px;margin:0;color:#686b62;font-size:14px;line-height:1.9}@media(max-width:680px){.about-page{width:calc(100% - 36px)}.about-sections{gap:28px;margin-bottom:48px}}.contact-form-section{padding-top:48px;border-top:1px solid #e5e7e1}.contact-form-section h2{margin:10px 0 0;color:#20251f;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:600;letter-spacing:-.04em}.contact-form{display:grid;gap:20px;max-width:520px;margin-top:32px}.form-field{display:flex;flex-direction:column;gap:7px}.form-field label{color:#44493f;font-size:.82rem;font-weight:600}.form-required{color:#347653}.form-field input,.form-field textarea{border:1px solid #e2e5de;border-radius:8px;padding:12px 14px;background:#fff;color:#20231f;font:inherit;font-size:.92rem;transition:border-color .18s ease,box-shadow .18s ease}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:#68af89;box-shadow:0 0 0 3px #68af8926}.form-field textarea{min-height:140px;resize:vertical}.form-actions{margin-top:4px}.form-success{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:32px;padding:20px;max-width:520px;background:#eaf1e9;color:#465b4b;font-size:.92rem;line-height:1.7}.form-success button{color:#347653;background:none;border:none;padding:0;font:inherit;cursor:pointer}@media(max-width:680px){.contact-form{gap:16px}}
