@font-face{font-family:manrope;src:url(/fonts/Manrope-VariableFont_wght.woff2)format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:instrument serif;src:url(/fonts/InstrumentSerif-latin-normal.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:instrument serif;src:url(/fonts/InstrumentSerif-latin-ext-normal.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:instrument serif;font-style:italic;src:url(/fonts/InstrumentSerif-latin-italic.woff2)format("woff2");font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:instrument serif;font-style:italic;src:url(/fonts/InstrumentSerif-latin-ext-italic.woff2)format("woff2");font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--bg:#1b1b1b;--surface:#242424;--line:#3a3a3a;--text:#f0f0f0;--muted:#a9a9b3;--accent:#d1d0ea;--on-accent:#1b1b1b;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--sans:"Manrope", system-ui, sans-serif;--wrap:82rem;--gutter:clamp(1rem, 4vw, 3rem);--space:clamp(4rem, 11vw, 9rem);--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg:#f4f2ec;--surface:#ebe8df;--line:#cfcbc0;--text:#1b1b1b;--muted:#5d5a66;--accent:#442369;--on-accent:#ffffff;color-scheme:light}}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5rem}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:clamp(1rem,.95rem + .25vw,1.125rem);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:clip}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-color:color-mix(in srgb,var(--accent) 55%,transparent);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}a:hover{color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.02;letter-spacing:-.01em;text-wrap:balance;margin:0}p{margin:0 0 1rem}.wrap{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto}.muted{color:var(--muted)}.label,.kicker{font-family:var(--sans);font-size:.72rem;font-weight:700;line-height:1.3;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.kicker{color:var(--accent);margin:0 0 1rem}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:1rem;top:-3rem;padding:.5rem 1rem;background:var(--accent);color:var(--on-accent);z-index:10}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem 1.5rem;padding-block:1rem;flex-wrap:wrap}.brand{font-family:var(--serif);font-size:1.5rem;line-height:1;text-decoration:none}.brand:hover{color:var(--text)}.nav{display:flex;gap:clamp(.9rem,3vw,2.25rem);list-style:none;margin:0;padding:0}.nav a{text-decoration:none;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.nav a:hover,.nav a[aria-current]{color:var(--text)}.nav a[aria-current] .nav-num{color:var(--accent)}.nav-num{font-family:var(--serif);font-style:italic;font-size:1rem;letter-spacing:0;text-transform:none;margin-right:.1rem}.cover{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);padding-block:clamp(1.5rem,4vw,3rem)var(--space)}.cover-hello{grid-column:1/-1;grid-row:1;font-style:italic;font-size:clamp(6rem,1rem + 29vw,30rem);line-height:.8;letter-spacing:-.04em;margin:clamp(1.5rem,4vw,3rem)0 0 -.04em;position:relative;z-index:2;pointer-events:none;mix-blend-mode:difference;color:#f0f0f0}.cover-portrait{grid-column:8/-1;grid-row:1/span 2;margin:clamp(4rem,9vw,8rem)0 0;position:relative;z-index:1}.cover-portrait img{width:100%}figcaption{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--muted);margin-top:.6rem}.cover-intro{grid-column:1/7;grid-row:2;align-self:end;font-size:clamp(1.1rem,1rem + .6vw,1.4rem);line-height:1.55;margin-top:clamp(2rem,5vw,4rem)}.cover-intro .contact{margin-top:2rem}.contact{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;list-style:none;padding:0;margin:0;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.contact a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:.15rem}.contact a:hover{border-color:var(--accent)}@media(max-width:52rem){.cover-hello{font-size:clamp(5.5rem,30vw,12rem)}.cover-portrait{grid-column:4/-1;grid-row:2;margin-top:-2.5rem}.cover-intro{grid-column:1/-1;grid-row:3}}.contents{padding-bottom:var(--space)}.contents>.label{margin:0 0 1rem}.contents-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--text)}.contents-item{position:relative;display:grid;align-items:baseline;grid-template-columns:4rem minmax(0,1fr)minmax(0,1fr)2rem;gap:1rem 2rem;padding:clamp(1.25rem,3vw,2rem)0;border-bottom:1px solid var(--line);text-decoration:none}.contents-num{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--muted)}.contents-title{font-family:var(--serif);font-size:clamp(2.75rem,1.5rem + 5vw,6.5rem);line-height:.95;transition:transform .5s var(--ease),color .2s}.contents-text{color:var(--muted);font-size:.98rem;max-width:26rem}.contents-arrow{font-size:1.5rem;justify-self:end;transition:transform .4s var(--ease)}.contents-item:hover{color:var(--text)}.contents-item:hover .contents-title{transform:translateX(1rem);color:var(--accent)}.contents-item:hover .contents-arrow{transform:translateX(.5rem);color:var(--accent)}@media(max-width:52rem){.contents-item{grid-template-columns:2.5rem minmax(0,1fr);gap:.35rem 1rem}.contents-num{grid-row:1/3}.contents-title{grid-column:2}.contents-text{grid-column:2;font-size:.9rem}.contents-arrow{display:none}}.page{padding-bottom:var(--space)}.page-header{padding-block:clamp(2rem,6vw,5rem)clamp(2.5rem,6vw,5rem);border-bottom:1px solid var(--text);margin-bottom:clamp(2.5rem,6vw,5rem)}.page-kicker{display:flex;align-items:baseline;gap:1rem;margin:0 0 .5rem}.page-num{font-family:var(--serif);font-style:italic;font-size:clamp(2rem,1rem + 3vw,3.5rem);line-height:1;color:var(--accent)}.page-header h1{font-size:clamp(4rem,1rem + 14vw,15rem);line-height:.85;letter-spacing:-.035em;margin-left:-.04em}.lead{font-size:clamp(1.15rem,1rem + .6vw,1.45rem);max-width:40rem;margin:clamp(1.5rem,4vw,3rem)0 0 auto;color:var(--muted)}.page-meta{color:var(--muted);font-size:.95rem;margin:1.5rem 0 0}.doc .page-header h1{font-size:clamp(2.4rem,1.2rem + 4vw,5rem);line-height:1;letter-spacing:-.02em;max-width:60rem}.legal-page .page-header h1{font-size:clamp(3rem,1rem + 8vw,8rem);overflow-wrap:anywhere}.content{counter-reset:chapter}.content>h2{counter-increment:chapter;display:grid;grid-template-columns:4rem minmax(0,1fr);align-items:baseline;gap:1rem;font-size:clamp(2.5rem,1.5rem + 4vw,5.5rem);letter-spacing:-.02em;margin:var(--space)0 clamp(2rem,5vw,3.5rem);padding-top:1rem;border-top:1px solid var(--line)}.content>h2::before{content:counter(chapter,upper-alpha)".";font-size:1.5rem;font-style:italic;color:var(--accent)}.content>h2:first-child{margin-top:0}.content>p,.content>ul,.content>ol{max-width:42rem}.content>figure{margin:2rem 0}.content ul{padding-left:1.2rem}.content li{margin-bottom:.35rem}.content-narrow>*{max-width:46rem}@media(max-width:40rem){.content>h2{grid-template-columns:2.5rem minmax(0,1fr)}}.project{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);align-items:start;margin-block:clamp(3rem,8vw,7rem)}.project-media{grid-column:1/7;grid-row:1;margin-left:calc(-1 * var(--gutter))}.project-media img{width:100%}.project-body{grid-column:8/-1;grid-row:1;padding-top:clamp(0rem,3vw,3rem)}.project--flip .project-media{grid-column:7/-1;margin:0 calc(-1 * var(--gutter))0 0}.project--flip .project-body{grid-column:1/6}.project--text .project-body{grid-column:1/9}.project-title{font-size:clamp(2.2rem,1.4rem + 2.6vw,4rem);margin-bottom:.75rem}.project-meta{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--muted)}.project-body>p{max-width:36rem}.project-body>:last-child{margin-bottom:0}.project-body small{display:block;margin-top:1.25rem;font-size:.85rem}@media(min-width:88rem){.project-media{margin-left:calc((100vw - var(--wrap))/-2)}.project--flip .project-media{margin:0 calc((100vw - var(--wrap))/-2)0 0}}@media(max-width:48rem){.project .project-media,.project--flip .project-media{grid-column:1/-1;margin:0 calc(-1 * var(--gutter))1.5rem}.project .project-body,.project--flip .project-body{grid-column:1/-1;grid-row:2;padding:0}}.grid{display:grid;gap:clamp(2rem,4vw,3rem)var(--gutter);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));margin-block:clamp(2rem,5vw,4rem)}.grid--discography{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr))}.grid .project{display:block;margin:0;border-top:1px solid var(--line);padding-top:1rem}.grid .project-media,.grid .project--flip .project-media{margin:0 0 1rem}.grid .project-body{padding:0}.grid .project-title{font-size:clamp(1.6rem,1.3rem + 1vw,2.1rem);margin-bottom:.25rem}.grid .project-meta{font-size:1.05rem;margin-bottom:.5rem}.grid .buttons{margin-top:.75rem}.buttons{display:flex;flex-wrap:wrap;gap:.75rem 1.75rem;margin-top:1.75rem}.buttons p{display:contents}.buttons a{display:inline-flex;align-items:baseline;gap:.4rem;padding:.3rem 0;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid var(--line);transition:border-color .2s,color .2s}.buttons a::after{content:"↗";letter-spacing:0;transition:transform .3s var(--ease)}.buttons a[href^="/"]::after{content:"→"}.buttons a:first-child{color:var(--accent);border-color:var(--accent)}.buttons a:hover{border-color:var(--accent);color:var(--accent)}.buttons a:hover::after{transform:translate(2px,-2px)}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.5rem,1.5vw,1rem);align-items:start;margin-block:clamp(2.5rem,6vw,5rem)}.gallery img{width:100%}.gallery>img:nth-child(4n+1){grid-column:span 2;grid-row:span 2}.gallery>img:nth-child(4n+3){margin-top:35%}.gallery--2{grid-template-columns:3fr 2fr;align-items:start}.gallery--2>img:nth-child(2){width:82%;margin:18% 0 0 auto}.gallery--2>img:nth-child(4n+1){grid-column:auto;grid-row:auto}.gallery--3{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery--3>img:nth-child(4n+1){grid-column:auto;grid-row:auto}.gallery--3>img:nth-child(2){margin-top:18%}.gallery--3>img:nth-child(3){margin-top:36%}@media(max-width:40rem){.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery>img:nth-child(4n+3){margin-top:0}.gallery--2{grid-template-columns:3fr 2fr}.gallery--2>img:nth-child(2){width:100%}}.video{margin:0}.video-frame{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#000}.video-frame img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease),opacity .3s}.video-frame:hover img{transform:scale(1.04);opacity:.85}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-play{position:absolute;left:1rem;bottom:1rem;display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:50%;background:#f0f0f0;color:#1b1b1b;transition:transform .3s var(--ease),background-color .2s}.video-play svg{margin-left:3px}.video-frame:hover .video-play{transform:scale(1.1);background:#d1d0ea}.video-title{display:block;font-style:normal;font-size:1.3rem;line-height:1.2;color:var(--text)}.logo{margin:0 0 1.5rem}.logo img{height:clamp(2rem,4vw,2.75rem);width:auto}@media(prefers-color-scheme:light){.logo-light{filter:invert(1)}}.timeline{list-style:none;margin:0;padding:0}.timeline-item{display:grid;grid-template-columns:minmax(0,5fr)minmax(0,7fr);gap:.5rem var(--gutter);align-items:baseline;padding:clamp(1.5rem,3vw,2.5rem)0;border-top:1px solid var(--line)}.timeline-item:last-child{border-bottom:1px solid var(--line)}.timeline-years{font-family:var(--serif);font-style:italic;font-size:clamp(2.25rem,1.4rem + 3vw,4.5rem);line-height:1;color:var(--accent);margin:0}.timeline h3{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.4rem);margin-bottom:.5rem}.timeline p{margin:0}@media(max-width:40rem){.timeline-item{grid-template-columns:1fr}}.pdf object{width:100%;height:min(85vh,60rem);border:1px solid var(--line);background:var(--surface)}.legal>h2{display:block;counter-increment:none;font-size:clamp(1.6rem,1.3rem + 1vw,2.2rem);margin:3rem 0 1rem;padding-top:0;border:0}.legal>h2::before{content:none}.legal h3{font-size:1.4rem;margin-top:1.75rem}.legal address{font-style:normal;margin-bottom:1rem}.site-footer{border-top:1px solid var(--text);padding-block:clamp(3rem,7vw,6rem)2.5rem}.site-footer .label{margin:0 0 .5rem}.footer-mail{display:block;font-family:var(--serif);font-style:italic;font-size:clamp(1.6rem,.4rem + 5.6vw,6rem);line-height:1.05;letter-spacing:-.02em;text-decoration:none;overflow-wrap:anywhere;margin-bottom:clamp(2.5rem,6vw,5rem)}.footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1.25rem 2rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.95rem}.footer-inner p{margin:0}.footer-name{font-family:var(--serif);font-size:1.3rem}.footer-legal{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem;list-style:none;padding:0;margin:0}.duo-portrait{filter:url(#duo-portrait)}.duo-gold{filter:url(#duo-gold)}.duo-gold-lilac{filter:url(#duo-gold-lilac)}.duo-purple{filter:url(#duo-purple)}.duo-purple-grey{filter:url(#duo-purple-grey)}.duo-purple-lilac{filter:url(#duo-purple-lilac)}.duo-night{filter:url(#duo-night)}.duo-mono{filter:url(#duo-mono)}.duo-grey{filter:url(#duo-grey)}.duo-grey-lilac{filter:url(#duo-grey-lilac)}.duo-light{filter:url(#duo-light)}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}