:root{--color-bg:#f5f4f0;--color-surface:#fff;--color-text:#111;--color-muted:#6c6963;--color-line:#d8d5ce;--color-dark:#121212;--color-dark-text:#f3f1ec;--font-sans:"Century Gothic", "Avenir Next", Futura, "Helvetica Neue", Arial, sans-serif;--font-serif:Georgia, "Times New Roman", serif;--space-1:.35rem;--space-2:.65rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;--space-6:3.5rem;--space-7:5.5rem;--space-8:8rem;--page-padding:clamp(1.25rem, 4vw, 3.75rem);--content-width:77.5rem;--reading-width:48rem;--transition:.16s ease;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-bg);min-width:0;color:var(--color-text);margin:0;font-size:1rem;line-height:1.55}body.theme-dark{--color-bg:#121212;--color-surface:#191919;--color-text:#f3f1ec;--color-muted:#aaa69e;--color-line:#3e3d39}button,input,textarea,select{font:inherit}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a,button{transition:color var(--transition), border-color var(--transition), opacity var(--transition)}a:hover{color:var(--color-muted)}:focus-visible{outline-offset:4px;outline:2px solid}[hidden]{display:none!important}img{object-fit:contain;max-width:100%;height:auto;display:block}figure,h1,h2,h3,p,ul,dl{margin-top:0}h1,h2,h3{font-weight:400;line-height:1.08}h1{letter-spacing:-.045em;margin-bottom:0;font-size:clamp(2.5rem,6vw,5.5rem)}h2{letter-spacing:-.035em;margin-bottom:0;font-size:clamp(1.8rem,3.5vw,3.1rem)}h3{letter-spacing:-.02em;font-size:clamp(1.2rem,2vw,1.65rem)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;top:var(--space-3);left:var(--page-padding);color:var(--color-bg);background:var(--color-text);padding:.6rem .85rem;position:fixed;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;border-bottom:1px solid color-mix(in srgb, var(--color-line) 78%, transparent);background:color-mix(in srgb, var(--color-bg) 96%, transparent);position:sticky;top:0}.site-header__inner,main,.site-footer{width:min(100%, calc(var(--content-width) + (var(--page-padding) * 2)));padding-inline:var(--page-padding);margin-inline:auto}.site-header__inner{padding-block:1.1rem 1rem}.site-name{letter-spacing:-.055em;margin-bottom:.7rem;font-size:clamp(2.15rem,4.4vw,4.1rem);font-weight:400;line-height:.92;text-decoration:none;display:inline-block}.primary-nav{flex-wrap:wrap;gap:.35rem clamp(1.1rem,2.6vw,2.4rem);margin:0;padding:0;list-style:none;display:flex}.primary-nav a{border-bottom:1px solid #0000;font-size:.9rem;text-decoration:none;display:inline-block}.primary-nav a[aria-current=page]{border-bottom-color:currentColor}main{min-height:62vh;padding-top:clamp(3.5rem,7vw,7.25rem);padding-bottom:var(--space-8)}.site-footer{padding-top:var(--space-4);padding-bottom:var(--space-5);border-top:1px solid var(--color-line);color:var(--color-muted)}.site-footer small{font-size:.75rem}.eyebrow{margin-bottom:var(--space-2);color:var(--color-muted);font-size:.75rem;line-height:1.3}.page-heading{margin-bottom:clamp(3.5rem,8vw,7rem)}.page-heading--with-tools{justify-content:space-between;align-items:flex-end;gap:var(--space-4);display:flex}.work-count{color:var(--color-muted);margin-bottom:.3rem;font-size:.8rem}.section-block{margin-top:clamp(6.5rem,13vw,11rem)}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);border-bottom:1px solid var(--color-line);margin-bottom:clamp(2rem,5vw,4.25rem);padding-bottom:.9rem;display:flex}.text-link{font-size:.84rem;display:inline-block}.home-hero{width:min(86%,66rem);margin-inline:auto}.home-hero a{display:block}.home-hero__image{width:100%}.artwork-caption{justify-content:space-between;gap:var(--space-3);margin:var(--space-2) 0 0;color:var(--color-muted);font-size:.78rem;line-height:1.4;display:flex}.artwork-caption--hero{color:var(--color-text)}.home-introduction{max-width:56rem;margin-left:clamp(0rem,9vw,8rem)}.home-introduction>p{margin-bottom:var(--space-4);font-family:var(--font-serif);font-size:clamp(1.45rem,2.6vw,2.15rem);line-height:1.5}.artwork-grid,.project-gallery,.film-gallery{margin-bottom:0;padding:0;list-style:none}.artwork-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(3.75rem,7vw,7.5rem) clamp(1.5rem,3vw,3rem);display:grid}.artwork-grid--selected{row-gap:clamp(3.5rem,6vw,6rem)}.artwork-card figure{margin:0}.artwork-card__image-link{text-decoration:none;display:block}.artwork-card__image-link:hover{opacity:.84}.artwork-card img{width:100%}.filters{gap:.35rem var(--space-4);border-bottom:1px solid var(--color-line);flex-wrap:wrap;margin-bottom:clamp(3rem,6vw,5.5rem);padding-bottom:.9rem;display:flex}.filters button{appearance:none;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;padding:.25rem 0;font-size:.84rem}.filters button:hover,.filters button[aria-pressed=true]{color:var(--color-text);border-bottom-color:currentColor}.filters button span{color:var(--color-muted);font-variant-numeric:tabular-nums;margin-left:.22rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2.25rem,4vw,4rem);display:grid}.project-card a,.project-index-entry a{text-decoration:none;display:block}.project-card img,.project-index-entry img{width:100%;margin-bottom:var(--space-3)}.project-card h3,.project-index-entry h2{margin-bottom:0}.projects-index{gap:clamp(5rem,11vw,10rem);display:grid}.project-index-entry{width:min(100%,61rem)}.project-index-entry:nth-child(2n){margin-left:auto}.project-index-entry h2{font-size:clamp(1.7rem,3.5vw,3rem)}.back-link{margin-bottom:clamp(3rem,7vw,6.5rem);font-size:.82rem;display:inline-block}.artwork-detail__heading,.project-detail__heading{margin-bottom:clamp(2.5rem,6vw,5rem)}.artwork-detail__heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.artwork-detail__heading h1{font-size:clamp(2.1rem,5vw,4.75rem)}.artwork-detail__heading p{color:var(--color-muted);margin-bottom:0;font-size:.86rem}.artwork-detail__figure{margin:0 auto}.artwork-detail__figure--landscape{width:min(100%,72.5rem)}.artwork-detail__figure--portrait{width:min(100%,47.5rem)}.artwork-detail__figure--square{width:min(100%,55rem)}.artwork-detail__figure img{width:auto;max-width:100%;max-height:76vh;margin-inline:auto}.artwork-metadata{max-width:46rem;margin-top:var(--space-4);font-size:.82rem}.artwork-metadata dl{gap:var(--space-2) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0;display:grid}.artwork-metadata dl>div{gap:var(--space-3);grid-template-columns:6.25rem 1fr;display:grid}.artwork-metadata dt{color:var(--color-muted)}.artwork-metadata dd,.cv-list dd{margin:0}.work-navigation{gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:clamp(6rem,13vw,11rem);display:grid}.work-navigation a{gap:var(--space-1);flex-direction:column;text-decoration:none;display:inline-flex}.work-navigation .eyebrow{margin:0}.work-navigation__next{text-align:right}.work-navigation__next a{align-items:flex-end}.project-description{margin-bottom:clamp(5.5rem,11vw,10rem)}.prose{max-width:var(--reading-width)}.prose p{margin-bottom:1.45em;font-size:clamp(1.05rem,1.6vw,1.16rem);line-height:1.72}.prose--serif p{font-family:var(--font-serif);font-size:clamp(1.16rem,2vw,1.35rem);line-height:1.72}.project-gallery--bobo{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:clamp(2.5rem,5vw,5.5rem) clamp(1.5rem,3vw,3rem);display:grid}.project-gallery__wide{grid-column:1/-1}.project-gallery img,.film-gallery img{width:100%}.project-detail--film .project-detail__heading{margin-bottom:clamp(4rem,9vw,8rem)}.film-gallery{gap:clamp(5rem,11vw,10rem);display:grid}.film-gallery li{width:100%}.text-page,.cv-page,.contact-page{max-width:var(--reading-width)}.cv-page{max-width:59rem}.cv-section{border-top:1px solid var(--color-line);padding-block:clamp(2.25rem,4vw,3.5rem)}.cv-section h2{margin-bottom:var(--space-5);font-size:clamp(1.35rem,2.25vw,1.9rem)}.cv-section>p{margin-bottom:0}.cv-list{gap:var(--space-3);margin-bottom:0;display:grid}.cv-list>div{gap:var(--space-4);grid-template-columns:5rem 1fr;display:grid}.cv-list dt{color:var(--color-muted)}.contact-list{gap:var(--space-5);font-size:clamp(1.25rem,3vw,2rem);font-style:normal;display:grid}.contact-list>div{gap:var(--space-1);display:grid}.contact-list .eyebrow{margin:0}.not-found{max-width:42rem;padding-block:clamp(2rem,8vw,7rem)}.not-found h1{margin-bottom:var(--space-4)}.not-found>p:not(.eyebrow){margin-bottom:var(--space-5);color:var(--color-muted);font-family:var(--font-serif);font-size:1.2rem}@media (width<=1099px){.artwork-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{width:min(94%,52rem)}.artwork-metadata dl{grid-template-columns:1fr}}@media (width<=699px){:root{--page-padding:1.25rem;--space-8:6rem}html{scroll-behavior:auto}.site-header__inner{padding-block:.9rem .75rem}.site-name{margin-bottom:.55rem;font-size:clamp(1.8rem,9vw,2.125rem)}.primary-nav{gap:.25rem 1.15rem;max-width:16.5rem}.primary-nav a{font-size:.85rem}main{padding-top:3.25rem}.page-heading--with-tools,.section-heading,.artwork-detail__heading{flex-direction:column;align-items:flex-start}.section-heading{gap:var(--space-2)}.work-count,.artwork-detail__heading p{margin:0}.home-hero{width:100%}.home-introduction{margin-left:0}.artwork-grid,.project-grid,.project-gallery--bobo{grid-template-columns:1fr}.project-gallery__wide{grid-column:auto}.artwork-grid{gap:4.5rem}.filters{gap:.35rem .85rem}.artwork-metadata dl>div{grid-template-columns:5.5rem 1fr}.work-navigation{gap:var(--space-3)}.cv-list>div{grid-template-columns:1fr;gap:.15rem}.cv-list dt{font-size:.78rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{:root{--color-bg:#fff;--color-text:#000;--color-muted:#333;--color-line:#b8b8b8}.site-header,.site-footer,.skip-link{display:none}main{width:auto;max-width:none;padding:0}.page-heading{margin-bottom:2rem}.cv-section{break-inside:avoid;padding-block:1.25rem}.cv-list>div{grid-template-columns:4rem 1fr}}
