:root{--paper:#f7f1e8;--ink:#322d26;--muted:#665b50;--accent:#ac3025;--border:#d9cec3;--gutter:clamp(1.25rem,5vw,5rem);color-scheme:light;scrollbar-color:var(--ink) var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:1rem;line-height:1.65}::selection{background:#e6bea6;color:var(--ink)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:var(--accent)}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-.035em;line-height:1.05;text-wrap:balance}h1{font-size:clamp(3rem,6.4vw,6rem)}h2{font-size:clamp(2.25rem,4vw,4rem)}h3{font-size:1.2rem;font-weight:500;letter-spacing:-.02em;line-height:1.4}p{max-width:68ch}p+p{margin-top:1.1rem}.wrap{width:100%;max-width:1440px;margin-inline:auto;padding-inline:var(--gutter)}.skip-link{position:absolute;left:1rem;top:-10rem;background:var(--paper);padding:.7rem;z-index:10}.skip-link:focus{top:1rem}
.site-header{display:flex;align-items:center;justify-content:space-between;padding-block:1.75rem;border-bottom:1px solid var(--border);gap:2rem}.brand{display:block;width:158px;flex-shrink:0}.brand img{width:100%}nav{display:flex;align-items:center;gap:2.4rem}nav a{display:flex;gap:.5rem;align-items:center;text-decoration:none;font-size:.95rem}nav a[aria-current]{text-decoration:underline}nav svg{width:18px}.menu-toggle{border:0;background:none;color:var(--ink);padding:.6rem}
.cover{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:5vw;padding-block:4.75rem 5rem}.cover-text h1{max-width:9ch}.cover-text p{margin-top:1.75rem;max-width:30ch;color:var(--muted);font-size:1.1rem}.text-link{display:inline-flex;align-items:center;gap:1rem;font-size:.95rem;text-decoration:none;border-bottom:1px solid;padding-bottom:.45rem}.cover-text .text-link{margin-top:2rem}.cover-photo{display:block;position:relative;overflow:hidden;text-decoration:none}.cover-photo img{width:100%;max-height:620px;aspect-ratio:4/5;object-fit:cover;object-position:center 48%;transition:clip-path .24s cubic-bezier(.16,1,.3,1);clip-path:inset(0)}.cover-photo:hover img{clip-path:inset(1%)}.cover-photo span{display:block;margin-top:.85rem;font-size:.85rem;color:var(--muted)}
.work-section{padding-block:3rem 6rem}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.empty-work{padding-block:3rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:100%}.empty-work p{color:var(--muted);max-width:44ch}.empty-work h2{font-size:2rem;margin-bottom:1rem}.empty-work a{display:inline-block;margin-top:1rem}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem 2.5rem;align-items:start}.project-tile:nth-child(even){margin-top:4rem}.project-tile a{text-decoration:none}.project-tile img{width:100%;aspect-ratio:4/5;object-fit:cover}.project-tile:nth-child(3n) img{aspect-ratio:4/3}.project-caption{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:1rem}.project-caption span{font-size:.85rem;color:var(--muted)}
.hello-section{background:#e9d5c6;padding-block:4.5rem}.hello-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}.contact-button{display:inline-flex;align-items:center;gap:2.5rem;padding:1rem 1.5rem;background:var(--accent);color:#fff;text-decoration:none}.contact-button:hover{background:var(--ink);color:white}.site-footer{display:flex;gap:2rem;align-items:center;padding-block:2.5rem;color:var(--muted);font-size:.85rem}.footer-name{font-size:1rem;color:var(--ink);text-decoration:none;margin-right:auto}
.page-intro{padding-block:5rem 3rem}.page-intro p{margin-top:1.5rem;color:var(--muted)}.page-intro a{margin-top:2rem}.portfolio-section{padding-bottom:6rem;min-height:40vh}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding-block:5rem}.about-copy h1{margin-bottom:2rem}.about-copy p{color:var(--muted)}.about-copy a{margin-top:2rem}.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover}.second-portrait{padding-bottom:5rem;display:flex;justify-content:center}.second-portrait img{max-width:660px;max-height:800px;object-fit:contain}.contact-page{padding-block:6rem 2rem;min-height:65vh}.contact-page p{margin-top:2rem;color:var(--muted)}.email-link{display:flex;align-items:center;gap:1.5rem;width:fit-content;font-size:clamp(1.1rem,3.3vw,2.9rem);margin-top:2rem;overflow-wrap:anywhere}.contact-page>.text-link{margin-top:2rem}.contact-mark{margin-top:5rem;opacity:.16;max-width:850px}.contact-mark img{width:100%}.project-detail{padding-block:3rem 5rem}.back-link{font-size:.9rem}.project-intro{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-block:3rem}.project-intro p{color:var(--muted)}.project-intro span{font-size:.85rem;display:block;margin-top:1rem}.project-photos{display:grid;gap:3rem;margin-bottom:3rem}.project-photos img{max-height:1100px;object-fit:contain;margin-inline:auto}.project-photos figcaption{margin-top:.75rem;font-size:.85rem;color:var(--muted)}
@media(max-width:700px){.site-header{padding-block:1rem;flex-wrap:wrap;gap:.75rem}.brand{width:126px}nav{gap:1.2rem;width:100%;justify-content:space-between}nav a{font-size:.85rem}body.js .menu-toggle{display:block}body.js nav{display:none}body.js nav.is-open{display:flex}.cover{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}.cover-text h1{max-width:12ch}.cover-photo img{max-height:530px;aspect-ratio:4/5}.cover-text p{max-width:40ch}.work-section{padding-block:1rem 3rem}.section-heading{align-items:start}.section-heading .text-link{font-size:.8rem;white-space:nowrap}.project-grid{grid-template-columns:1fr;gap:2.5rem}.project-tile:nth-child(even){margin-top:0}.project-caption{flex-wrap:wrap;gap:.2rem}.hello-section{padding-block:3rem}.hello-inner{align-items:start;flex-direction:column}.about-layout,.project-intro{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}.about-copy h1{margin-bottom:1.5rem}.page-intro{padding-block:3rem 2rem}.contact-page{padding-block:3rem 2rem}.site-footer{gap:1rem;font-size:.8rem}.site-footer .footer-name{font-size:.9rem}.project-intro{padding:0;margin-block:2rem}.project-photos{gap:2rem}.email-link svg{width:20px}}
.menu-toggle{display:none}
@media(max-width:700px){body.js .menu-toggle:not([hidden]){display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cover-photo img{transition:none}}
