@charset "UTF-8";
:root{--ink:#20221e;--muted:#666961;--line:#dadcd5;--soft:#f4f5f1;--lime:#d4f56a;--white:#fff;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:"Helvetica Neue",Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}::selection{background:var(--lime);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #526919;outline-offset:6px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}svg{display:block}.shell{width:min(1320px,calc(100% - 112px));margin-inline:auto}.muted{color:var(--muted)}.skip-link{position:fixed;top:12px;left:12px;padding:12px 20px;background:var(--lime);z-index:20;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.wordmark{font-size:1.9375rem;font-weight:750;letter-spacing:-1.6px;line-height:1.2}.wordmark-dot{color:#657d21}.desktop-nav{display:flex;gap:34px;font-size:0.9375rem}.desktop-nav a{position:relative}.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--ink);transition:right .2s}.desktop-nav a:hover::after,.desktop-nav a[aria-current]::after{right:0}.header-contact{font-size:0.9375rem;border-bottom:1px solid var(--ink);padding-block:7px}.header-contact span{margin-left:22px;font-size:1.25rem}.menu-button{display:none}.mobile-nav[hidden]{display:none}
.hero{display:grid;grid-template-columns:1.24fr 1fr;gap:8%;padding-top:70px;padding-bottom:64px;align-items:center}.eyebrow,.small-label{font-family:var(--mono);font-size:0.75rem;letter-spacing:.055em;line-height:1.7}.hero .eyebrow{display:flex;align-items:center;gap:10px}.tiny-rule{display:inline-block;width:21px;height:8px;background:var(--lime)}h1{font-size:clamp(64px,7.6vw,110px);line-height:.98;letter-spacing:-.065em;margin-top:34px;font-weight:550}.name{white-space:nowrap}.name-dot{color:#657d21}.hero-statement{max-width:520px;font-size:clamp(22px,2vw,28px);line-height:1.4;letter-spacing:-.035em;margin-top:29px}.hero-description{font-size:1rem;line-height:1.65;color:var(--muted);max-width:440px;margin-top:16px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:31px}.button{padding:15px 21px;background:var(--ink);color:white;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;font-size:0.9375rem;line-height:1.5;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#404439;transform:translateY(-2px)}.button span{font-size:1.375rem;line-height:1}.text-link{font-size:0.9375rem;display:inline-flex;gap:15px;align-items:center}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.portrait-wrap{align-self:center;min-width:0;transform:rotate(2deg)}.portrait{aspect-ratio:1/1.09;position:relative;background:#e9ebe5;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #e0e3d8}.portrait::before,.portrait::after{content:"";position:absolute;background:#d9ddd1}.portrait::before{height:1px;width:100%;top:50%;left:0}.portrait::after{width:1px;height:100%;left:50%;top:0}.portrait-kicker{position:absolute;top:24px;left:26px;font-family:var(--mono);font-size:0.75rem;letter-spacing:.06em;z-index:1}.portrait-monogram{font-size:clamp(130px,16vw,235px);line-height:1;letter-spacing:-.09em;color:#abb49b;font-weight:550;position:relative;z-index:1;padding-right:.09em}.portrait-note{position:absolute;bottom:24px;left:24px;background:var(--lime);padding:8px 13px;font-size:0.8125rem;transform:rotate(-2deg);display:flex;align-items:center;gap:10px;z-index:2}.photo-mark{font-size:1.375rem;line-height:1}.portrait-wrap figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:19px;font-size:0.8125rem;line-height:1.55}.portrait-wrap figcaption strong{font-size:0.875rem;font-weight:500}.location{display:flex;align-items:flex-start;gap:6px;color:var(--muted);padding-top:1px}.location svg{height:16px;width:16px;flex:none;margin-top:2px}.intro-strip{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:21px;font-size:0.8125rem;color:var(--muted)}.intro-strip span:last-child{display:flex;gap:30px}.intro-strip span:last-child span{color:var(--ink);font-size:1.375rem;line-height:1}
.section{padding-block:88px}.section-label{display:flex;align-items:baseline;gap:13px}.section-number{font-family:var(--mono);font-size:0.75rem;flex-shrink:0;color:var(--muted)}.section-label h2{font-size:1rem;font-weight:500;line-height:1.45}.about{display:grid;grid-template-columns:1fr 3fr;gap:50px}.large-copy{font-size:clamp(28px,3vw,42px);line-height:1.25;letter-spacing:-.045em}.about-columns{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;margin-top:34px}.body-copy p+p{margin-top:18px}.body-copy{color:#4d5049}.background{border-left:1px solid var(--line);padding-left:30px;font-size:0.875rem}.background>div+div{margin-top:25px}.background .small-label{color:var(--muted);font-size:0.75rem}.background p{margin-top:7px;line-height:1.6}.background p+p{margin-top:12px}.background p span{font-size:0.8125rem}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin-bottom:33px}.section-heading>p{font-size:0.875rem;color:var(--muted)}.work{border-top:1px solid var(--line);padding-top:49px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.work-card{background:var(--soft);padding:28px 28px 24px;border-radius:3px}.work-card:first-child{background:#eff5e2}.work-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px}.work-card-top svg{width:31px;height:31px}.work-card-top span{font-family:var(--mono);font-size:0.75rem;color:var(--muted)}.work-card h3{font-size:1.5625rem;line-height:1.25;letter-spacing:-.035em;margin-bottom:15px}.work-card p{font-size:1rem;color:#4d5049;line-height:1.6}.work-tags{border-top:1px solid #d5dacb;margin-top:25px;padding-top:17px;font-family:var(--mono);font-size:0.75rem;color:#54584c;line-height:1.7}
.projects{padding-top:10px}.project-list{border-top:1px solid var(--ink)}.project{display:grid;grid-template-columns:30px 1.1fr 1.65fr 155px;gap:28px;align-items:start;padding-block:35px;border-bottom:1px solid var(--line)}.project-index{font-family:var(--mono);font-size:0.75rem;color:var(--muted);padding-top:7px}.project h3{font-size:1.8125rem;letter-spacing:-.04em;line-height:1.3}.status{display:inline-block;margin-top:11px;padding:3px 9px;border:1px solid #dfe1d9;border-radius:3px;color:#53584c;font-size:0.75rem;line-height:1.5}.status-active{background:var(--lime);border-color:var(--lime);color:var(--ink)}.project-content>p{color:#50544b;font-size:1rem;max-width:510px}.project-category{font-family:var(--mono);font-size:0.75rem;line-height:1.6;text-align:right;color:var(--muted);padding-top:8px}.project details{margin-top:15px;font-size:0.875rem}.project summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:20px;padding-block:3px;border-bottom:1px solid #b2b8a7}.project summary::-webkit-details-marker{display:none}.project summary:hover{border-color:var(--ink)}.project summary span{font-size:1.1875rem;line-height:1;transition:transform .15s}.project details[open] summary span{transform:rotate(45deg)}.project-details{margin-top:18px;padding-left:16px;border-left:2px solid var(--lime);color:#555b4b;line-height:1.7}.detail-label{display:block;margin-top:12px;font-family:var(--mono);font-size:0.75rem}.interests{display:grid;grid-template-columns:1fr 3fr;gap:50px;border-top:1px solid var(--line);padding-top:63px;padding-bottom:95px}.label-aside{display:block;color:var(--muted);font-size:0.8125rem;margin-top:4px}.interests-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 48px;margin-top:41px}.interest-symbol{font-size:1.5625rem;line-height:1;display:block;margin-bottom:16px}.interests-grid h3{font-size:1.1875rem;letter-spacing:-.025em;line-height:1.3;margin-bottom:10px}.interests-grid p{font-size:1rem;color:var(--muted);max-width:355px}
.contact-wrap{background:var(--ink);color:#fff}.contact{display:grid;grid-template-columns:1.3fr 1fr;gap:65px;padding-block:73px 78px;align-items:end}.contact .eyebrow{font-size:0.75rem;color:#bec7af}.contact h2{font-size:clamp(43px,5.3vw,74px);letter-spacing:-.055em;line-height:1.04;margin-top:24px}.contact h2 span{color:var(--lime)}.contact p:last-child{font-size:0.9375rem;color:#bdc0b7;margin-top:22px;max-width:370px}.contact-links{padding-bottom:6px;min-width:0}.contact-links .small-label{font-size:0.75rem;color:#bac1af}.contact-location{font-size:0.8125rem;color:#bdc0b7;display:block;margin-top:29px}.footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:32px}.footer .wordmark{font-size:1.6875rem}.footer p{font-size:0.75rem;color:var(--muted)}.back-top{font-size:0.8125rem}.back-top span{margin-left:15px}
@media(min-width:1600px){.hero{padding-block:88px}.hero h1{font-size:7.375rem}.portrait{aspect-ratio:1/1.05}}
@media(max-width:1150px){.shell{width:calc(100% - 72px)}.hero{gap:6%;padding-top:55px}.desktop-nav{gap:23px}.hero-statement{font-size:1.4375rem}.portrait-wrap figcaption{flex-direction:column;gap:7px}.about,.interests{grid-template-columns:.9fr 3fr;gap:25px}.about-columns{gap:28px}.background{padding-left:22px}.work-card{padding:24px 21px}.work-card h3{font-size:1.4375rem}.work-tags{font-size:0.75rem}.project{grid-template-columns:24px .95fr 1.5fr;gap:23px}.project-category{display:none}.contact{gap:44px}.portrait-kicker{font-size:0.75rem}}
@media(max-width:850px){.shell{width:calc(100% - 48px)}.site-header{height:86px}.desktop-nav{gap:19px;font-size:0.875rem}.desktop-nav a:nth-child(4){display:none}.header-contact{font-size:0.875rem}.hero{grid-template-columns:1.15fr 1fr;gap:30px;padding-block:49px}.hero .eyebrow{font-size:0.75rem;letter-spacing:0}.tiny-rule{width:14px}.hero h1{font-size:4.625rem}.hero-statement{font-size:1.3125rem}.hero-description{font-size:0.9375rem}.hero-actions{gap:18px}.button{font-size:0.875rem;gap:20px;padding:13px 16px}.text-link{font-size:0.875rem}.portrait-kicker{left:16px;top:18px;font-size:0.75rem;max-width:170px}.portrait-note{left:12px;bottom:17px;font-size:0.75rem;gap:6px;padding:7px 9px}.portrait-wrap figcaption{font-size:0.75rem}.portrait-wrap figcaption strong{font-size:0.8125rem}.portrait-monogram{font-size:9.375rem}.intro-strip{font-size:0.75rem;gap:20px}.section{padding-block:60px}.about,.interests{grid-template-columns:1fr;gap:25px}.section-label h2{font-size:1rem}.about-content,.interests-content{padding-left:36px}.about-columns{gap:34px}.section-heading{align-items:flex-start;flex-direction:column;gap:9px}.section-heading>p{padding-left:36px}.work-grid{gap:12px}.work-card{padding:21px 17px}.work-card h3{font-size:1.3125rem}.work-card p{font-size:1rem}.work-card-top{margin-bottom:31px}.work-tags{font-size:0.75rem}.project{grid-template-columns:22px .9fr 1.3fr;gap:20px}.project h3{font-size:1.625rem}.project-content>p{font-size:1rem}.label-aside{display:inline;margin-left:8px}.interests-grid{gap:30px}.contact{gap:25px;padding-block:60px}.contact .eyebrow{font-size:0.75rem}.contact p:last-child{font-size:0.875rem}.contact-location{font-size:0.75rem}}
@media(max-width:640px){html{scroll-padding-top:25px}.shell{width:calc(100% - 40px)}.site-header{height:80px;gap:20px}.wordmark{font-size:1.8125rem}.desktop-nav,.header-contact{display:none}.menu-button{display:inline-flex;align-items:center;gap:16px;border:0;background:transparent;font-size:0.875rem;color:var(--ink);padding:8px 0 8px 16px;cursor:pointer}.menu-button span{font-size:1.4375rem;line-height:1}.mobile-nav{display:flex;flex-direction:column;padding:16px 0;border-bottom:1px solid var(--line);gap:0}.mobile-nav a{padding:10px 0;font-size:1rem}.hero{grid-template-columns:1fr;padding-block:38px 33px;gap:39px}.hero .eyebrow{font-size:0.75rem;letter-spacing:.025em}.hero h1{font-size:clamp(70px,16vw,99px);margin-top:25px;letter-spacing:-.06em}.hero-statement{font-size:1.5rem;line-height:1.4;margin-top:23px;max-width:450px}.hero-description{font-size:1rem;max-width:340px;margin-top:14px}.hero-actions{margin-top:25px;gap:24px}.button{font-size:0.875rem;padding:15px 19px;gap:25px}.text-link{font-size:0.875rem;gap:10px}.portrait-wrap{width:90%;max-width:425px;justify-self:center;transform:rotate(1.5deg);margin-top:6px}.portrait{aspect-ratio:1/.9}.portrait-monogram{font-size:clamp(150px,39vw,225px)}.portrait-kicker{font-size:0.75rem;max-width:none;left:20px;top:20px}.portrait-note{font-size:0.75rem;left:20px;bottom:20px;padding:8px 11px}.portrait-wrap figcaption{flex-direction:row;gap:20px;font-size:0.75rem;padding-top:15px}.portrait-wrap figcaption strong{font-size:0.8125rem}.location{font-size:0.75rem;max-width:128px}.location svg{width:14px;height:14px}.intro-strip{padding-block:18px;display:block;font-size:0.75rem}.intro-strip>span:last-child{display:none}.section{padding-block:45px}.about,.interests{gap:23px}.about-content,.interests-content{padding-left:0}.large-copy{font-size:1.875rem}.about-columns{grid-template-columns:1fr;margin-top:24px;gap:26px}.body-copy{font-size:1rem}.background{border-left:0;border-top:1px solid var(--line);padding:23px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:23px 22px}.background>div+div{margin-top:0}.background>div:first-child{grid-column:1/-1}.background>div:first-child p br{display:none}.background>div:first-child p span::before{content:" · "}.background p{font-size:0.8125rem}.background p span{font-size:0.75rem}.section-heading{margin-bottom:25px}.section-heading>p{font-size:0.8125rem;padding-left:34px}.work-grid{grid-template-columns:1fr;gap:13px}.work-card{padding:25px}.work-card-top{margin-bottom:25px}.work-card h3{font-size:1.625rem}.work-card p{font-size:1rem}.work-tags{font-size:0.75rem;margin-top:22px;padding-top:17px}.project{grid-template-columns:22px 1fr;gap:16px;padding-block:27px}.project-index{padding-top:5px}.project-name{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.project h3{font-size:1.625rem}.status{font-size:0.75rem;margin-top:0;white-space:nowrap;padding:3px 7px}.project-content{grid-column:2}.project-content>p{font-size:1rem}.project details{font-size:0.875rem}.interests-grid{gap:29px 23px;margin-top:31px}.interests-grid h3{font-size:1.125rem}.interests-grid p{font-size:1rem}.interest-symbol{margin-bottom:12px}.label-aside{font-size:0.75rem}.contact{grid-template-columns:1fr;gap:38px;padding-block:45px}.contact .eyebrow{font-size:0.75rem}.contact h2{font-size:3.4375rem;margin-top:20px}.contact p:last-child{font-size:0.9375rem;max-width:320px;margin-top:20px}.contact-location{font-size:0.75rem;margin-top:24px}.footer{gap:20px;flex-wrap:wrap;padding-block:25px}.footer .wordmark{font-size:1.625rem}.footer p{order:3;width:100%;font-size:0.75rem}.back-top{font-size:0.75rem}.background .small-label{font-size:0.75rem}}
@media(max-width:370px){.shell{width:calc(100% - 32px)}.hero-actions{gap:17px}.button{gap:16px;padding-inline:14px}.text-link{font-size:0.8125rem}.portrait-wrap{width:94%}.project-name{align-items:flex-start;flex-direction:column;gap:8px}.background{grid-template-columns:1fr}.interests-grid{grid-template-columns:1fr}.contact h2{font-size:3rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.messenger-button{display:block;width:fit-content;max-width:100%;margin-top:22px;padding:17px 23px;border:0;border-radius:3px;background:var(--lime);color:var(--ink);font:inherit;font-size:1rem;line-height:1.5;text-align:center}.messenger-button:hover{background:#e0ff85}.messenger-button:focus-visible{outline:2px solid var(--lime);outline-offset:5px}

/* Frame the original photo without changing its pixels. */
.portrait{aspect-ratio:1 / 1;border:0}
.portrait::before,.portrait::after{display:none}
.portrait>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;transform:scaleX(-1)}
