@font-face{font-family:FallbackSans;src:local("Arial");font-display:swap}:root{--paper:#f6f5ef;--ink:#1d332d;--muted:#59645c;--green:#183d35;--lime:#dce6b2;--line:#d5d9cd;--soft:#e9ece1;--serif:Georgia,"Times New Roman",serif;--sans:"Segoe UI",FallbackSans,Arial,sans-serif;--body:1rem;--small:.8125rem;--gutter:clamp(1.25rem,4.4vw,5rem)}*{box-sizing:border-box}html{scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:wait}button,a{touch-action:manipulation}button:not(.project-open){transition:background-color .14s ease,color .14s ease}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:5px}button:focus-visible,a:focus-visible{outline:3px solid #8b4c2b}img{display:block;max-width:100%;height:auto}svg{display:block}p,h1,h2,h3,figure{margin:0}p{text-wrap:pretty}h1,h2,h3{text-wrap:balance;font-weight:400}h1,h2{font-family:var(--serif);letter-spacing:-.055em;line-height:1.09}h2{font-size:clamp(2.6rem,4.1vw,4rem)}em{font-weight:400}h3{line-height:1.3}::selection{background:var(--lime);color:var(--green)}.wrap{max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:12px;left:12px;z-index:100;transform:translateY(-180%);padding:.7rem 1.2rem;background:var(--green);color:#fff}.skip-link:focus{transform:none}.eyebrow{font-size:var(--small);letter-spacing:.095em;text-transform:uppercase;font-weight:500}.small-line{display:inline-block;width:25px;height:1px;margin-right:10px;vertical-align:middle;background:currentColor}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:12px;font-size:1rem;letter-spacing:-.035em;font-weight:600;text-decoration:none;white-space:nowrap}.brand-dot{width:11px;height:11px;background:var(--green);border-radius:50%}.wordmark-note{font-size:.8125rem;font-weight:400;color:var(--muted);letter-spacing:0}.site-header nav{display:flex;gap:2.2rem;align-items:center;font-size:.875rem}.site-header nav a{display:inline-flex;align-items:center;gap:1.4rem;min-height:44px;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.nav-contact{border-bottom:1px solid var(--ink)}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:6.5%;align-items:center;padding-block:70px 68px}.hero-copy>.eyebrow{margin-bottom:28px;font-size:.75rem}.hero h1{font-size:clamp(3.7rem,5.6vw,5.7rem);max-width:12ch}.hero-description{margin-top:30px;max-width:42ch;font-size:1.0625rem;color:var(--muted);line-height:1.7}.hero-actions{display:flex;gap:1.8rem;align-items:center;flex-wrap:wrap;margin-top:32px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;padding:15px 22px;min-height:54px;border-radius:4px;border:1px solid transparent;font-size:.875rem;font-weight:500;text-decoration:none;line-height:1.5}.button span{font-size:1.25rem;line-height:1}.button-primary{background:var(--green);color:var(--paper)}.button-primary:hover{background:#285448}.button-outline{border-color:#bac5b8;background:transparent}.button-outline:hover{background:#e5e9dd}.text-link{display:inline-flex;align-items:center;gap:1.2rem;min-height:44px;padding:5px 0;border:0;background:none;border-bottom:1px solid var(--line);font-size:.875rem;text-decoration:none}.text-link:hover{border-bottom-color:currentColor}.hero-caption{margin-top:32px;color:var(--muted);font-size:.8125rem}.hero-caption a{margin-left:3px;color:var(--ink)}.portrait-block{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.portrait-frame{position:relative;aspect-ratio:4/4.9;background:#dce1d4;overflow:hidden;border-radius:140px 4px 4px}.portrait-frame>img{width:100%;height:100%;object-fit:cover;outline:1px solid #0000001a;outline-offset:-1px}.portrait-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:14% 9% 8%;color:var(--green)}.portrait-kicker{align-self:flex-end;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}.portrait-letter{font-family:var(--serif);font-size:clamp(7rem,15vw,15rem);line-height:1;letter-spacing:-.1em;align-self:center}.portrait-letter>span{color:#6a7960}.portrait-placeholder-note{font-size:.75rem;align-self:flex-end}.portrait-caption{display:flex;justify-content:space-between;align-items:center;padding-top:20px;color:var(--muted);font-size:.8125rem;line-height:1.8}.portrait-caption strong{font-size:.9375rem;font-weight:500;color:var(--ink)}.portrait-mark{font-size:2rem;font-weight:300}.intro-strip{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--muted)}.capabilities{display:flex;gap:1rem;align-items:center;white-space:nowrap;color:var(--ink)}.capabilities i{font-style:normal;color:#88947e}.work-section{padding-block:100px 90px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:24px}.section-heading>p{font-size:.9375rem;color:var(--muted);padding-bottom:7px;line-height:1.7}.projects{display:grid;grid-template-columns:1fr 1fr;gap:42px 30px}.project-1{grid-column:1/-1}.project-open{display:block;text-align:left;width:100%;padding:0;border:0;background:none}.project-visual{position:relative;overflow:hidden;background:#e3e7df;aspect-ratio:1.48;border-radius:5px;padding:7.5% 6%;display:flex;align-items:center;justify-content:center}.project-1 .project-visual{aspect-ratio:2.3;padding:3.5% 9%;background:#dfe5da}.project-2 .project-visual{background:#ebe5da}.project-3 .project-visual{background:#dee5e5}.project-visual img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 15px #1d332d16)}.project-3 .project-visual img{max-height:100%;width:auto;max-width:90%;border-radius:5px}.project-view{position:absolute;right:18px;bottom:18px;padding:10px 16px;border-radius:3px;background:var(--paper);font-size:.75rem;box-shadow:0 1px 4px #0000000a}.project-caption{padding-top:22px;display:block}.project-caption .eyebrow{font-size:.6875rem;color:var(--muted);letter-spacing:.08em;margin-bottom:9px}.project-caption h3{font-family:var(--serif);font-size:2rem;letter-spacing:-.035em}.project-caption-summary{margin-top:12px;font-size:.9375rem;color:var(--muted);max-width:48ch;line-height:1.65}.project-1 .project-caption{display:flex;justify-content:space-between;gap:2rem}.project-1 .project-caption-summary{max-width:42ch;margin-top:0}.work-footnote{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-top:1px solid var(--line);margin-top:40px;padding-top:17px;font-size:.75rem;color:var(--muted)}.about-section{background:var(--soft);padding-block:90px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%}.about-grid .eyebrow{margin-bottom:26px}.about-grid h2{font-size:clamp(2.5rem,3.5vw,3.5rem)}.about-intro{font-size:1rem;color:var(--muted);margin-top:28px;max-width:49ch;line-height:1.75}.experience{display:flex;gap:55px;margin-top:36px}.experience>div{display:flex;flex-direction:column;gap:5px}.experience strong{font-family:var(--serif);font-size:3rem;letter-spacing:-.06em;line-height:1.2;font-weight:400}.experience strong span{font-size:1.7rem;margin-left:5px;vertical-align:top;line-height:1.7}.experience>div>span{font-size:.75rem;color:var(--muted)}.approach{padding-top:44px}.approach-lead{font-family:var(--serif);font-size:1.7rem;letter-spacing:-.025em;line-height:1.3}.approach ol{list-style:none;padding:0;margin:28px 0 0}.approach li{display:flex;gap:21px;border-top:1px solid #cbd2c3;padding:22px 0}.step-number{padding-top:3px;font-size:.6875rem;color:#4b6758}.approach h3{font-size:1rem;font-weight:500}.approach li p{margin-top:8px;font-size:.875rem;color:var(--muted);max-width:41ch;line-height:1.65}.connect-section{padding-block:88px 85px}.connect-top{display:flex;align-items:center;justify-content:space-between;gap:2rem}.connect-note{font-size:.8125rem;color:var(--muted)}.connect-section h2{font-size:clamp(3.3rem,7.1vw,7rem);margin-block:35px 42px;position:relative;max-width:100%}.large-arrow{position:absolute;right:1%;top:-10px;font-family:var(--sans);font-size:1.5em;line-height:1;font-weight:200;color:#829374}.connect-bottom{display:flex;justify-content:space-between;gap:4rem;border-top:1px solid var(--line);padding-top:32px}.collaboration-copy{display:grid;grid-template-columns:1fr 1.15fr;gap:35px;max-width:700px;align-items:start}.collaboration-copy p{color:var(--muted);font-size:.9375rem;line-height:1.8}.collaboration-copy strong{display:inline-block;font-weight:500;color:var(--ink);margin-bottom:6px}.contact-actions{display:grid;gap:11px;flex-shrink:0;min-width:290px}.save-contact-trigger{justify-self:center}.site-footer{padding-block:26px 32px;border-top:1px solid var(--line);display:flex;gap:2rem;justify-content:space-between;font-size:.75rem;color:var(--muted)}.footer-divider{margin-inline:10px;color:#a2aa9c}.site-footer>div{display:flex;gap:28px}.site-footer a{display:inline-flex;align-items:center;gap:9px;min-height:32px;text-decoration:none}.site-footer a:hover{text-decoration:underline}.qr-fab{position:fixed;z-index:10;right:0;top:46%;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 15px 12px;background:var(--paper);border:1px solid #d2d7ca;border-right:0;border-radius:12px 0 0 12px;box-shadow:-3px 3px 16px #172d2110}.qr-fab svg{width:24px;height:24px}.qr-fab>span{font-size:.625rem;line-height:1.2}.qr-fab:hover{background:var(--lime)}dialog{border:0;color:var(--ink);background:var(--paper);padding:0;overscroll-behavior:contain}dialog::backdrop{background:#10241d70;backdrop-filter:blur(3px)}dialog[open]{display:block}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:16px}.icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #c2c9bb;background:transparent;border-radius:50%;flex-shrink:0}.icon-button span{font-size:1.9rem;font-weight:300;line-height:1;padding-bottom:4px}.icon-button:hover{background:var(--soft)}.contact-dialog{width:min(100%,460px);max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;position:fixed;inset:0;overflow:auto;border-left:1px solid #c3cabb}.drawer-content{padding:24px 32px max(24px,env(safe-area-inset-bottom))}.contact-dialog h2{font-size:2rem;letter-spacing:-.035em;line-height:1.2}.contact-position{margin-top:8px;font-size:.8125rem;color:var(--muted)}.contact-intro{margin-top:21px;font-size:.9375rem;line-height:1.7}.qr-wrap{background:#fff;border:1px solid #e7e9e2;border-radius:8px;margin:26px auto 12px;width:min(100%,290px);aspect-ratio:1;display:grid;place-items:center;padding:5px}.qr-wrap canvas{display:block;width:100%!important;height:auto!important;max-width:300px}.contact-dialog input{display:block;width:100%;min-height:42px;border:0;border-radius:3px;background:transparent;text-align:center;color:var(--muted);font-size:1rem;padding:8px 4px;text-overflow:ellipsis}.drawer-actions{display:grid;gap:10px;margin-top:20px}.drawer-actions .button{width:100%;justify-content:center;gap:16px}.contact-status{min-height:1.5em;margin-block:12px;font-size:.8125rem;text-align:center}.quick-contacts{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 18px;padding-top:4px}.quick-contact{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;text-underline-offset:4px}.drawer-footer{text-align:center;font-family:var(--serif);font-style:italic;font-size:.9375rem;color:var(--muted);padding-top:28px}.project-dialog{width:min(1040px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);border-radius:7px;margin:auto;overflow:auto}.project-dialog-inner{padding:30px 40px 40px}.project-dialog h2{font-size:clamp(2.2rem,5vw,3.5rem)}.project-lead{margin-top:14px;max-width:60ch;color:var(--muted);font-size:1.0625rem;line-height:1.7}.project-dialog #project-image{margin-top:28px;width:100%;max-height:500px;object-fit:contain;background:#e7eadf;border-radius:4px;padding:16px}.project-details{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:32px}.project-details h3{font-size:1rem;font-weight:600;margin-bottom:10px}.project-details p{font-size:.9375rem;color:var(--muted);line-height:1.7}.project-dialog ul{padding-left:20px;margin-block:20px;font-size:.9375rem;color:var(--muted)}.project-dialog li{padding-left:4px;margin-block:9px}.project-credit{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:20px;margin-block:10px 20px;border-block:1px solid var(--line);font-size:.8125rem}.project-credit span{color:var(--muted)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.hero-copy,.portrait-block{animation:arrive .5s ease-out both}.portrait-block{animation-delay:.1s}@keyframes arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.button,.icon-button,.qr-fab{transition:transform .15s ease-out,background-color .14s ease,color .14s ease}.button:active,.icon-button:active,.qr-fab:active{transform:scale(.96)}.project-visual img{transition:transform .35s ease-out}.project-open:hover .project-visual img{transform:translateY(-4px)}.contact-dialog[open]{animation:drawer-in .22s ease-out}@keyframes drawer-in{0%{opacity:.4;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.project-dialog[open]{animation:arrive .18s ease-out}}@media(min-width:1600px){.qr-fab{right:24px;border-right:1px solid #d2d7ca;border-radius:12px}}@media(max-width:1100px){.hero{gap:5%;padding-block:55px}.hero h1{font-size:clamp(3.3rem,6vw,4.8rem)}.hero-actions{gap:1rem}.hero-description{font-size:1rem}.hero-caption{margin-top:22px}.intro-strip{font-size:.75rem;gap:1rem}.capabilities{gap:.7rem}.about-grid{gap:7%}.collaboration-copy{grid-template-columns:1fr;gap:18px;max-width:400px}.connect-bottom{gap:3rem}.portrait-frame{border-top-left-radius:100px}.qr-fab{padding-inline:10px}.wordmark-note{display:none}}@media(max-width:760px){.site-header{height:82px;gap:1rem}.site-header nav{gap:1.2rem;font-size:.8125rem}.site-header nav a:first-child,.site-header nav a:nth-child(2){display:none}.site-header nav a{gap:12px}.wordmark{font-size:.9375rem;gap:8px}.brand-dot{width:9px;height:9px}.hero{grid-template-columns:1fr;gap:38px;padding-block:42px 32px}.hero-copy>.eyebrow{margin-bottom:23px;font-size:.625rem;letter-spacing:.09em}.hero h1{font-size:clamp(2.75rem,11vw,5rem);line-height:1.06;max-width:none}.hero-description{font-size:1rem;max-width:40ch;margin-top:23px;line-height:1.65}.desktop-break{display:none}.hero-actions{gap:15px;margin-top:25px;align-items:flex-start}.button{font-size:.8125rem;padding:14px 18px;min-height:52px}.hero-actions .text-link{font-size:.8125rem;min-height:50px;gap:.8rem}.hero-caption{font-size:.75rem;margin-top:22px}.portrait-block{margin-right:15%;margin-left:10%}.portrait-frame{aspect-ratio:4/4.45;border-top-left-radius:100px}.portrait-letter{font-size:40vw}.portrait-caption{padding-top:14px;font-size:.6875rem}.portrait-caption strong{font-size:.8125rem}.portrait-mark{font-size:1.7rem}.intro-strip{padding-block:21px;display:block}.intro-strip>span:first-child{display:block;font-size:.8125rem;max-width:32ch;line-height:1.65}.capabilities{gap:.7rem;font-size:.6875rem;margin-top:12px;flex-wrap:wrap;white-space:normal}.work-section{padding-block:60px 50px}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{font-size:.6875rem;margin-bottom:18px}.section-heading h2{font-size:2.65rem}.section-heading>p{margin-top:20px;font-size:.875rem;line-height:1.7}.projects{grid-template-columns:1fr;gap:32px}.project-1{grid-column:auto}.project-visual,.project-1 .project-visual{aspect-ratio:1.5;padding:6% 4%}.project-3 .project-visual{aspect-ratio:1.35}.project-view{font-size:.625rem;padding:8px 10px;bottom:12px;right:12px}.project-caption,.project-1 .project-caption{display:block;padding-top:17px}.project-caption h3{font-size:1.8rem}.project-caption .eyebrow{font-size:.625rem}.project-caption-summary,.project-1 .project-caption-summary{margin-top:10px;font-size:.875rem;max-width:40ch}.work-footnote{display:block;margin-top:30px;padding-top:16px;font-size:.6875rem;max-width:100%}.work-footnote .text-link{margin-top:10px;font-size:.8125rem}.about-section{padding-block:55px}.about-grid{grid-template-columns:1fr;gap:38px}.about-grid .eyebrow{font-size:.6875rem;margin-bottom:20px}.about-grid h2{font-size:2.5rem}.about-intro{font-size:.9375rem;margin-top:23px}.experience{margin-top:28px;gap:42px}.experience strong{font-size:2.8rem}.experience>div>span{font-size:.6875rem}.approach{padding-top:0}.approach-lead{font-size:1.55rem}.approach ol{margin-top:22px}.approach li{padding-block:18px}.connect-section{padding-block:55px 45px}.connect-top{align-items:flex-start;gap:1rem}.connect-top .eyebrow{font-size:.6875rem}.connect-note{font-size:.6875rem;max-width:20ch}.connect-section h2{font-size:clamp(3.1rem,10vw,4.7rem);margin-block:28px 30px}.large-arrow{font-size:1em;right:0;top:8px}.connect-bottom{display:grid;gap:26px;padding-top:25px}.collaboration-copy{gap:18px;max-width:40ch}.collaboration-copy p{font-size:.875rem}.contact-actions{min-width:0;max-width:100%;width:100%}.contact-actions .button{width:100%;max-width:380px}.save-contact-trigger{justify-self:start}.site-footer{display:block;padding-block:23px 25px;font-size:.6875rem}.site-footer>div{margin-top:12px;gap:22px}.qr-fab{top:auto;bottom:max(24px,env(safe-area-inset-bottom));padding:12px 11px 10px;box-shadow:0 2px 16px #172d211c}.qr-fab svg{width:22px;height:22px}.qr-fab>span{font-size:.5625rem}.drawer-content{padding:18px 23px max(24px,env(safe-area-inset-bottom))}.contact-dialog h2{font-size:1.9rem}.contact-intro{margin-top:18px;font-size:.875rem}.contact-position{font-size:.75rem}.qr-wrap{width:min(100%,260px);margin-top:20px}.contact-dialog .eyebrow{font-size:.6875rem}.project-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.project-dialog-inner{padding:18px 20px 25px}.project-dialog .eyebrow{font-size:.625rem}.project-dialog h2{font-size:2.2rem}.project-lead{font-size:.9375rem}.project-dialog #project-image{padding:6px;margin-top:20px}.project-details{grid-template-columns:1fr;gap:20px;margin-top:24px}.project-details p,.project-dialog ul{font-size:.875rem}.project-credit{display:block;font-size:.75rem}.project-credit a{margin-top:12px}.project-dialog .button{font-size:.75rem;gap:14px}.contact-position{padding-right:5px}}@media(max-width:380px){.hero-actions{display:grid;gap:4px}.hero-actions .text-link{justify-self:start}.portrait-block{margin-inline:5% 10%}.connect-section h2{font-size:2.9rem}.large-arrow{font-size:.85em;top:3px}.contact-dialog h2{font-size:1.75rem}.drawer-content{padding-inline:20px}.site-footer>div{gap:16px}.project-caption h3{font-size:1.7rem}}@media(forced-colors:active){button,a,.button,.icon-button{forced-color-adjust:auto}button:focus-visible,a:focus-visible{outline-color:Highlight}.button-primary{border:1px solid ButtonText}.brand-dot{background:CanvasText}.qr-fab{border:1px solid ButtonText}.qr-wrap{forced-color-adjust:none}}
