:root{--bg:#f6f5f2;--text:#171717;--muted:#777;--line:#d8d6d0;--black:#111}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,"Helvetica Neue",sans-serif;font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.single-page{min-height:100vh}.site-sidebar{position:fixed;z-index:2;left:0;top:0;width:31%;height:100vh;padding:5.5vh 4vw 5vh 3vw}.identity{letter-spacing:.08em}.site-name{display:inline-block;font-size:clamp(25px,2.5vw,42px);font-weight:600;letter-spacing:.05em}.identity p{margin:8px 0 0;color:#a53c49;font-size:clamp(12px,1.2vw,18px);line-height:1.2;letter-spacing:.04em}.main-nav{position:absolute;right:4vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:flex-end;gap:12px;padding-right:0}.nav-trigger{border:0;background:none;cursor:pointer;font-size:clamp(20px,2.2vw,34px);line-height:1.1;text-align:right;padding:0;letter-spacing:-.03em}.nav-trigger::after{content:"▸";display:inline-block;margin-left:.35em;font-size:.65em;transform:translateY(-.08em);transition:transform .25s ease}.nav-trigger.is-active::after{content:"▾";transform:translateY(-.03em)}.nav-trigger:hover,.nav-trigger.is-active{color:var(--muted)}.collection-list{display:grid;grid-template-rows:0fr;opacity:0;overflow:hidden;transition:grid-template-rows .35s ease,opacity .35s ease;margin-right:0}.collection-list.is-open{grid-template-rows:1fr;opacity:1}.collection-list::before{content:"";min-height:0}.collection-list>*{min-height:0}.collection-list button{border:0;background:none;cursor:pointer;display:grid;grid-template-columns:28px minmax(120px,1fr);gap:10px;text-align:right;font-size:11px;letter-spacing:.06em;padding:4px 0}.collection-list button:hover,.collection-list button.is-active{color:var(--muted)}.email-link{font-size:27px;line-height:1;margin-top:20px}.site-stage{margin-left:31%;min-height:100vh;padding:11vh 3.5vw 7vh 2vw}.content-view{display:none}.content-view.is-visible{display:block}.home-view{min-height:82vh;display:flex;flex-direction:column;justify-content:center}.placeholder{background:var(--black);width:100%;min-height:220px}.placeholder-wide{aspect-ratio:1.8/1}.placeholder-tall{width:67%;aspect-ratio:1/1.25}.placeholder-medium{width:60%;aspect-ratio:1.25/1}.placeholder-small{width:38%;aspect-ratio:1/1.15}.stage-caption{font-size:11px;margin:12px 0 0;color:var(--muted);letter-spacing:.05em}.eyebrow{font-size:11px;letter-spacing:.08em;color:var(--muted);margin:0 0 28px}.about-content{max-width:900px;padding:8vh 0}.about-content h1{font-size:clamp(30px,4.5vw,72px);font-weight:400;line-height:1.05;max-width:980px;margin:14vh 0}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:8vw;max-width:700px;font-size:14px;line-height:1.6}.about-columns a,.detail-link{text-decoration:underline;text-underline-offset:4px}.selected-intro{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.06em;margin:3vh 0 12vh}.project-content{display:none}.project-content.is-visible{display:block}.project-content-heading{max-width:670px;margin-bottom:12vh}.project-content-heading h1{font-size:clamp(32px,5vw,78px);font-weight:400;line-height:1;margin:0 0 28px}.project-content-heading p:last-child{max-width:420px;font-size:14px;line-height:1.55}.project-grid{display:flex;flex-direction:column;gap:10vh}.project-grid-row{display:flex;align-items:center;justify-content:space-between;padding:0 10vw}.project-grid-row .placeholder-small{margin-top:7vh}.project-grid-row .placeholder-medium{margin-bottom:7vh}.detail-link{display:inline-block;font-size:11px;letter-spacing:.08em;margin-top:12vh}.project-nav,footer{display:none}@media(max-width:700px){.site-sidebar{position:relative;width:100%;height:auto;padding:7vw 6vw 4vw}.identity{display:flex;justify-content:space-between;align-items:flex-start}.site-name{font-size:26px}.identity p{text-align:right;font-size:11px;margin-top:0}.main-nav{position:static;transform:none;align-items:stretch;padding:15vh 0 3vh;gap:16px}.nav-trigger{text-align:left;font-size:29px}.nav-trigger::after{float:right}.collection-list{margin-left:0;margin-right:0}.collection-list button{text-align:left;grid-template-columns:28px 1fr;font-size:11px}.email-link{align-self:flex-end;margin-top:10px}.site-stage{margin-left:0;padding:0 6vw 12vw}.home-view{min-height:auto}.placeholder-wide{aspect-ratio:1.25/1}.placeholder-tall,.placeholder-medium,.placeholder-small{width:100%}.stage-caption{line-height:1.5}.selected-intro{display:block;line-height:1.8;margin:5vh 0 9vh}.selected-intro p{margin:0}.about-content{padding:5vh 0}.about-content h1{font-size:40px;margin:10vh 0}.about-columns{display:block}.about-columns p{margin-bottom:30px}.project-content-heading{margin-bottom:9vh}.project-content-heading h1{font-size:42px}.project-grid{gap:8vh}.project-grid-row{padding:0;display:block}.project-grid-row .placeholder{margin:0 0 8vh}.detail-link{margin-top:9vh}}
.main-nav{gap:42px}.collection-list.is-open{margin-top:-22px;margin-bottom:8px}@media(max-width:700px){.main-nav{gap:22px}.collection-list.is-open{margin-top:-10px;margin-bottom:8px}}
.content-view:not(.is-visible){display:none!important}.content-view.is-visible{display:block}.content-view.is-visible.home-view{display:flex}
.nav-section{display:block}.nav-section>summary{list-style:none}.nav-section>summary::-webkit-details-marker{display:none}.nav-section[open]>.nav-trigger::after{content:"▾";transform:translateY(-.03em)}.nav-section:not([open])>.nav-trigger::after{content:"▸"}.nav-section .collection-list{grid-template-rows:1fr;opacity:1;overflow:visible;transition:none;margin-top:-22px;margin-bottom:8px}.nav-section .collection-list::before{display:none}
.nav-section .collection-list{margin-top:6px;margin-bottom:26px}@media(max-width:700px){.nav-section .collection-list{margin-top:8px;margin-bottom:24px}}
.main-nav{top:30vh;transform:none}
@media(max-width:700px){.main-nav{top:auto;transform:none}}
.identity{width:100%;text-align:right}.about-section .nav-trigger::after{content:none!important}.nav-section .collection-list{margin-top:18px;margin-bottom:32px;row-gap:10px}.nav-section .collection-list button{padding-top:7px;padding-bottom:7px}@media(max-width:700px){.identity{text-align:left}.nav-section .collection-list{margin-top:14px;margin-bottom:28px;row-gap:7px}}
.nav-section .collection-list{max-height:0;opacity:0;transform:translateY(-6px);overflow:hidden;transition:max-height .26s ease,opacity .2s ease,transform .26s ease}.nav-section[open] .collection-list{max-height:240px;opacity:1;transform:translateY(0);overflow:visible}.nav-section.is-closing .collection-list{max-height:0;opacity:0;transform:translateY(-6px);overflow:hidden}.content-view.is-visible{animation:content-in .28s ease both}.project-content.is-visible{animation:content-in .28s ease both}@keyframes content-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.nav-section .collection-list,.content-view.is-visible,.project-content.is-visible{transition:none;animation:none}}
:root{--desktop-media-height:clamp(360px,52vh,520px)}@media(min-width:701px){.main-nav{top:11vh;min-height:var(--desktop-media-height);padding-top:calc(var(--desktop-media-height) * .34);justify-content:flex-start}.home-view{min-height:var(--desktop-media-height);justify-content:flex-start}.home-image{height:var(--desktop-media-height);aspect-ratio:auto}}
.site-sidebar{padding-top:11vh}@media(max-width:700px){.site-sidebar{padding-top:7vw}}
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-duration:.42s}.site-stage{view-transition-name:portfolio-stage}.nav-section .collection-list{transition:max-height var(--motion-duration) var(--motion-ease),opacity .3s ease,transform var(--motion-duration) var(--motion-ease)}.nav-section[open] .collection-list{transition:max-height var(--motion-duration) var(--motion-ease),opacity .34s ease,transform var(--motion-duration) var(--motion-ease)}.nav-section.is-closing .collection-list{transition:max-height var(--motion-duration) var(--motion-ease),opacity .28s ease,transform var(--motion-duration) var(--motion-ease)}.content-view.is-visible,.project-content.is-visible{animation:content-in var(--motion-duration) var(--motion-ease) both}@keyframes content-in{from{opacity:0;transform:translateY(12px) scale(.988)}to{opacity:1;transform:translateY(0) scale(1)}}::view-transition-old(portfolio-stage),::view-transition-new(portfolio-stage){animation-duration:var(--motion-duration);animation-timing-function:var(--motion-ease)}::view-transition-old(portfolio-stage){animation-name:stage-out}::view-transition-new(portfolio-stage){animation-name:stage-in}@keyframes stage-out{to{opacity:0;transform:translateY(-6px) scale(.996)}}@keyframes stage-in{from{opacity:0;transform:translateY(8px) scale(.996)}}@media(prefers-reduced-motion:reduce){.nav-section .collection-list,.nav-section[open] .collection-list,.nav-section.is-closing .collection-list{transition:none}.content-view.is-visible,.project-content.is-visible{animation:none}}
.project-grid{display:flex;flex-direction:column;gap:11vh}.project-figure{width:100%;margin:0 0 0 auto}.project-figure.figure-wide{width:88%}.project-figure.figure-tall{width:56%}.project-figure.figure-medium{width:66%}.project-figure.figure-small{width:43%}.project-figure .placeholder{width:100%;aspect-ratio:1.8/1}.project-figure.figure-tall .placeholder{aspect-ratio:1/1.25}.project-figure.figure-medium .placeholder{aspect-ratio:1.25/1}.project-figure.figure-small .placeholder{aspect-ratio:1/1.15}.project-figure figcaption{margin-top:8px;text-align:right;color:var(--muted);font-size:10px;line-height:1.4;letter-spacing:.04em}.about-content h1{font-size:clamp(24px,3.4vw,52px)}@media(max-width:700px){.project-grid{gap:8vh}.project-figure,.project-figure.figure-wide,.project-figure.figure-tall,.project-figure.figure-medium,.project-figure.figure-small{width:100%}.about-content h1{font-size:32px}}
.selected-view.project-active .selected-intro{display:none}
.home-view .home-image{display:block;width:100%;height:auto;object-fit:contain;object-position:right center}
.project-figure img{display:block;width:100%;height:auto}
@media(min-width:701px){.home-view .home-image{height:var(--desktop-media-height);object-fit:contain;object-position:right center}}
@media(min-width:701px){html,body{overscroll-behavior-y:none;overscroll-behavior-x:none}}
@media(min-width:701px){.main-nav{top:11vh;min-height:0;padding-top:0}.home-view{min-height:auto}.home-view .home-image{height:auto;max-height:none;width:100%;object-fit:contain;object-position:top right}}
@media(min-width:701px){.main-nav{top:11vh;min-height:var(--desktop-media-height);padding-top:calc(var(--desktop-media-height) * .34);justify-content:flex-start}}
@media(min-width:701px){.project-content-heading{width:88%;max-width:none;margin-left:auto;text-align:right}.project-content-heading h1{white-space:nowrap}.project-content-heading p:last-child{margin-left:auto}}
@media(max-width:700px){.project-content-heading{text-align:right}.project-content-heading h1{font-size:clamp(22px,7vw,42px);white-space:nowrap}}
@media(min-width:1100px){.project-content-heading p:last-child{max-width:none;white-space:nowrap}}
