:root{--paper:#f3f1ea;--sage-paper:#e5e9e2;--ink:#0b0d0e;--navy:#172a3a;--green:#263f34;--muted:#5d625f;--line:rgba(11,13,14,.18);--accent:var(--green);--serif:"Newsreader",Georgia,serif;--sans:"Manrope",Arial,sans-serif;--mono:"DM Mono",monospace;--sidebar:clamp(150px,15vw,230px);--pad:clamp(24px,5vw,76px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--sans);overflow-x:hidden}img,video,canvas{display:block;max-width:100%}a{color:inherit}button,input{font:inherit}.skip-link{position:fixed;z-index:100;top:10px;left:10px;padding:10px 14px;background:var(--ink);color:var(--paper);transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-header{position:fixed;z-index:20;inset:0 auto 0 0;width:var(--sidebar);padding:32px 25px;border-right:1px solid var(--line);display:flex;flex-direction:column;background:rgba(243,241,234,.94)}.wordmark{font:400 clamp(18px,1.5vw,24px)/1.05 var(--serif);text-decoration:none;letter-spacing:-.03em;display:flex;flex-direction:column}.site-header nav{display:flex;flex-direction:column;margin:auto 0;gap:4px}.site-header nav a{min-height:44px;display:grid;grid-template-columns:28px 1fr;align-items:center;text-decoration:none;font:400 12px var(--mono);text-transform:uppercase;letter-spacing:.06em;opacity:.52;transition:opacity .2s}.site-header nav a span{font-size:9px}.site-header nav a:hover,.site-header nav a:focus-visible,.site-header nav a[aria-current]{opacity:1}.site-header nav a[aria-current]::after{content:"";width:22px;border-top:1px solid;grid-column:2}.side-note{font:300 9px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0}.menu-button{display:none}main{margin-left:var(--sidebar)}.section-pad{padding:clamp(72px,10vw,150px) var(--pad)}.hero{height:100svh;min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden;padding:var(--pad)}#flow-field{position:absolute;inset:0;width:100%;height:100%;opacity:.72}.hero-copy{position:relative;z-index:1;max-width:1000px}.kicker,.section-index,.meta,.placeholder{font:400 10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase}.kicker{margin:0 0 clamp(40px,8vh,90px)}.hero h1,.display{font:300 clamp(64px,10vw,150px)/.78 var(--serif);letter-spacing:-.065em;margin:0}.hero h1 em,.display em{font-weight:300}.hero-statement{max-width:430px;margin:45px 0 0 38%;font-size:clamp(17px,1.5vw,22px)}.scroll-cue{position:absolute;z-index:2;bottom:32px;right:var(--pad);font:400 9px var(--mono);text-transform:uppercase;text-decoration:none;display:flex;align-items:center;gap:18px}.scroll-cue i{width:56px;border-top:1px solid}.about,.selected,.contact,.catalog,.music-list,.detail-text,.documentation,.technical{border-top:1px solid var(--line)}.section-index{margin:0 0 clamp(60px,8vw,120px);color:var(--muted)}.about-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end}.display{font-size:clamp(58px,8vw,120px)}.about-copy{max-width:520px}.about-copy>p{font-size:clamp(17px,1.5vw,21px);line-height:1.75;margin:0 0 36px}.text-link,.index-link{font:400 11px var(--mono);text-transform:uppercase;text-underline-offset:8px}.section-head{display:grid;grid-template-columns:.35fr 1fr;margin-bottom:clamp(70px,10vw,140px)}.project-list{border-top:1px solid var(--line)}.project-row{position:relative;display:grid;grid-template-columns:45px minmax(260px,1.2fr) minmax(240px,.8fr);gap:clamp(22px,4vw,65px);padding:clamp(50px,7vw,100px) 0;border-bottom:1px solid var(--line);text-decoration:none;align-items:center}.project-row--reverse figure{grid-column:3}.project-row--reverse .project-copy{grid-column:2;grid-row:1}.project-no{font:400 10px var(--mono);align-self:start}.project-row figure{margin:0;overflow:hidden}.project-row img{width:100%;height:auto;transition:transform .25s ease-out}.project-row:hover img{transform:scale(1.012)}.project-copy h3,.catalog-item h2,.music-copy h2{font:300 clamp(40px,5vw,76px)/.95 var(--serif);letter-spacing:-.04em;margin:16px 0 24px}.project-copy>p:not(.meta){max-width:420px;color:var(--muted)}.meta{color:var(--muted)}.open-mark{display:inline-block;margin-top:28px;font:400 10px var(--mono);text-transform:uppercase}.index-link{display:flex;justify-content:space-between;padding:32px 0;text-decoration:none;border-bottom:1px solid var(--ink)}.contact{background:var(--ink);color:var(--paper)}.contact .section-index{color:#aaa69d}.contact-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:40px;margin-top:100px;padding-top:24px;border-top:1px solid rgba(243,241,234,.25)}.contact-grid>a{font:300 clamp(18px,2vw,28px) var(--serif);text-underline-offset:7px}.contact-grid p{margin:0}.contact-grid .meta{margin-bottom:12px;color:#aaa69d}.contact footer,.page-footer{display:flex;justify-content:space-between;margin-top:120px;padding-top:22px;border-top:1px solid rgba(243,241,234,.25);font:400 9px var(--mono);text-transform:uppercase}.inner-page{min-height:100vh}.page-intro{min-height:67vh;display:grid;align-content:end;grid-template-columns:.35fr 1fr}.page-intro .section-index{grid-column:1/-1;margin-bottom:45px}.page-intro h1{font-size:clamp(80px,15vw,210px)}.accent-dot{color:var(--accent)}.page-deck{max-width:520px;align-self:end;margin:0 0 10px;font-size:clamp(16px,1.3vw,20px)}.filters{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--ink);padding-bottom:18px;margin-bottom:30px;gap:8px 34px}.filters button{min-height:44px;padding:0;border:0;background:none;cursor:pointer;font:400 10px var(--mono);text-transform:uppercase;color:var(--muted)}.filters button span{margin-left:10px;font-size:8px}.filters button.active{color:var(--ink);text-decoration:underline;text-underline-offset:8px}.catalog-list{border-top:1px solid var(--line)}.catalog-item{display:grid;grid-template-columns:40px 1.1fr .6fr 190px 20px;gap:28px;align-items:center;padding:35px 0;border-bottom:1px solid var(--line);text-decoration:none}.catalog-item h2{font-size:clamp(32px,4vw,58px);margin:0 0 10px}.catalog-item p{margin:0}.catalog-item div>p{color:var(--muted);font-size:14px}.catalog-item picture{overflow:hidden}.catalog-item img{aspect-ratio:4/3;object-fit:cover;transition:transform .2s}.catalog-item:hover img{transform:scale(1.02)}.catalog-item[hidden]{display:none}.empty-note{padding:45px 0;text-transform:none;font-size:13px}.page-footer{margin:0;border-color:var(--line);color:var(--ink)}.music-list{padding-top:0}.music-item{display:grid;grid-template-columns:40px minmax(240px,.8fr) minmax(280px,1fr);gap:clamp(25px,5vw,75px);padding:clamp(60px,9vw,135px) 0;border-bottom:1px solid var(--line);align-items:start}.music-item picture img{width:100%;height:auto}.music-copy{padding-top:5%}.music-copy>p:not(.meta){max-width:600px;color:var(--muted)}.audio-player{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:center;margin-top:38px}.audio-player button{width:54px;height:54px;border:1px solid var(--ink);border-radius:50%;background:transparent;cursor:pointer;transition:background .2s,color .2s}.audio-player button:hover{background:var(--ink);color:var(--paper)}.audio-player button.playing{background:var(--accent);border-color:var(--accent);color:var(--paper)}.audio-player input{--progress:0%;width:100%;height:22px;appearance:none;background:transparent;cursor:pointer}.audio-player input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--accent) var(--progress),var(--line) var(--progress))}.audio-player input::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:var(--ink);margin-top:-5px}.audio-player input::-moz-range-track{height:2px;background:var(--line)}.audio-player input::-moz-range-progress{height:2px;background:var(--accent)}.audio-player input::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--ink)}.time{display:flex;justify-content:space-between;margin:2px 0 0;font:400 9px var(--mono)}.detail-head{min-height:76vh;display:grid;align-content:end;grid-template-columns:.25fr 1fr}.detail-head .section-index{grid-column:1/-1;margin-bottom:60px}.detail-head h1{font-size:clamp(72px,12vw,180px)}.detail-head dl{margin:30px 0 0;display:flex;gap:50px;align-self:end}.detail-head dl div,.technical dl div{min-width:130px}.detail-head dt,.technical dt{font:400 9px var(--mono);text-transform:uppercase;color:var(--muted);margin-bottom:7px}.detail-head dd,.technical dd{margin:0;font-size:13px}.hero-media{border-top:1px solid var(--line)}.hero-media video{width:100%;aspect-ratio:16/9;background:#d9d6ce}.hero-media--square picture{display:block;width:min(72vw,920px);margin:auto}.detail-text{display:grid;grid-template-columns:.3fr 1fr;gap:50px}.detail-text .section-index,.documentation .section-index,.technical .section-index{margin:0}.detail-text>div{max-width:740px}.detail-text h2{font:300 clamp(40px,5vw,72px)/1.05 var(--serif);margin:0 0 45px}.detail-text>div>p{font-size:clamp(18px,1.5vw,22px)}.placeholder{margin-top:30px!important;padding-left:16px;border-left:2px solid var(--accent);color:var(--muted);font-size:10px!important}.documentation{display:grid;grid-template-columns:.3fr 1fr;gap:50px}.documentation picture{max-width:900px}.documentation img{width:100%;height:auto}.documentation .placeholder{grid-column:2}.technical{display:grid;grid-template-columns:.3fr 1fr;gap:50px}.technical dl{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:0}.project-nav{display:grid;grid-template-columns:1fr auto 1fr;border-top:1px solid var(--line)}.project-nav a{display:flex;flex-direction:column;text-decoration:none;font:300 clamp(22px,3vw,42px) var(--serif)}.project-nav a span{font:400 9px var(--mono);text-transform:uppercase;color:var(--muted);margin-bottom:9px}.project-nav a:nth-child(2){text-align:center}.project-nav a:last-child{text-align:right}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .45s ease-out,transform .45s ease-out}.reveal.visible{opacity:1;transform:none}
@media(max-width:760px){:root{--sidebar:0px;--pad:22px}.site-header{inset:0 0 auto;width:100%;height:68px;padding:0 22px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between}.wordmark{font-size:18px}.side-note{display:none}.menu-button{display:flex;min-width:64px;height:44px;padding:0;align-items:center;justify-content:space-between;gap:10px;border:0;background:none;font:400 10px var(--mono);text-transform:uppercase}.menu-button i,.menu-button i::after{display:block;width:18px;border-top:1px solid;content:"";transition:transform .2s}.menu-button i::after{transform:translateY(5px)}.menu-button[aria-expanded="true"] i{transform:rotate(45deg)}.menu-button[aria-expanded="true"] i::after{transform:rotate(-90deg)}.site-header nav{position:fixed;inset:68px 0 auto;background:var(--paper);padding:24px 22px 30px;border-bottom:1px solid var(--ink);transform:translateY(-130%);visibility:hidden;transition:transform .25s ease-out,visibility .25s}.site-header nav.open{transform:none;visibility:visible}.site-header nav a{font-size:13px}.site-header nav a[aria-current]::after{width:100%}main{margin-left:0}.hero{min-height:620px;padding:90px 22px 30px}.hero h1{font-size:clamp(58px,19vw,88px)}.kicker{max-width:270px;margin-bottom:45px}.hero-statement{margin:32px 0 0 12%;max-width:300px}.scroll-cue{bottom:22px;right:22px}.about-grid,.section-head,.page-intro,.detail-head,.detail-text,.documentation,.technical{grid-template-columns:1fr}.about-grid{gap:42px}.section-head{gap:20px}.section-head .section-index{margin-bottom:40px}.project-row,.project-row--reverse{grid-template-columns:28px 1fr;gap:18px}.project-row figure,.project-row--reverse figure{grid-column:2;grid-row:auto}.project-row .project-copy,.project-row--reverse .project-copy{grid-column:2;grid-row:auto}.contact-grid{grid-template-columns:1fr;gap:35px;margin-top:65px}.contact-grid>a{overflow-wrap:anywhere}.page-intro{min-height:58vh;padding-top:120px}.page-intro h1{font-size:clamp(72px,25vw,116px)}.page-deck{margin-top:35px}.catalog-item{grid-template-columns:28px 1fr 18px;padding:32px 0}.catalog-item>div{grid-column:2}.catalog-item>.meta{grid-column:2}.catalog-item picture{grid-column:2;grid-row:auto}.catalog-item>span:last-child{grid-column:3;grid-row:1}.music-item{grid-template-columns:28px 1fr;gap:18px}.music-item picture,.music-copy{grid-column:2}.music-copy{padding-top:20px}.detail-head{padding-top:140px}.detail-head dl{flex-direction:column;gap:18px}.hero-media--square picture{width:100%}.detail-text,.documentation,.technical{gap:42px}.detail-text .section-index,.documentation .section-index,.technical .section-index{margin-bottom:20px}.documentation .placeholder{grid-column:1}.technical dl{grid-template-columns:1fr}.project-nav{grid-template-columns:1fr 1fr;gap:38px}.project-nav a:nth-child(2){order:3;grid-column:1/-1;text-align:left}.project-nav a:last-child{text-align:right}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project-row img,.catalog-item img{transition:none}}

/* Compact editorial index on the home page */
.selected--compact{padding-top:clamp(64px,7vw,105px);padding-bottom:clamp(64px,7vw,105px)}
.selected-heading{display:grid;grid-template-columns:.35fr 1fr;gap:40px;align-items:end;margin-bottom:clamp(45px,5vw,75px)}
.selected-heading .section-index{margin:0;align-self:start}
.selected-heading .display{font-size:clamp(48px,6vw,88px);line-height:.9}
.selected-heading>div>p{max-width:610px;margin:24px 0 0;color:var(--muted)}
.selected-index{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}
.selected-index li{margin:0;border-bottom:1px solid var(--line)}
.selected-index a{min-height:116px;display:grid;grid-template-columns:46px minmax(210px,.8fr) 1fr 22px;gap:clamp(18px,3vw,48px);align-items:center;padding:22px 0;text-decoration:none}
.selected-index h3{width:fit-content;margin:0;background-image:linear-gradient(var(--sage-paper),var(--sage-paper));background-repeat:no-repeat;background-position:0 88%;background-size:0 34%;font:300 clamp(28px,3.4vw,50px)/1 var(--serif);letter-spacing:-.035em;transition:background-size .22s ease-out,color .22s ease-out}
.selected-index p{max-width:550px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.selected-index .project-no{align-self:center}
.row-arrow{font:400 15px var(--mono);transition:transform .2s ease-out}
.selected-index a:hover h3,.selected-index a:focus-visible h3{background-size:100% 34%;color:var(--green)}
.selected-index a:hover .row-arrow,.selected-index a:focus-visible .row-arrow{transform:translate(3px,-3px)}
.selected-index a:active h3{color:var(--ink)}
.selected--compact .index-link{padding-bottom:0;border-bottom:0}
.catalog-placeholder{font:400 9px var(--mono);text-transform:uppercase;color:var(--muted)}
@media(max-width:760px){.selected-heading{grid-template-columns:1fr;gap:26px}.selected-heading .section-index{margin-bottom:12px}.selected-index a{min-height:0;grid-template-columns:28px 1fr 18px;gap:16px;padding:26px 0}.selected-index h3{grid-column:2}.selected-index p{grid-column:2}.selected-index .row-arrow{grid-column:3;grid-row:1}.selected-index .project-no{grid-row:1}.selected--compact .index-link{font-size:9px}}

/* Reduced, color-articulated home introduction */
body[data-page="home"] .hero{height:78svh;min-height:540px;max-height:820px}
body[data-page="home"] .hero h1{font-size:clamp(54px,7.2vw,108px);line-height:.82}
body[data-page="home"] .hero h1>span:first-child{color:var(--ink)}
body[data-page="home"] .hero h1 em{color:var(--accent)}
body[data-page="home"] .hero h1>span:last-child{color:var(--muted)}
body[data-page="home"] .kicker{color:var(--accent);margin-bottom:clamp(28px,5vh,55px);font-size:clamp(13px,1.15vw,17px);line-height:1.35;letter-spacing:.08em}
body[data-page="home"] .hero-statement{width:max-content;max-width:none;margin-top:30px;color:var(--muted);white-space:nowrap}
.selected-index p strong{font-weight:500;color:var(--ink)}
.contact-grid>a span{display:inline-block;margin-top:9px;padding-bottom:4px;border-bottom:1px solid rgba(243,241,234,.55);font:400 clamp(14px,1.25vw,18px)/1.4 var(--mono);letter-spacing:-.025em;color:var(--paper);transition:border-color .2s ease-out,color .2s ease-out}
.contact-grid>a:hover span,.contact-grid>a:focus-visible span{border-color:#c3d0c5;color:#c3d0c5}
body[data-page="home"] .contact{padding-top:clamp(60px,7vw,100px);padding-bottom:clamp(36px,4vw,60px)}
body[data-page="home"] .contact .display{font-size:clamp(44px,6vw,86px);line-height:.9}
body[data-page="home"] .contact-grid{margin-top:clamp(48px,6vw,80px)}
body[data-page="home"] .contact footer{margin-top:clamp(60px,7vw,95px)}
@media(max-width:760px){body[data-page="home"] .hero{height:72svh;min-height:520px}body[data-page="home"] .hero h1{font-size:clamp(48px,15vw,72px)}body[data-page="home"] .hero-statement{max-width:100%;margin-left:0;font-size:clamp(9px,2.7vw,15px)}}

/* Single-column introduction and ink-based palette */
.about-grid{grid-template-columns:1fr;gap:clamp(42px,6vw,78px);align-items:start}
.about .display{max-width:1050px;color:var(--navy)}
.about .display em{color:var(--green)}
.about-copy{max-width:760px}
.about-copy>p{line-height:1.8}
.text-link{color:var(--navy)}
.selected-heading .display{color:var(--navy)}
.selected-heading .display em{color:var(--green)}
.contact .display em{color:#8da393}
body[data-page="home"] .hero h1>span:first-child{color:var(--ink)}
body[data-page="home"] .hero h1 em{color:var(--navy)}
body[data-page="home"] .hero h1>span:last-child{color:var(--green)}
@media(max-width:760px){.about-grid{gap:36px}.about-copy{max-width:100%}}

.contact-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,22%);gap:clamp(34px,6vw,90px);align-items:end}
.contact-portrait{margin:0}
.contact-portrait img{width:100%;height:auto;border-bottom:1px solid rgba(243,241,234,.35)}
.contact-portrait figcaption{margin-top:10px;font:400 8px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#aaa69d}
@media(max-width:760px){.contact-intro{grid-template-columns:1fr}.contact-portrait{width:min(58%,240px);margin-left:auto}}

/* Stronger chapter contrast between introduction and selected work */
.about{background:var(--navy);color:var(--paper);border-top-color:rgba(243,241,234,.22)}
.about .section-index{color:#b7c0bb}
.about .display{color:var(--paper)}
.about .display em{color:#a8b9ab}
.about-copy>p{color:#e2e2dc}
.about .text-link{color:var(--paper);text-decoration-color:#a8b9ab}
.about .text-link:hover{color:#c3d0c5}
.selected--compact{background:var(--sage-paper)}
.selected--compact .section-index{color:var(--green)}
.selected-index{border-top-color:var(--navy)}
.selected-index li{border-bottom-color:rgba(23,42,58,.2)}
.audio-player input{touch-action:pan-y}
@media(prefers-reduced-motion:reduce){.selected-index h3{transition:none}}

/* Installation archive */
.installation-intro{min-height:78vh}
.installation-intro h1{font-size:clamp(72px,12vw,180px)}
.installation-deck{max-width:620px;align-self:end;padding-bottom:12px}
.installation-deck>p{font-size:clamp(17px,1.5vw,21px);line-height:1.7;margin:0 0 42px}
.installation-deck nav{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.installation-deck nav a{min-height:48px;padding:14px 10px 10px 0;border-bottom:1px solid var(--line);font:400 9px/1.4 var(--mono);text-transform:uppercase;text-decoration:none;color:var(--muted)}
.installation-deck nav a:hover{color:var(--green)}
.installation-work{border-top:1px solid var(--line);scroll-margin-top:30px}
.installation-work--sage{background:var(--sage-paper)}
.installation-work--dark{background:var(--navy);color:var(--paper)}
.installation-work--dark .meta,.installation-work--dark .section-index,.installation-work--dark .work-location{color:#b7c0bb}
.installation-work__head{display:grid;grid-template-columns:44px minmax(0,1fr) minmax(160px,250px);gap:clamp(22px,4vw,65px);align-items:end;margin-bottom:clamp(55px,8vw,115px)}
.installation-work__head h2{font:300 clamp(52px,8vw,118px)/.78 var(--serif);letter-spacing:-.055em;margin:16px 0 0;color:var(--navy)}
.installation-work__head h2 em{font-weight:300;color:var(--green)}
.installation-work--dark .installation-work__head h2{color:var(--paper)}
.installation-work--dark .installation-work__head h2 em{color:#a8b9ab}
.work-location{font:400 9px/1.6 var(--mono);text-transform:uppercase;color:var(--muted);margin:0;text-align:right}
.installation-hero{margin:0}
.installation-hero img{width:100%;height:auto}
.installation-statement{display:grid;grid-template-columns:.3fr 1fr;gap:clamp(30px,5vw,75px);margin:clamp(55px,7vw,105px) 0}
.installation-statement .section-index{margin:5px 0 0}
.installation-statement>p:last-child{max-width:900px;font:300 clamp(25px,3vw,44px)/1.35 var(--serif);letter-spacing:-.02em;margin:0}
.installation-specs{display:grid;grid-template-columns:.3fr 1fr;gap:clamp(30px,5vw,75px);padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:clamp(55px,8vw,110px)}
.installation-specs .section-index{margin:3px 0 0}
.installation-specs dl{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:0}
.installation-specs dt{font:400 9px var(--mono);text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.installation-specs dd{font-size:14px;line-height:1.55;margin:0}
.installation-media{margin-top:clamp(55px,8vw,110px)}
.installation-media video{width:100%;aspect-ratio:16/9;background:#0b0d0e}
.video-player{background:var(--ink);color:var(--paper)}
.video-controls{display:grid;grid-template-columns:70px minmax(0,1fr) 82px;gap:18px;align-items:center;padding:14px 16px 16px;border-top:1px solid rgba(243,241,234,.22)}
.video-controls button{min-height:44px;padding:0;border:0;background:transparent;color:var(--paper);cursor:pointer;font:400 9px var(--mono);text-transform:uppercase;text-align:left}
.video-controls button:last-child{text-align:right}
.video-controls button:hover{color:#a8b9ab}
.video-timeline input{--progress:0%;display:block;width:100%;height:24px;margin:0;appearance:none;background:transparent;cursor:pointer;touch-action:pan-y}
.video-timeline input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,#a8b9ab var(--progress),rgba(243,241,234,.28) var(--progress))}
.video-timeline input::-webkit-slider-thumb{appearance:none;width:14px;height:14px;margin-top:-6px;border-radius:50%;background:var(--paper)}
.video-timeline input::-moz-range-track{height:2px;background:rgba(243,241,234,.28)}
.video-timeline input::-moz-range-progress{height:2px;background:#a8b9ab}
.video-timeline input::-moz-range-thumb{width:14px;height:14px;border:0;border-radius:50%;background:var(--paper)}
.video-timeline p{display:flex;justify-content:space-between;margin:0;font:400 8px var(--mono);color:#b7c0bb}
.installation-media--split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.45fr);gap:clamp(20px,3vw,45px);align-items:start}
.installation-media--split picture img{width:100%;height:auto}
.photo-triptych{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(14px,2vw,28px)}
.photo-triptych picture:first-child{grid-row:span 2}
.photo-triptych img{width:100%;height:100%;object-fit:cover}
.installation-audio{display:grid;grid-template-columns:.3fr 1fr;gap:clamp(30px,5vw,75px);align-items:end;margin-top:clamp(55px,7vw,100px);padding-top:30px;border-top:1px solid var(--line)}
.installation-audio .section-index{margin:0 0 12px}
.installation-audio h3{font:300 clamp(30px,4vw,56px)/1 var(--serif);margin:0}
.installation-audio .audio-player{margin:0}
.installation-work--dark .installation-statement em{color:#b7c0bb}
.installation-role>p{max-width:900px;font:300 clamp(25px,3vw,44px)/1.35 var(--serif);letter-spacing:-.02em;margin:0}
.external-project-link{display:inline-flex;gap:12px;margin-top:34px;padding-bottom:7px;border-bottom:1px solid #a8b9ab;font:400 10px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--paper)}
.external-project-link:hover{color:#c3d0c5}
.installation-work--dark+.page-footer{background:var(--navy);color:var(--paper);border-color:rgba(243,241,234,.2)}
@media(max-width:760px){.installation-intro{min-height:70vh}.installation-intro .installation-deck{margin-top:38px}.installation-deck nav{grid-template-columns:1fr}.installation-work__head{grid-template-columns:28px 1fr;gap:18px}.installation-work__head>div{grid-column:2}.installation-work__head .work-location{grid-column:2;text-align:left}.installation-statement,.installation-specs,.installation-audio{grid-template-columns:1fr;gap:26px}.installation-statement>p:last-child,.installation-role>p{font-size:clamp(23px,7vw,32px)}.installation-specs dl{grid-template-columns:1fr;gap:22px}.installation-media--split{grid-template-columns:1fr}.installation-media--split picture{width:70%;margin-left:auto}.photo-triptych{grid-template-columns:1fr}.photo-triptych picture:first-child{grid-row:auto}.photo-triptych img{height:auto}.installation-audio .audio-player{margin-top:10px}.video-controls{grid-template-columns:54px minmax(0,1fr) 66px;gap:10px;padding:10px 12px 12px}}

/* Compact installation index and individual project pages */
.installation-index-head{padding-top:clamp(120px,12vw,180px);padding-bottom:clamp(48px,5vw,72px)}
.installation-index-head .section-index{margin-bottom:35px}
.installation-index-head h1{font-size:clamp(68px,11vw,150px)}
.installation-index-head>p:last-child{width:max-content;max-width:none;margin:32px 0 0 32%;color:var(--muted);white-space:nowrap}
.installation-grid{width:min(100%,900px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,26px);padding-top:0;margin:0 auto}
.installation-tile{position:relative;aspect-ratio:1;overflow:hidden;background:#777;text-decoration:none;color:var(--paper)}
.installation-tile picture,.installation-tile img{width:100%;height:100%;display:block}
.installation-tile img{object-fit:cover;transition:filter .22s ease-out,transform .22s ease-out}
.installation-tile__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(16px,2vw,26px);background:rgba(11,13,14,.26);transition:background .22s ease-out}
.installation-tile__overlay strong{max-width:90%;font:300 clamp(25px,3vw,42px)/.95 var(--serif);letter-spacing:-.03em}
.installation-tile__overlay>span:last-child{font:400 9px var(--mono);text-transform:uppercase}
.installation-tile:hover img{filter:grayscale(100%);transform:scale(1.012)}
.installation-tile:hover .installation-tile__overlay{background:rgba(79,81,80,.8)}
.installation-detail-page .installation-work:first-child{padding-top:clamp(130px,13vw,195px)}
.installation-work__head h1{font:300 clamp(52px,8vw,118px)/.78 var(--serif);letter-spacing:-.055em;margin:16px 0 0;color:var(--navy)}
.installation-work__head h1 em{font-weight:300;color:var(--green)}
.installation-work--dark .installation-work__head h1{color:var(--paper)}
.installation-work--dark .installation-work__head h1 em{color:#a8b9ab}
.project-nav--dark{background:var(--navy);color:var(--paper);border-color:rgba(243,241,234,.2)}
.project-nav--dark a span{color:#b7c0bb}
@media(max-width:760px){.installation-index-head{padding-top:110px}.installation-index-head>p:last-child{width:auto;max-width:100%;margin-left:0;font-size:min(16px,2.2vw);white-space:nowrap}.installation-grid{grid-template-columns:1fr 1fr;gap:10px;padding-left:22px;padding-right:22px}.installation-tile__overlay{padding:13px}.installation-tile__overlay strong{font-size:clamp(18px,5.6vw,24px)}.installation-tile__overlay>span:last-child{font-size:7px}.installation-detail-page .installation-work:first-child{padding-top:120px}}

/* More compact typography for project detail pages */
.detail-head h1{font-size:clamp(64px,10vw,150px)}
.detail-head dd,.technical dd{font-size:12px}
.detail-text>div{max-width:700px}
.detail-text h2{font-size:clamp(32px,4vw,56px);line-height:1.08;margin-bottom:36px}
.detail-text>div>p{font-size:clamp(16px,1.2vw,18px);line-height:1.65}
.detail-text>div>p+p{margin-top:1em}
.installation-work__head h1{font-size:clamp(46px,7vw,96px);line-height:.82;letter-spacing:-.05em}
.installation-statement>p:last-child,.installation-role>p{max-width:820px;font-size:clamp(18px,2vw,27px);line-height:1.5;letter-spacing:-.01em}
.installation-role>p+p{margin-top:1em}
.project-nav a{font-size:clamp(18px,2.4vw,32px)}
@media(max-width:760px){.installation-statement>p:last-child,.installation-role>p{font-size:clamp(17px,4.8vw,22px)}}

/* Project years are emphasized consistently across indexes and detail pages */
.project-year{display:inline-block;color:var(--accent);font-family:var(--mono);font-size:14px;font-weight:400;line-height:1;letter-spacing:.04em}
.installation-work--dark .project-year{color:#c3d0c5}
.installation-tile .project-year{color:var(--paper);font-size:14px}

/* Compact music archive */
[data-page="music"] .page-intro{min-height:52vh;padding-top:clamp(82px,7vw,110px);padding-bottom:clamp(48px,6vw,84px)}
.music-item{grid-template-columns:32px minmax(260px,.62fr) minmax(280px,1fr);gap:clamp(20px,3.5vw,48px);padding:clamp(42px,5vw,72px) 0}
.music-cover{position:relative;width:min(100%,500px);aspect-ratio:4/3;overflow:hidden;background:#858584;color:var(--paper)}
.music-cover summary{display:block;width:100%;height:100%;list-style:none;cursor:pointer}
.music-cover summary::-webkit-details-marker{display:none}
.music-cover summary::marker{content:""}
.music-cover picture,.music-cover picture img,.music-cover summary>img{display:block;width:100%;height:100%}
.music-cover picture img,.music-cover summary>img{object-fit:cover;transition:filter .25s ease-out,transform .25s ease-out}
.music-cover__hint{position:absolute;right:14px;bottom:12px;z-index:2;padding:7px 9px;background:rgba(11,13,14,.68);font:400 8px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--paper)}
.music-media-placeholder{width:100%;height:100%;display:flex;align-items:flex-end;padding:16px;background:rgba(11,13,14,.07);border:1px solid var(--line);transition:filter .25s ease-out}
.music-media-placeholder span{font:400 9px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dys-cover{position:relative;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;background:#020617;color:#22d3ee;font-family:var(--mono);transition:filter .25s ease-out,transform .25s ease-out}
.dys-cover__frame{position:relative;height:88%;aspect-ratio:1;overflow:hidden;border:1px solid rgba(34,211,238,.12);background-color:#0f172a;background-image:linear-gradient(rgba(34,211,238,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.05) 1px,transparent 1px);background-size:10% 10%;box-shadow:0 22px 50px -18px #000}
.dys-cover__frame::before,.dys-cover__frame::after{content:"";position:absolute;z-index:1;pointer-events:none}
.dys-cover__frame::before{inset:3.5%;border:1px solid rgba(34,211,238,.12)}
.dys-cover__frame::after{inset:0;opacity:.08;background-image:repeating-radial-gradient(circle at 30% 20%,#67e8f9 0 1px,transparent 1px 3px);mix-blend-mode:screen}
.dys-cover__form{position:absolute;z-index:2;inset:12.5%;width:75%;height:75%;filter:contrast(1.6) brightness(1.1) hue-rotate(180deg);opacity:.9}
.dys-cover__meta,.dys-cover__time,.dys-cover__title,.dys-cover__process{position:absolute;z-index:3;display:flex;flex-direction:column;text-transform:uppercase}
.dys-cover__meta{top:7%;gap:1px;font-size:clamp(4px,.54vw,8px);letter-spacing:.12em;color:rgba(13,148,136,.66)}
.dys-cover__meta strong{font-weight:500;color:#cffafe}
.dys-cover__meta--left{left:7%}.dys-cover__meta--left::after{content:"";width:36px;margin-top:5px;border-top:1px solid rgba(34,211,238,.2)}
.dys-cover__meta--right{right:7%;align-items:flex-end}.dys-cover__meta--right strong{color:#22d3ee;animation:dys-cover-pulse 4s ease-in-out infinite}
.dys-cover__core{position:absolute;z-index:3;top:50%;left:50%;transform:translate(-50%,-50%);font-size:clamp(4px,.48vw,7px);letter-spacing:.4em;color:rgba(165,243,252,.48)}
.dys-cover__time{bottom:7%;left:7%;gap:1px;font-size:clamp(4px,.48vw,7px);letter-spacing:.22em;color:rgba(13,148,136,.56)}
.dys-cover__title{right:7%;bottom:7%;align-items:flex-end;font-size:clamp(5px,.56vw,8px);letter-spacing:.32em;color:#14b8a6}
.dys-cover__title strong{font-size:1.1em;font-weight:500;color:#cffafe}
.dys-cover__process{right:7%;bottom:24%;gap:1px;font-size:clamp(3px,.42vw,6px);color:rgba(15,118,110,.58)}
.dys-cover__channels{position:absolute;z-index:3;top:50%;left:2%;transform:translate(-42%,-50%) rotate(90deg);font-size:clamp(3px,.4vw,6px);letter-spacing:.02em;color:rgba(15,118,110,.65);white-space:nowrap}
.dys-cover__archive{position:absolute;top:4%;left:4%;display:flex;align-items:center;gap:8px;font-size:clamp(4px,.45vw,7px);letter-spacing:.12em;color:rgba(13,148,136,.62)}
.dys-cover__archive i{width:24px;border-top:1px solid rgba(8,145,178,.38)}
@keyframes dys-cover-pulse{0%,100%{opacity:.72}50%{opacity:.38}}
.music-program{position:absolute;inset:0;z-index:3;background:rgba(35,38,37,.9);opacity:0;visibility:hidden;transition:opacity .22s ease-out,visibility .22s ease-out}
.music-program__scroll{height:100%;overflow-y:auto;overscroll-behavior:contain;padding:clamp(42px,4vw,58px) clamp(18px,2.4vw,30px) 28px;scrollbar-width:thin}
.music-program__label,.music-program h3{font:400 9px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#c3d0c5}
.music-program__label{margin:0 0 22px}
.music-program h3{margin:22px 0 7px}
.music-program p:not(.music-program__label){margin:0;font-size:clamp(11px,1vw,13px);line-height:1.62;color:var(--paper)}
.music-program p+p{margin-top:1em}
.music-program__close{position:absolute;top:8px;right:8px;z-index:4;display:none;min-width:44px;min-height:32px;padding:0 8px;border:0;background:transparent;color:var(--paper);cursor:pointer;font:400 8px var(--mono);letter-spacing:.05em;text-transform:uppercase}
.music-cover:hover .music-program,.music-cover:focus-within .music-program,.music-cover[open] .music-program{opacity:1;visibility:visible}
.music-cover:hover picture img,.music-cover:focus-within picture img,.music-cover[open] picture img,.music-cover:hover summary>img,.music-cover:focus-within summary>img,.music-cover[open] summary>img,.music-cover:hover .music-media-placeholder,.music-cover:focus-within .music-media-placeholder,.music-cover[open] .music-media-placeholder,.music-cover:hover .dys-cover,.music-cover:focus-within .dys-cover,.music-cover[open] .dys-cover{filter:grayscale(1);transform:scale(1.01)}
.music-cover:hover .music-cover__hint,.music-cover:focus-within .music-cover__hint,.music-cover[open] .music-cover__hint{opacity:0}
.music-cover[open] .music-program__close{display:block}
.music-copy{padding-top:0}
.music-copy h2{font-size:clamp(30px,3.6vw,52px);margin:10px 0 16px}
.music-copy>p:not(.meta){max-width:560px;margin:0;font-size:14px;line-height:1.65}
.music-item .audio-player{grid-template-columns:44px 1fr;gap:14px;margin-top:24px}
.music-item .audio-player button{width:44px;height:44px}
.audio-player button{display:grid;place-items:center;padding:0;color:var(--ink);appearance:none;-webkit-appearance:none}
.audio-player [data-play-symbol]{display:block;width:0;height:0;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor;font-size:0;transform:translateX(1px)}
.audio-player button.playing [data-play-symbol]{width:3px;height:12px;border:0;background:currentColor;box-shadow:6px 0 0 currentColor;transform:translateX(-3px)}
.music-item{scroll-margin-top:80px}
.music-video{display:block;width:100%;margin-top:24px;aspect-ratio:16/9;background:var(--ink);object-fit:cover}
@media(max-width:760px){[data-page="music"] .page-intro{min-height:50vh;padding-top:100px;padding-bottom:48px}.music-item{grid-template-columns:24px 1fr;padding:38px 0}.music-cover,.music-copy{grid-column:2}.music-cover{width:100%}.music-copy{padding-top:16px}.music-program p:not(.music-program__label){font-size:12px}}
@media(hover:hover){.music-cover:hover .music-program{pointer-events:auto}}
@media(hover:none){.music-cover:not([open]) .music-program{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.dys-cover__meta--right strong{animation:none}}

/* Extensions of Soil media sequence */
.installation-hero--compact{width:min(68%,780px);margin-right:auto;margin-left:auto}
.installation-video-embed{width:min(88%,1080px);margin:clamp(28px,4vw,54px) auto 0;aspect-ratio:16/9;background:#0b0d0e}
.installation-video-embed iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:760px){.installation-hero--compact,.installation-video-embed{width:100%}}
