:root{--bg: #f7f7f4;--paper: #ffffff;--ink: #171717;--muted: #6d6a64;--line: #d8d6cf;--soft: #ecece7;--accent: #78433a;--accent-2: #49675a;--gutter: clamp(18px, 3vw, 44px);--measure: 68ch;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);scroll-behavior:smooth}body{margin:0;min-width:320px;font-size:16px;line-height:1.55;letter-spacing:0}img{display:block;max-width:100%;height:auto;background:var(--soft)}a{color:inherit;text-decoration-thickness:.06em;text-underline-offset:.22em}a:hover,a:focus-visible{color:var(--accent)}button,input,textarea{font:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip-link{position:fixed;left:1rem;top:1rem;z-index:100;transform:translateY(-160%);background:var(--ink);color:var(--paper);padding:.55rem .7rem}.skip-link:focus{transform:translateY(0)}.site-shell{min-height:100vh}.topbar{position:relative;width:100%;padding:20px var(--gutter);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 94%,white)}.topbar-nav{display:flex;align-items:center;justify-content:space-between;gap:32px;width:min(100%,1460px)}.topbar-group{display:flex;align-items:center;gap:clamp(16px,2.2vw,30px)}.topbar-nav a{color:var(--muted);font-size:.86rem;line-height:1.25;text-decoration:none}.topbar-nav .brand{color:var(--ink);font-size:.96rem;font-weight:520;white-space:nowrap}.topbar-nav a[aria-current=page]{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em}.page{padding:24px var(--gutter) 72px}.page-inner{width:min(100%,1460px)}.page-header{display:grid;gap:12px;margin-bottom:clamp(28px,5vw,66px)}.page-header.compact{gap:6px;margin-bottom:clamp(16px,2.4vw,28px)}.page-title{color:var(--muted);font-size:.78rem;font-weight:520;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.intro-line{color:var(--muted);font-size:.95rem}.eyebrow{color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{margin:0;font-weight:460;line-height:1.08}h1{max-width:980px;font-size:clamp(2.2rem,7vw,6.8rem)}h2{font-size:clamp(1.6rem,3.6vw,3.2rem)}h3{font-size:1.02rem}p{margin:0}.lede{max-width:var(--measure);color:var(--muted);font-size:clamp(1rem,1.4vw,1.22rem)}.section{margin-block:clamp(34px,6vw,82px)}.work-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter-button,.tag-chip{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-size:.84rem;line-height:1;padding:8px 10px;text-decoration:none;text-transform:lowercase}.filter-button[aria-pressed=true],.tag-chip:hover,.tag-chip:focus-visible{border-color:var(--ink);color:var(--ink)}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,56px) clamp(18px,2.4vw,32px)}.work-card{display:grid;gap:10px;color:var(--ink);text-decoration:none}.work-card figure{margin:0}.work-card img{width:100%;height:auto;object-fit:contain}.work-card:focus-visible img,.work-card:hover img{filter:contrast(.96) brightness(1.02)}.work-card-meta{display:grid;gap:3px}.work-card-title{display:flex;justify-content:space-between;gap:16px;font-size:.86rem;line-height:1.25}.work-card-title strong{font-weight:520}.work-card-year,.work-card-medium{color:var(--muted);font-size:.76rem;line-height:1.35}.work-card-medium{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.work-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.work-card-tags span{color:var(--accent-2);font-size:.74rem}.work-card[hidden]{display:none}.work-detail{max-width:1180px}.work-detail-header{display:grid;gap:8px;margin-bottom:clamp(18px,3vw,36px)}.work-detail-title{max-width:760px;font-size:clamp(1.35rem,2.4vw,2.2rem);font-weight:500;line-height:1.12}.work-detail-meta{display:flex;flex-wrap:wrap;gap:4px 14px;max-width:880px;color:var(--muted);font-size:.84rem;line-height:1.4}.staggered-flow{display:grid;gap:clamp(52px,8vw,118px);margin-top:clamp(20px,4vw,46px)}.staggered-figure{--figure-width: 58%;display:flex;flex-direction:column;align-items:flex-start;width:var(--figure-width);max-width:100%;margin:0}.staggered-figure img{width:auto;max-width:100%;max-height:72vh;height:auto;object-fit:contain}.figure--right{margin-left:auto;margin-right:clamp(0px,3vw,46px)}.figure--left{margin-left:clamp(0px,2vw,28px)}.figure--center{margin-inline:auto}.figure--small{--figure-width: 45%}.figure--medium{--figure-width: 56%}.figure--large{--figure-width: 66%}.figure--wide{--figure-width: 72%}.project-series{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:1.25rem;width:min(calc(100vw - 5rem),calc(1920px - 5rem));max-width:none}.project-series-flow{grid-column:1 / 10;display:grid;gap:clamp(72px,9vw,132px)}.project-sequence-item{display:grid;gap:18px;width:100%}.project-series .work-detail-title{max-width:860px;font-size:clamp(1rem,1.35vw,1.3rem);font-weight:500;line-height:1.28}.project-sequence-intro{display:grid;gap:12px;width:min(100%,var(--measure))}.project-sequence-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.work-detail-year,.project-sequence-caption{color:var(--muted);font-size:.76rem;line-height:1.4}.work-detail-year{flex:0 0 auto}.project-sequence-caption{display:grid;gap:2px}.project-statement{width:min(100%,var(--measure));color:var(--muted);font-size:.9rem;line-height:1.62}.project-statement p{margin:0 0 1.15rem}.project-statement p:last-child{margin-bottom:0}.project-series>.work-nav{grid-column:1 / 10}.series-figure{display:flex;flex-direction:column;align-items:flex-start;width:100%;margin:0}.series-figure img{width:100%;max-width:none;max-height:none;height:auto;object-fit:contain}.series-figure--right{margin-left:auto}.series-figure--left{margin-left:0}.series-figure--center{margin-inline:auto}.series-figure--small,.series-figure--detail,.series-figure--medium,.series-figure--large,.series-figure--wide{width:100%}.series-pair{display:grid;width:100%;margin:0}.series-pair--right{margin-left:auto}.series-pair--left{margin-left:0}.series-pair--center{margin-inline:auto}.series-pair--small,.series-pair--detail,.series-pair--medium,.series-pair--large,.series-pair--wide{width:100%}.series-pair{grid-template-columns:1fr;gap:clamp(48px,7vw,82px);align-items:start}.series-pair+.series-pair{margin-top:clamp(8px,1.2vw,14px)}.series-pair-item{display:flex;flex-direction:column;align-items:flex-start;margin:0}.series-pair-item img{width:100%;max-width:none;max-height:none;height:auto;object-fit:contain}.series-carousel{width:100%;margin:0}.series-carousel--right{margin-left:auto}.series-carousel--left{margin-left:0}.series-carousel--center{margin-inline:auto}.series-carousel--small,.series-carousel--detail,.series-carousel--medium,.series-carousel--large,.series-carousel--wide{width:100%}.series-carousel-viewport{display:flex;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:thin}.series-carousel-slide{flex:0 0 100%;scroll-snap-align:start}.series-carousel-slide img{width:100%;max-width:none;max-height:none;height:auto;object-fit:contain}.series-carousel-controls{display:flex;align-items:center;gap:10px;margin-top:8px;color:var(--muted);font-size:.72rem}.series-carousel-controls button{border:0;border-bottom:1px solid currentColor;background:transparent;color:inherit;cursor:pointer;font-size:inherit;line-height:1.2;padding:0}.series-carousel-controls span{color:color-mix(in srgb,var(--muted) 74%,transparent)}.statement{max-width:var(--measure)}.statement h2{margin-bottom:14px;color:var(--muted);font-size:.78rem;font-weight:500;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}.statement p,.prose p{margin:0 0 1.15rem;line-height:1.62}.statement p:last-child,.prose p:last-child{margin-bottom:0}.staggered-figure figcaption,.subwork figcaption,.series-figure figcaption,.series-pair-item figcaption,.series-carousel-caption,.series-carousel-slide-caption{width:100%;display:grid;gap:2px;margin-top:7px;color:var(--muted);font-size:.76rem;line-height:1.4;text-align:left}.subworks{max-width:100%}.subworks h2{margin-bottom:18px;color:var(--muted);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.subworks-list{display:grid;gap:clamp(52px,8vw,118px)}.work-nav{display:flex;flex-wrap:wrap;gap:18px;border-top:1px solid var(--line);padding-top:16px}.work-nav a{display:grid;gap:2px;min-width:min(240px,100%);text-decoration:none}.work-nav span{color:var(--muted);font-size:.74rem}.work-nav strong{font-size:.86rem;font-weight:520}.timeline{display:grid;border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:90px minmax(180px,1fr) minmax(180px,.9fr) minmax(150px,.8fr);gap:18px;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none}.timeline-row span{color:var(--muted)}.timeline-tags{display:flex;flex-wrap:wrap;gap:6px;color:var(--accent-2);font-size:.78rem}.text-page{max-width:920px}.text-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,72px)}.portrait{width:100%;aspect-ratio:4 / 5;object-fit:cover}.cv-section{display:grid;gap:12px;border-top:1px solid var(--line);padding-block:22px}.cv-section ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.fragments-empty{max-width:680px;border-top:1px solid var(--line);color:var(--muted);padding-top:18px}.fragments-list{display:grid;gap:clamp(28px,5vw,52px);max-width:760px}.fragment-item{display:grid;gap:8px;margin:0}.fragment-media{width:min(100%,680px)}.fragment-media img,.fragment-media video{display:block;width:100%;height:auto;background:var(--paper)}.fragment-caption{display:grid;gap:2px;color:var(--muted);font-size:.78rem;line-height:1.4}.info-list{display:grid;max-width:760px;border-top:1px solid var(--line)}.info-section{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);gap:22px;border-bottom:1px solid var(--line);padding:20px 0}.info-section h2{font-size:1rem;line-height:1.35}.info-section p{color:var(--muted)}.contact-list{display:grid;max-width:620px;border-top:1px solid var(--line)}.contact-list div{display:grid;grid-template-columns:120px 1fr;gap:22px;border-bottom:1px solid var(--line);padding:18px 0}.contact-list span,.contact-list p,.contact-list a{color:var(--muted)}@media(max-width:1060px){.works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-hero,.text-grid{grid-template-columns:1fr}}@media(max-width:900px){.project-series{display:block;width:100%}}@media(max-width:760px){.topbar{padding:14px 16px 12px}.topbar-nav{align-items:flex-start;flex-wrap:wrap;gap:10px 20px}.topbar-group{flex-wrap:wrap;gap:8px 16px}.topbar-group--secondary{margin-left:auto}.page{padding:28px 16px 58px}.works-grid,.gallery{grid-template-columns:1fr}.staggered-flow,.subworks-list{gap:34px}.project-series{width:100%}.project-series-flow{gap:52px}.project-sequence-item{gap:14px}.staggered-figure,.figure--right,.figure--left,.figure--center,.figure--small,.figure--medium,.figure--large,.figure--wide,.series-figure,.series-figure--right,.series-figure--left,.series-figure--center,.series-figure--detail,.series-figure--small,.series-figure--medium,.series-figure--large,.series-figure--wide,.series-pair,.series-pair--right,.series-pair--left,.series-pair--center,.series-pair--detail,.series-pair--small,.series-pair--medium,.series-pair--large,.series-pair--wide,.series-carousel,.series-carousel--right,.series-carousel--left,.series-carousel--center,.series-carousel--detail,.series-carousel--small,.series-carousel--medium,.series-carousel--large,.series-carousel--wide{width:100%;margin-inline:0}.series-pair{grid-template-columns:1fr;gap:14px}.series-pair+.series-pair{margin-top:0}.staggered-figure img{width:auto;max-width:100%;max-height:none}.series-figure img,.series-pair-item img,.series-carousel-slide img{width:100%;max-width:100%;max-height:none}.work-card{gap:9px}.work-card img{aspect-ratio:auto}.timeline-row{grid-template-columns:60px 1fr;gap:5px 14px}.timeline-row .timeline-medium,.timeline-row .timeline-tags{grid-column:2}.info-section,.contact-list div{grid-template-columns:1fr;gap:4px}}@media(max-width:420px){.topbar-nav{display:grid}.topbar-group--secondary{margin-left:0}.work-card-title{display:grid;gap:1px}}
