@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--lime:#c9f17c;--ink:#191b18;--muted:#666b61;--line:#e5e7e0;--paper:#fff;--display:'Manrope',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;padding:26px;background:var(--lime);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #5a7e25;outline-offset:5px}button{cursor:pointer}::selection{background:var(--lime);color:var(--ink)}.site{max-width:1512px;margin:auto;background:var(--paper);overflow:hidden}.section{padding:90px 6.2%}.header{padding:30px 4.2%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;line-height:1.25;font-size:17px;letter-spacing:-.5px}.brand-mark{font-family:var(--display);background:var(--ink);border-radius:50%;color:white;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:21px;letter-spacing:-2px}.brand-mark span{color:var(--lime);font-size:17px;margin-bottom:8px;letter-spacing:0}.brand-sub{display:block;font-size:12px;font-weight:500;letter-spacing:1.65px;margin-top:6px}.header nav{display:flex;gap:32px;font-size:14px}.header nav a{padding:8px 0;border-bottom:1px solid transparent}.header nav a:hover{border-color:var(--ink)}.pill{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 9px 8px 23px;border-radius:40px;font-size:14px;font-weight:550;min-height:49px;transition:transform .2s,box-shadow .2s}.pill:hover{transform:translateY(-3px);box-shadow:0 5px 0 #00000015}.dark{background:var(--ink);color:white}.lime{background:var(--lime);color:var(--ink)}.circle{display:grid;place-items:center;border-radius:50%;width:33px;height:33px;font-size:24px;font-weight:400}.header-contact{font-size:13px;min-height:43px;padding:6px 7px 6px 19px}.header-contact .circle{width:30px;height:30px;font-size:20px}.hero{display:grid;grid-template-columns:1.08fr 1.08fr .75fr;gap:4%;padding-top:58px;padding-bottom:55px;align-items:center}.eyebrow{font-size:12px;font-weight:650;letter-spacing:1.8px;margin:0 0 22px;line-height:1.5}.hero-intro{padding-bottom:22px}.hero-intro .eyebrow{font-size:12px;letter-spacing:1px;margin-bottom:18px}h1,h2,h3,p,figure{margin-top:0}h1,h2,h3{font-family:var(--display)}h1{font-size:clamp(38px,4.45vw,69px);line-height:1.02;letter-spacing:-3.8px;margin-bottom:24px;font-weight:800;position:relative}h1>span:not(.name-dot){color:#555b4e;font-size:.89em;letter-spacing:-3.4px}.name-dot{color:#92b34b}.hero-description{font-size:16px;line-height:1.6;max-width:285px;color:#686c64;margin-bottom:32px}.portrait-card{padding:12px 12px 0;margin:0;background:#fff;box-shadow:0 12px 42px #2632160d,0 0 2px #0000000c;transform:rotate(-2deg);border-radius:7px}.portrait-card img{display:block;width:100%;height:clamp(310px,32vw,475px);object-fit:cover;object-position:center 28%;border-radius:6px}.portrait-card figcaption{display:flex;justify-content:center;align-items:center;gap:8px;font-size:12px;padding:16px 0;transform:rotate(2deg)}.status-dot{width:6px;height:6px;background:#789b39;border-radius:50%}.hero-role{padding-left:6px}.role-kicker{font-size:14px;line-height:1.45;color:var(--muted);border-left:2px solid var(--line);padding-left:12px;margin-bottom:22px}.hero-role h2{font-size:clamp(24px,2.65vw,39px);line-height:1.08;letter-spacing:-1.3px;font-weight:750}.hero-role h2 span{color:#7a806f}.role-bottom{padding-top:26px}.asterisk{font-size:48px;line-height:1.2;color:#6e814e;display:block;margin-bottom:15px}.role-bottom p{font-size:12px;color:var(--muted);line-height:1.5}.expertise-strip{margin:22px 6.2% 0;padding:24px 0;border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.expertise-strip p{font-size:12px;line-height:1.6;letter-spacing:1px;color:#75796f;margin:0}.expertise-strip>span{font-family:var(--display);font-size:clamp(12px,1.35vw,19px);font-weight:650;color:#71776b;letter-spacing:-.6px}.intro{padding-top:77px;padding-bottom:83px}.intro-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:10%}.intro h2{font-size:clamp(30px,3.35vw,48px);line-height:1.2;letter-spacing:-1.9px;font-weight:500;margin:0}em{font-style:normal;color:#858c7a}.intro-grid p{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:14px}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:13px;font-weight:600;padding-bottom:4px;border-bottom:1px solid var(--ink);margin-top:12px}.text-link span{font-size:21px}.work{background:#f6f7f3;border-top:1px solid #edf0e7}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:43px}.section-heading .eyebrow{margin-bottom:13px}.section-heading h2{font-size:clamp(32px,3.7vw,53px);line-height:1.15;letter-spacing:-2px;margin-bottom:0;font-weight:600}.accent{color:#85a648}.section-heading>p{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:3px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 28px}.project{min-width:0}.project-cover{border:0;display:block;width:100%;text-align:left;position:relative;padding:36px 36px 0;height:300px;overflow:hidden;border-radius:5px;isolation:isolate;background:var(--tint);color:var(--ink)}.cover-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;font-size:12px;letter-spacing:1px;font-weight:650}.cover-top span:last-child{letter-spacing:0;font-size:12px;font-weight:500;border:1px solid #0002;padding:3px 8px;border-radius:20px}.ui-preview{background:#fff;border:1px solid #0000000d;border-radius:9px 9px 0 0;box-shadow:0 12px 28px #0000000d;min-height:244px;padding:22px;transform:translateY(6px);transition:transform .3s;pointer-events:none}.project-cover:hover .ui-preview{transform:translateY(-3px)}.ui-toolbar{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#67745e;border-bottom:1px solid #e7eadf;padding-bottom:13px;margin-bottom:18px}.ui-toolbar strong{font-size:13px;color:#303c2a}.ui-preview h4{font-family:var(--display);font-size:19px;letter-spacing:-.6px;line-height:1.3;margin:0 0 7px}.ui-preview>p{font-size:12px;color:#67745e;margin-bottom:16px}.ui-item{display:flex;align-items:center;gap:9px;margin-top:8px;padding:10px 12px;font-size:12px;border:1px solid #e8ebe5;border-radius:5px}.ui-item b{display:grid;place-items:center;border-radius:50%;width:19px;height:19px;background:var(--tint);font-size:12px}.ui-item i{margin-left:auto;font-style:normal;color:#7c886e}.ui-two{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.ui-tile{border:1px solid #e8ebe5;border-radius:5px;padding:12px;font-size:12px}.ui-tile strong{font-size:17px;display:block;margin-bottom:3px}.bars{display:flex;align-items:end;gap:10px;height:84px;padding:14px 10px 0;border-bottom:1px solid #e4e6df;margin-top:10px}.bars span{background:var(--tone);flex:1;border-radius:3px 3px 0 0;opacity:.7}.project-info{padding-top:19px;display:flex;justify-content:space-between;align-items:start;gap:15px}.project-meta{font-size:12px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;margin-bottom:8px}.project-info h3{font-size:25px;letter-spacing:-.8px;line-height:1.3;margin-bottom:7px;font-weight:600}.project-info p:last-child{color:var(--muted);font-size:14px;line-height:1.5;margin:0;max-width:330px}.project-open{border:1px solid #d6dbce;background:transparent;border-radius:50%;width:42px;height:42px;flex-shrink:0;font-size:24px;margin-top:9px;transition:background .2s,transform .2s}.project-open:hover{background:var(--lime);transform:rotate(5deg)}.project-title{background:none;border:none;padding:0;color:inherit;letter-spacing:inherit;font:inherit;text-align:left}.project-title:hover{text-decoration:underline;text-underline-offset:5px}.philosophy{background:#292d26;color:white;padding:78px 9%;}.philosophy .eyebrow{color:#b2b9a7}.philosophy h2{font-size:clamp(36px,5vw,72px);font-weight:500;line-height:1.18;letter-spacing:-2.5px;margin:30px 0 43px}.philosophy h2 span{color:var(--lime)}.philosophy-foot{border-top:1px solid #ffffff26;padding-top:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.philosophy-foot>span{font-size:12px;letter-spacing:1.5px}.philosophy-foot p{font-size:13px;color:#b2b9a7;line-height:1.6;margin:0}.about{display:grid;grid-template-columns:.95fr 1fr;gap:10%;align-items:center;padding-block:105px}.about-photo{position:relative}.about-photo img{width:100%;height:550px;object-fit:cover;border-radius:4px;display:block}.photo-label{position:absolute;bottom:20px;left:20px;right:20px;text-align:center;background:white;padding:12px 8px;font-size:12px;letter-spacing:1.5px}.about h2{font-size:clamp(35px,4vw,58px);font-weight:500;letter-spacing:-2px;line-height:1.15;margin-bottom:25px}.about-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.7}.skill-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.skill-tags span{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:7px 13px}.process{padding-top:25px;padding-bottom:95px}.process-list{border-top:1px solid var(--line)}.process-list article{display:grid;grid-template-columns:.2fr .8fr 1fr;gap:30px;align-items:center;padding:25px 0;border-bottom:1px solid var(--line)}.process-list article>span{font-size:12px;color:#8c9483}.process-list h3{font-size:24px;font-weight:500;letter-spacing:-.8px;margin:0}.process-list p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}.contact{background:var(--lime);margin:0 25px;padding:65px 6%;display:grid;grid-template-columns:1.4fr .65fr;gap:10%;align-items:end}.contact h2{font-size:clamp(40px,5vw,70px);line-height:1.15;font-weight:500;letter-spacing:-3px;margin-bottom:22px}.contact h2 em{color:#516936}.contact-arrow{font-size:64px;margin-left:20px;font-weight:400}.contact>div>p:not(.eyebrow){font-size:14px;max-width:450px;margin:0;color:#465937}.contact-links{padding-bottom:10px}.contact-links>a{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid #799b4560;padding:17px 0;font-size:15px}.contact-links>a span{font-size:24px}.contact-note{font-size:13px;color:#516936}footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:38px 6.2%;font-size:12px;color:var(--muted)}.footer-brand{font-size:18px;color:var(--ink);gap:0}footer p{margin:0}footer>a:last-child{white-space:nowrap}.skip{position:fixed;z-index:50;top:-100px;left:35px;background:var(--ink);color:#fff;padding:12px 18px}.skip:focus{top:10px}dialog{border:0;border-radius:8px;width:min(920px,calc(100% - 36px));max-height:90dvh;padding:0;color:var(--ink);box-shadow:0 30px 100px #0004}dialog::backdrop{background:#182011b8;backdrop-filter:blur(5px)}.close-dialog{position:sticky;float:right;top:16px;right:16px;margin:16px 16px -55px 0;z-index:2;border:1px solid #0002;background:white;border-radius:50%;width:39px;height:39px;font-size:16px}.case-head{background:var(--tint);padding:55px 55px 35px}.case-head h2{font-size:45px;font-weight:600;letter-spacing:-2px;line-height:1.15;margin-bottom:12px}.case-head>p{font-size:18px;max-width:660px;line-height:1.5}.case-head .eyebrow{font-size:12px}.case-meta{display:grid;grid-template-columns:2fr 1fr;gap:25px;border-top:1px solid #0002;padding-top:20px;font-size:13px;line-height:1.6}.case-meta b{display:block;font-size:12px;letter-spacing:1px;margin-bottom:6px}.case-body{padding:40px 55px 50px}.case-body section{margin-bottom:30px}.case-body h3{font-size:22px;letter-spacing:-.7px;line-height:1.4;margin-bottom:10px}.case-body p,.case-body li{font-size:16px;color:var(--muted);line-height:1.75}.case-body ul{padding-left:22px}.case-note{background:#f4f6ef;border-left:3px solid #b3d772;padding:17px 20px;font-size:13px!important}.case-body .pill{border:0}.hero-intro,.portrait-card,.hero-role{animation:arrive .8s both}.portrait-card{animation-delay:.12s}.hero-role{animation-delay:.22s}@keyframes arrive{from{opacity:0;translate:0 15px}to{opacity:1;translate:0 0}}@media(min-width:1600px){h1{font-size:69px}}@media(max-width:1000px){body{padding:16px}.header{padding:25px 5%}.hero{gap:3%;padding-top:40px}.hero-description{font-size:14px}h1{letter-spacing:-2px}h1>span:not(.name-dot){letter-spacing:-2px}.portrait-card{padding:8px 8px 0}.portrait-card img{height:330px}.portrait-card figcaption{font-size:12px}.hero-role h2{font-size:25px}.hero-role .role-kicker{font-size:12px}.role-bottom{padding-top:15px}.role-bottom p{font-size:12px}.section{padding-left:5%;padding-right:5%}.project-cover{padding:24px 24px 0;height:285px}.about{gap:7%}.about-photo img{height:510px}.about-copy>p:not(.eyebrow){font-size:14px}.contact{margin:0 18px}.contact h2{font-size:49px}.contact-arrow{font-size:45px;margin-left:10px}}
@media(max-width:740px){body{padding:10px}.header{padding:22px 6%;gap:12px}.brand{font-size:15px}.brand-sub{font-size:12px;letter-spacing:1.3px}.brand-mark{width:36px;height:36px;font-size:18px}.header nav{gap:16px;font-size:12px}.header-contact{display:none}.hero{grid-template-columns:1fr 1fr;gap:30px 5%;padding:35px 6% 35px;align-items:center}.hero-intro{padding:0}.hero h1{font-size:clamp(28px,6.4vw,48px);letter-spacing:-1.8px;margin-bottom:18px}.hero h1>span:not(.name-dot){letter-spacing:-1.8px}.hero-description{font-size:13px;line-height:1.6;margin-bottom:22px}.hero-intro .eyebrow{font-size:12px;margin-bottom:14px}.hero .pill{font-size:12px;gap:10px;padding-left:14px;min-height:41px}.hero .circle{width:27px;height:27px;font-size:19px}.portrait-card img{height:clamp(230px,51vw,365px)}.portrait-card figcaption{font-size:12px;gap:4px;padding:13px 0}.status-dot{width:4px;height:4px}.hero-role{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:22px 0 0;gap:20px}.hero-role h2{font-size:17px;line-height:1.2;letter-spacing:-.5px;margin:0;order:-1;max-width:180px}.hero-role h2 br{display:none}.hero-role h2 br:after{content:' '}.hero-role .role-kicker{margin:0;font-size:12px;border:0}.role-bottom{display:none}.expertise-strip{margin:8px 6% 0;flex-wrap:wrap;justify-content:start;gap:12px 23px;padding:20px 0}.expertise-strip p{width:100%;font-size:12px}.expertise-strip p br{display:none}.expertise-strip>span{font-size:13px;letter-spacing:-.3px}.section{padding:57px 6%}.intro-grid{grid-template-columns:1fr;gap:22px}.intro h2{font-size:34px;letter-spacing:-1.5px}.intro .eyebrow{margin-bottom:17px}.intro-grid p{font-size:14px}.section-heading{align-items:start;flex-direction:column;gap:15px;margin-bottom:28px}.section-heading h2{font-size:36px;letter-spacing:-1.5px}.section-heading>p{font-size:12px}.section-heading>p br{display:none}.project-grid{grid-template-columns:1fr;gap:35px}.project-cover{height:295px;padding:28px 28px 0}.project-info h3{font-size:25px}.project-info p:last-child{font-size:13px}.project-meta{font-size:12px}.philosophy{padding:54px 7%}.philosophy h2{font-size:39px;letter-spacing:-1.8px;margin:25px 0 30px}.philosophy-foot{align-items:start;flex-direction:column;gap:16px}.philosophy-foot>span{font-size:12px}.philosophy-foot p{font-size:12px}.about{grid-template-columns:1fr;gap:35px}.about-photo img{height:auto;max-height:510px;object-position:center 25%}.about h2{font-size:43px}.about h2 br:nth-child(2){display:none}.about-copy>p:not(.eyebrow){font-size:15px}.process{padding-top:15px}.process-list article{grid-template-columns:28px 1fr;gap:8px 17px;padding:22px 0}.process-list p{grid-column:2;font-size:13px}.process-list h3{font-size:23px}.contact{margin:0 12px;grid-template-columns:1fr;gap:24px;padding:42px 7%}.contact h2{font-size:43px;letter-spacing:-2px}.contact-arrow{font-size:38px;margin-left:8px}.contact>div>p:not(.eyebrow){font-size:13px}.contact-links{padding:0}.contact-links>a{font-size:14px;padding:12px 0}footer{padding:27px 6%;flex-wrap:wrap;gap:13px;font-size:12px}footer p{order:3;width:100%}.footer-brand{font-size:16px}footer>a:last-child{margin-left:auto}.case-head{padding:50px 25px 25px}.case-head h2{font-size:35px;letter-spacing:-1.5px}.case-head>p{font-size:16px}.case-meta{grid-template-columns:1fr;gap:15px}.case-body{padding:30px 25px}.case-body p,.case-body li{font-size:14px}.eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Reading sizes remain comfortable across layouts. */
.hero-description,.intro-grid p,.about-copy>p:not(.eyebrow),.process-list p,.project-info p:last-child,.contact>div>p:not(.eyebrow){font-size:16px}
.header nav,.pill,.text-link,.skill-tags span,.role-kicker{font-size:14px}
.brand-sub{font-size:10px}.ui-preview{font-size:12px}.project-cover{height:320px}
@media(max-width:740px){.brand-sub{display:none}.hero{grid-template-columns:1fr;gap:30px}.hero-intro{padding:0}.hero h1{font-size:clamp(48px,12vw,80px);letter-spacing:-3px}.hero h1>span:not(.name-dot){letter-spacing:-3px}.hero-description{max-width:360px}.hero .pill{font-size:14px;min-height:47px}.portrait-card{width:min(100%,400px);justify-self:center}.portrait-card img{height:auto;max-height:465px;object-fit:cover}.portrait-card figcaption{font-size:12px}.hero-role h2{max-width:200px}.header nav{font-size:13px;gap:15px}.cover-top{gap:8px;letter-spacing:0}.cover-top span:last-child{font-size:10px}.project-cover{padding:24px 18px 0}.ui-preview{padding:18px}.ui-preview>p,.ui-item,.ui-toolbar,.ui-tile{font-size:12px}.section-heading>p{font-size:14px}.contact-arrow{display:none}.case-body p,.case-body li{font-size:16px}}
