@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Instrument Serif;src:url(/fonts/instrument-serif-italic.woff2)format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:DM Sans;src:url(/fonts/dm-sans.woff2)format("woff2");font-style:normal;font-weight:400 600;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/ibm-plex-mono-medium.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}:root{color:#171815;font-synthesis:none;text-rendering:optimizelegibility;background:#f5f2ec;font-family:DM Sans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}::selection{color:#171815;background:#d9dfd1}:focus-visible{outline-offset:4px;outline:2px solid #a64022}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--paper:#f5f2ec;--ink:#171815;--soft:#6a6c66;--line:#cfcec7;--rust:#a64022;--sage:#d9dfd1}.site-shell{background:var(--paper);color:var(--ink)}header{border-bottom:1px solid var(--line);z-index:20;grid-template-columns:1fr auto 1fr;align-items:center;height:78px;padding:0 clamp(22px,5vw,76px);display:grid;position:relative}.brand{color:inherit;font-family:Instrument Serif,Georgia,serif;font-size:1.35rem;text-decoration:none}.site-shell nav{gap:2rem;display:flex}.site-shell nav a,.coffee-link{color:inherit;font-size:.82rem;text-decoration:none}.site-shell nav a:hover{text-underline-offset:6px;text-decoration:underline}.coffee-link{border-bottom:1px solid;justify-self:end;align-items:center;gap:.5rem;padding-bottom:4px;display:flex}.menu-button{background:0 0;border:0;display:none}.hero{grid-template-columns:minmax(0,1.65fr) minmax(260px,.55fr);align-items:end;gap:8vw;min-height:calc(100svh - 78px);padding:clamp(70px,9vw,130px) clamp(22px,7vw,108px) 64px;display:grid}.kicker,.section-number,.project-type{text-transform:uppercase;letter-spacing:.1em;font-family:IBM Plex Mono,monospace;font-size:.68rem}.hero h1{letter-spacing:-.055em;margin:2rem 0 3rem;font-family:Instrument Serif,Georgia,serif;font-size:clamp(4.6rem,9.5vw,9.5rem);font-weight:400;line-height:.85}.hero h1 em{color:var(--rust);font-weight:400}.hero-intro{max-width:670px;font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.6}.inline-link{color:inherit;align-items:center;gap:.6rem;margin-top:1.3rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.inline-link:hover{gap:1rem}.portrait{aspect-ratio:4/5;background:#24251f;margin:0;position:relative;overflow:hidden}.portrait img{object-fit:cover;object-position:center top;filter:saturate(.82);width:100%;height:100%;display:block}.portrait figcaption{background:var(--paper);padding:.7rem 1rem;font-size:.72rem;position:absolute;bottom:0;left:0}.portrait-fallback{place-items:center;display:grid}.portrait-fallback span{color:var(--paper);font-family:Instrument Serif,Georgia,serif;font-size:6rem}.current{background:var(--ink);color:var(--paper);grid-template-columns:1fr 3fr;gap:2rem;padding:1rem clamp(22px,7vw,108px);font-size:.78rem;display:grid}.current strong{text-transform:uppercase;letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:.66rem}.page-section{padding:clamp(90px,11vw,170px) clamp(22px,7vw,108px)}.section-heading{grid-template-columns:1fr 3fr;gap:2rem;margin-bottom:clamp(70px,9vw,130px);display:grid}.section-heading h2,.about-section>div>h2,.coffee-copy h2{letter-spacing:-.045em;margin:0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(3.4rem,6vw,6.5rem);font-weight:400;line-height:.95}.work-section{background:#fff}.project-feature{border-top:1px solid var(--ink);padding-top:2rem}.project-title{justify-content:space-between;align-items:flex-start;margin-bottom:2.5rem;display:flex}.project-title h3{letter-spacing:-.05em;margin:.3rem 0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(4rem,8vw,8rem);font-weight:400}.project-title a{color:inherit;border-bottom:1px solid;align-items:center;gap:.4rem;padding-bottom:4px;font-size:.82rem;text-decoration:none;display:flex}.project-shot{aspect-ratio:4/3;background:#e8e7e1;margin:0;overflow:hidden}.project-shot img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1);display:block}.project-shot:hover img{transform:scale(1.018)}.shot-wide{aspect-ratio:16/8}.shot-empty{color:var(--soft);border:1px dashed #b7b6ae;place-items:center;display:grid}.shot-empty div{text-align:center}.shot-empty span{text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.65rem}.shot-empty p{margin:.7rem 0;font-size:.72rem}.project-details{grid-template-columns:1fr 2fr;gap:8vw;padding:4rem 0;display:grid}.project-lead{margin:0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.7rem,2.8vw,3rem);line-height:1.16}.evidence-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.evidence-grid span{text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.65rem}.evidence-grid p{color:#41433e;font-size:.9rem;line-height:1.65}.gallery-row{grid-template-columns:1fr 1fr;gap:1.3rem;display:grid}.stack-line{text-transform:uppercase;letter-spacing:.04em;color:var(--soft);margin:1.3rem 0 0;font-family:IBM Plex Mono,monospace;font-size:.66rem}.second-project{margin-top:clamp(120px,15vw,220px)}.anon-layout{grid-template-columns:1.5fr 1fr;align-items:center;gap:7vw;display:grid}.anon-copy ul{margin:2rem 0;padding:0;list-style:none}.anon-copy li{border-top:1px solid var(--line);padding:.9rem 0;font-size:.9rem}.experience-section{background:var(--sage)}.timeline{margin-left:25%}.role{border-top:1px solid #aeb6a6;grid-template-columns:1fr 2fr;gap:6vw;padding:2.5rem 0 5rem;display:grid}.role time{font-family:IBM Plex Mono,monospace;font-size:.65rem}.role h3{margin:2rem 0 .4rem;font-family:Instrument Serif,Georgia,serif;font-size:2rem;font-weight:400}.role-name{color:#555a51;font-size:.78rem}.role-summary{margin:0 0 2rem;font-family:Instrument Serif,Georgia,serif;font-size:1.65rem;line-height:1.3}.role ul{padding:0;list-style:none}.role li{border-top:1px solid #bdc4b6;padding:1rem 0;font-size:.88rem;line-height:1.55}.about-section{background:var(--ink);color:var(--paper)}.about-section>div>h2{margin:2rem 0 6rem}.about-grid{grid-template-columns:1.3fr 1fr;gap:12vw;display:grid}.about-grid>p{margin:0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.8rem,3vw,3.2rem);line-height:1.22}.about-grid h3{text-transform:uppercase;letter-spacing:.08em;border-top:1px solid #4c4e48;margin:0;padding-top:1.3rem;font-family:IBM Plex Mono,monospace;font-size:.66rem}.about-grid div p{color:#b8bbb3;margin-bottom:2.3rem;line-height:1.6}.coffee-section{background:#d9b99a;grid-template-columns:1fr 1fr;gap:10vw;display:grid}.coffee-copy h2{margin:2rem 0 3rem}.coffee-copy>p:last-child{max-width:550px;line-height:1.65}.coffee-form{border-top:1px solid}.coffee-form label{text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #17181559;flex-direction:column;gap:.8rem;padding:1.35rem 0;font-family:IBM Plex Mono,monospace;font-size:.64rem;display:flex}.form-pair{border-bottom:1px solid #17181559;grid-template-columns:1fr 1fr;gap:2rem;display:grid}.form-pair label{border:0}.coffee-form input,.coffee-form textarea{resize:vertical;color:var(--ink);text-transform:none;background:0 0;border:0;padding:0;font:1rem DM Sans,Arial,sans-serif}.coffee-form input:focus,.coffee-form textarea:focus{outline:0}.submit-button,.coffee-actions button,.coffee-actions a{background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer;align-items:center;gap:.6rem;margin-top:1.5rem;padding:1rem 1.2rem;text-decoration:none;display:inline-flex}.coffee-form small{color:#5b4a3e;margin-top:1rem;display:block}.form-error{color:#7f1d1d}.coffee-success h3{margin:2rem 0 1rem;font-family:Instrument Serif,Georgia,serif;font-size:4rem;font-weight:400}.coffee-actions{gap:.7rem;display:flex}.coffee-actions button{color:var(--ink);background:0 0}footer{color:#f2efe8;background:#10110f;grid-template-columns:2fr 1fr auto;align-items:end;gap:2rem;padding:5rem clamp(22px,7vw,108px) 2rem;display:grid}footer strong{font-family:Instrument Serif,Georgia,serif;font-size:2rem;font-weight:400}footer p{color:#92958c}footer>div:nth-child(2){gap:1.5rem;display:flex}footer a{color:inherit;align-items:center;gap:.4rem;font-size:.8rem;text-decoration:none;display:flex}footer small{color:#92958c}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}@media (width<=800px){header{grid-template-columns:1fr auto}.site-shell nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:2rem 22px;display:none;position:absolute;top:78px;left:0;right:0}.site-shell nav.open{display:flex}.menu-button{display:block}.coffee-link{background:var(--rust);color:#fff;z-index:30;border:0;padding:.85rem 1rem;position:fixed;bottom:16px;right:16px}.hero{grid-template-columns:1fr;padding-top:70px}.hero h1{font-size:clamp(4.2rem,20vw,7rem)}.portrait{width:min(72vw,340px);margin-left:auto}.current{grid-template-columns:1fr;gap:.5rem;line-height:1.5}.section-heading,.project-details,.anon-layout,.role,.about-grid,.coffee-section{grid-template-columns:1fr}.section-heading{margin-bottom:70px}.project-title{align-items:end}.project-title h3{font-size:4.2rem}.project-title a{border:1px solid;border-radius:50%;place-items:center;width:42px;height:42px;padding:0;font-size:0;display:grid}.evidence-grid{grid-template-columns:1fr;gap:.3rem}.evidence-grid div{border-top:1px solid var(--line);padding:1.2rem 0}.gallery-row{gap:.6rem}.timeline{margin-left:0}.role{gap:2rem}.role h3{margin-top:1rem}.about-section>div>h2{margin-bottom:4rem}.coffee-copy>svg{margin-bottom:3rem}.form-pair{grid-template-columns:1fr;gap:0}.form-pair label:first-child{border-bottom:1px solid #17181559}footer{grid-template-columns:1fr}footer>div:nth-child(2){margin-top:2rem}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.project-shot img{transition:none}}.hero{padding-top:clamp(34px,4.5vw,64px)}.calendar-wrap{background:#fff;border:1px solid #1718152e;min-width:0;overflow:hidden}.calendar-wrap iframe{background:#fff;width:100%;display:block}@media (width<=800px){.hero{padding-top:36px}.calendar-wrap iframe{height:680px}.coffee-link{font-size:.75rem}}.coffee-section{background:#f5f2ec;display:block}.coffee-copy{grid-template-columns:1fr 2fr;align-items:start;column-gap:6vw;display:grid}.coffee-copy>svg,.coffee-copy>.section-number{grid-column:1}.coffee-copy h2,.coffee-copy>p:last-child{grid-column:2}.coffee-copy>svg{margin-bottom:2rem}.coffee-copy h2{grid-row:1/3}.coffee-copy>p:last-child{margin-top:1rem}.calendar-wrap{border-color:#d8d9dc;width:100%;margin-top:4rem;box-shadow:0 18px 50px #17181514}.calendar-wrap iframe{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;height:800px}.project-shot{position:relative}.project-shot figcaption{color:#171815;text-transform:uppercase;letter-spacing:.04em;background:#fffffff0;padding:.55rem .7rem;font:500 .64rem IBM Plex Mono,monospace;position:absolute;bottom:12px;left:12px}@media (width<=800px){.coffee-copy{grid-template-columns:1fr}.coffee-copy>svg,.coffee-copy>.section-number,.coffee-copy h2,.coffee-copy>p:last-child{grid-column:1}.coffee-copy h2{grid-row:auto}.calendar-wrap{border-left:0;border-right:0;width:calc(100% + 44px);margin-top:2.5rem;margin-left:-22px}.calendar-wrap iframe{height:1000px}.project-shot figcaption{font-size:.56rem;bottom:7px;left:7px}}.hero{grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);align-items:center;gap:5vw;min-height:auto;padding-top:clamp(28px,3vw,48px);padding-bottom:clamp(56px,6vw,90px)}.hero h1{margin:1.4rem 0 2rem;font-size:clamp(4.5rem,8vw,8.7rem)}.portrait{aspect-ratio:2/3;background:0 0;justify-self:end;width:100%;max-width:560px}.portrait img{object-fit:contain;filter:none}.portrait figcaption{border:1px solid var(--line);bottom:8%;left:2%}.hero-actions{flex-wrap:wrap;gap:.8rem;margin-top:1.8rem;display:flex}.primary-action,.secondary-action{border:1px solid var(--ink);align-items:center;gap:.55rem;padding:.9rem 1.05rem;font-size:.82rem;text-decoration:none;display:inline-flex}.primary-action{background:var(--ink);color:#fff}.secondary-action{color:var(--ink);background:0 0}.primary-action:hover{background:var(--rust);border-color:var(--rust)}.secondary-action:hover{background:#fff}.hero-actions+.inline-link{margin-top:1.7rem}.contact-section{background:#fff}.contact-section>div:first-child{grid-template-columns:1fr 3fr;gap:2rem;display:grid}.contact-section h2{letter-spacing:-.045em;margin:0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(3.4rem,6vw,6.5rem);font-weight:400;line-height:.95}.contact-links{margin:6rem 0 0 25%}.contact-links a{color:inherit;border-top:1px solid var(--line);grid-template-columns:1fr 2fr auto;align-items:center;gap:2rem;padding:1.6rem 0;font-family:Instrument Serif,Georgia,serif;font-size:clamp(1.3rem,2.2vw,2.3rem);text-decoration:none;display:grid}.contact-links a span{text-transform:uppercase;letter-spacing:.08em;font:500 .65rem IBM Plex Mono,monospace}.contact-links a:hover{color:var(--rust)}@media (width<=1100px){.hero{grid-template-columns:minmax(0,1.2fr) minmax(300px,.7fr)}.hero h1{font-size:clamp(4rem,8.5vw,7rem)}}@media (width<=800px){.hero{grid-template-columns:1fr;padding-top:30px}.portrait{width:min(86vw,430px);max-width:none;margin:1rem auto 0}.hero h1{font-size:clamp(4rem,19vw,6.7rem)}.contact-section>div:first-child,.contact-links a{grid-template-columns:1fr}.contact-links{margin:4rem 0 0}.contact-links a{gap:.6rem}.contact-links a svg{display:none}}.hero .portrait img{mix-blend-mode:normal}.project-shot,.shot-wide{aspect-ratio:auto}.project-shot img,.project-shot:hover img{object-fit:contain;width:100%;height:auto;transform:none}.shot-empty{min-height:320px}.gallery-row .project-shot{align-self:start}.coffee-section{padding-top:clamp(72px,7vw,108px);padding-bottom:clamp(80px,8vw,120px)}.coffee-copy{max-width:1180px;margin:0 auto}.coffee-description{grid-column:2;max-width:620px;margin-top:1rem}.coffee-description>p:first-child{margin:0;line-height:1.65}.coffee-meta{text-transform:uppercase;letter-spacing:.06em;margin:1.4rem 0;font:500 .68rem IBM Plex Mono,monospace}.booking-jump{color:inherit;border-bottom:1px solid;align-items:center;gap:.5rem;padding-bottom:.3rem;font-size:.82rem;text-decoration:none;display:inline-flex}.booking-shell{background:#fff;border:1px solid #0000001f;border-radius:16px;width:min(1180px,100% - 48px);margin:64px auto 0;overflow:hidden;box-shadow:0 16px 40px #17181512}.booking-shell iframe{background:#fff;border:0;width:100%;height:760px;display:block}@media (width<=800px){.coffee-description{grid-column:1}.booking-shell{border-radius:12px;width:100%;margin:40px 0 0}.booking-shell iframe{height:760px}.shot-empty{min-height:190px}}.project-shot.shot-wide{width:min(1180px,92%);margin-left:auto;margin-right:auto}@media (width<=800px){.project-shot.shot-wide{width:100%}}.hero{grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr);gap:1.5vw}.hero-copy{z-index:2;position:relative}.hero h1{font-size:clamp(4.4rem,7.3vw,8rem);line-height:.88}.hero .portrait{justify-self:start;max-width:640px;margin-left:-1.5vw}.hero .portrait figcaption{left:7%}@media (width<=1100px){.hero{grid-template-columns:minmax(0,1.1fr) minmax(340px,.75fr);gap:1vw}.hero .portrait{margin-left:-2vw}}@media (width<=800px){.hero{grid-template-columns:1fr;gap:1rem}.hero .portrait{justify-self:start;width:min(94vw,520px);margin:-1rem auto 0 -4vw}.hero h1{font-size:clamp(3.8rem,17vw,6.2rem)}}.hero .portrait{max-width:590px;margin-left:-.5vw;margin-right:clamp(12px,2vw,36px)}.hero-intro{font-size:clamp(1.12rem,1.62vw,1.4rem);line-height:1.58}.current{padding-top:1.3rem;padding-bottom:1.3rem;font-size:.9rem;line-height:1.5}.current strong{font-size:.72rem}@media (width<=800px){.hero .portrait{width:min(88vw,480px);max-width:none;margin:0 auto 0 -2vw}.current{padding-top:1.15rem;padding-bottom:1.15rem;font-size:.86rem}}.mobile-booking-card{border:1px solid var(--line);background:#fff;border-radius:14px;gap:1rem;padding:1.4rem;display:none}.mobile-booking-card h3{margin:0 0 .5rem;font-family:Instrument Serif,Georgia,serif;font-size:1.75rem;font-weight:400}.mobile-booking-card p{color:var(--soft);margin:0;font-size:.9rem;line-height:1.55}.mobile-booking-card a{background:var(--ink);color:#fff;grid-column:1/-1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;text-decoration:none;display:flex}@media (width<=800px){.desktop-booking-link,.booking-shell{display:none}.mobile-booking-card{grid-template-columns:auto 1fr;margin-top:2.5rem;display:grid}.coffee-section{padding-bottom:clamp(72px,10vw,100px)}}
