:root{--ink:#12334a;--paper:#f4f0e5;--gold:#d9ad56;--line:#d6d6ca;--mist:#a9bdc5;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--gutter:clamp(24px,4.445vw,64px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.5}body>header,main,footer{max-width:1440px;margin:auto}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3,.logo{font-family:var(--serif);font-weight:400;line-height:1.05}h1{font-size:clamp(64px,7.5vw,108px)}h2{font-size:clamp(44px,4.445vw,64px)}h3,.logo{font-size:40px}.eyebrow{font-size:13px}.header{padding:64px var(--gutter)}.nav{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}nav{display:flex;gap:38px;font-size:14px;width:410px}nav a{padding:12px 0}nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;align-items:center;padding:16px 24px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font-size:14px;width:fit-content;transition:transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px);box-shadow:0 6px 18px #12334a20}.gold{background:var(--gold);color:var(--ink)}.menu{display:none}.hero{padding:40px var(--gutter) 72px;display:grid;grid-template-columns:668fr 572fr;gap:72px;align-items:center}.intro{display:flex;flex-direction:column;align-items:flex-start;gap:28px}.intro>p:not(.eyebrow){max-width:510px}.art{display:block;width:100%;height:auto}.work{padding:64px var(--gutter)}.section-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:40px;margin-bottom:40px;gap:24px}.text-link{font-size:14px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.project{display:flex;flex-direction:column;gap:16px;text-align:left;background:none;border:0;padding:0;min-width:0}.cover{position:relative;width:100%;aspect-ratio:640/409.6;background:var(--ink);color:var(--paper);overflow:hidden}.cover.gym{background:var(--gold);color:var(--ink)}.cover-art{position:absolute;inset:0;width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.7,.3,1)}.gym-mark{position:absolute;left:59.38%;top:41.46%;width:28.12%;height:auto}.cover small{position:absolute;left:24px;top:20px;font:12px var(--sans)}.cover-title{position:absolute;left:24px;top:60px;font:76px/.9 var(--serif)}.project-title{display:flex;width:100%;justify-content:space-between;align-items:center;gap:12px}.project-title span{font-size:30px}.project>p{font-size:13px}.project:hover .cover-art{transform:scale(1.025)}.summary{padding:64px var(--gutter) 80px;display:grid;grid-template-columns:220fr 1020fr;gap:72px}.summary>div{display:flex;flex-direction:column;gap:24px}.summary>div>p{max-width:680px}footer{background:var(--ink);color:var(--paper);padding:64px var(--gutter);display:flex;flex-direction:column;align-items:flex-start;gap:32px}footer .eyebrow{color:var(--gold)}.footer-bottom{width:100%;border-top:1px solid var(--mist);padding-top:32px;display:flex;align-items:center;justify-content:space-between;gap:24px}.social{display:flex;gap:24px;flex-wrap:wrap}.social button{border:0;background:none;padding:0;font-size:13px}.page-intro{padding:64px var(--gutter);display:flex;flex-direction:column;align-items:flex-start;gap:24px}.filters{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.filters button{border:0;background:none;font-size:14px;padding:16px 0}.filters button[aria-pressed=true]{border-radius:999px;background:var(--ink);color:var(--paper);padding:16px 24px}.bio{grid-template-columns:520fr 720fr;padding-top:64px;padding-bottom:80px}.process{padding:64px var(--gutter)}.process h2{border-top:1px solid var(--line);padding-top:32px;margin-bottom:32px}.process-row{display:grid;grid-template-columns:100fr 440fr 600fr;gap:40px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line)}.process-row>span{font-size:13px}.process-row h3{font-size:40px}.skip{position:absolute;top:-60px;background:var(--paper);padding:10px}.skip:focus{top:0}dialog{max-width:min(600px,calc(100% - 40px));padding:36px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}dialog::backdrop{background:#12334a88}dialog h2{font-size:48px;margin:24px 0}dialog p{max-width:48ch}.close{display:block;margin-left:auto;border:0;background:transparent;font-size:14px}[hidden]{display:none!important}main{animation:appear .5s ease-out}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:1000px){nav{width:auto}.hero{gap:36px}.cover-title{font-size:58px}.summary{gap:40px}.process-row{gap:24px}}
@media(max-width:700px){.header{padding:24px}.nav{flex-wrap:wrap;padding-bottom:20px}.menu{display:block;border:0;background:none;font-size:14px;padding:12px}.header-cta{display:none}nav{display:none;width:100%;padding-top:20px;justify-content:space-between}nav.open{display:flex}.hero,.bio{display:flex;flex-direction:column;padding:24px;gap:24px;align-items:stretch}.intro{gap:24px}.intro>h1{font-size:64px}.hero .tagline{display:none}.bio .art{max-height:460px;object-fit:contain}.work{padding:24px}.section-head{padding-top:32px;flex-wrap:wrap;gap:20px;margin-bottom:32px}.section-head h2{font-size:64px}.grid{grid-template-columns:1fr;gap:32px}.cover-title{font-size:46px}.cover small{font-size:9px}.summary{display:flex;flex-direction:column;gap:24px;padding:24px}.summary>p{border-top:1px solid var(--line);padding-top:24px}.summary h2{font-size:40px}.summary h2 br{display:none}footer{padding:24px}footer h2{font-size:64px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:16px}.social{gap:20px}.page-intro{padding:24px}.page-intro h1{font-size:64px}.process{padding:24px}.process-row{grid-template-columns:24px 1fr;gap:16px}.process-row p{grid-column:2}.process-row h3{font-size:36px}}
.nav{gap:32px;padding-bottom:20px}nav{width:auto;flex-shrink:0}.logo{font-size:clamp(26px,3vw,40px)}.about-page,.contact-page{padding:32px var(--gutter) 96px}.about-page{max-width:1020px;margin:auto;display:flex;flex-direction:column;gap:32px}.about-page h1,.contact-page h1{font-size:clamp(64px,7.5vw,108px)}.portrait{margin:8px 0 16px;width:100%;max-width:650px;aspect-ratio:5/4;background:var(--mist);border-radius:220px 220px 4px 4px;overflow:hidden}.portrait img{width:100%;height:100%;object-fit:cover}.portrait-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;text-align:center;padding:32px}.portrait-placeholder svg{width:64px;height:64px}.portrait-placeholder span{font-size:14px}.biography,.working{display:flex;flex-direction:column;gap:24px;max-width:740px}.working{margin-top:24px;border-top:1px solid var(--line);padding-top:40px}.contact-page{min-height:65vh;display:flex;flex-direction:column;align-items:flex-start;gap:32px}.contact-socials{display:flex;gap:24px;margin:16px 0}.network{width:76px;height:76px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--ink);transition:transform .25s}.network:hover:not(:disabled){transform:translateY(-4px)}.network svg{width:30px;height:30px}.network:disabled{opacity:.5;cursor:default}.email-block{border-top:1px solid var(--line);padding-top:32px;width:min(740px,100%)}.email-line{display:flex;align-items:center;gap:24px;margin-top:16px}.email-line>span{font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);overflow-wrap:anywhere;min-width:0}.copy-email{border:0;background:transparent;display:grid;place-items:center;width:48px;height:48px;flex-shrink:0}.copy-email svg{width:24px;height:24px}.copy-email:disabled{opacity:.4;cursor:default}.copy-status{font-size:14px;min-height:24px;margin-top:12px}.site-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding-top:40px;padding-bottom:40px}.site-footer p{font-size:13px}main:focus{outline:none}
@media(max-width:900px){.nav{flex-wrap:wrap}.menu{display:block;border:0;background:none;font-size:14px;padding:12px;margin-left:auto}.header-cta{display:none}nav{display:none;width:100%;padding-top:12px;justify-content:space-between;gap:16px}nav.open{display:flex}}
@media(max-width:700px){.about-page,.contact-page{padding:24px 24px 64px}.portrait{aspect-ratio:4/5}.about-page h2{font-size:44px}.site-footer{align-items:flex-start;flex-direction:column;gap:16px}.site-footer .logo{font-size:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
