:root{--paper:#f3f1eb;--ink:#29252d;--muted:#66616a;--line:#cbc7c2;--night:#100c16;--light:#eee9e2;--serif:'EB Garamond',Georgia,serif;--mono:'Space Mono',monospace;--gutter:clamp(22px,4.7vw,86px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 Inter,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:hover{text-decoration-thickness:1px}p{margin:0 0 1.3em}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;line-height:1.02;letter-spacing:-.042em}h1{font-size:clamp(66px,8.8vw,150px)}h2{font-size:clamp(43px,5vw,83px)}h3{font-size:clamp(27px,2.6vw,43px)}em{font-weight:400}img{display:block;width:100%;object-fit:cover}figure{margin:0}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid #8b4f84;outline-offset:6px}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-160%);padding:12px 20px;background:var(--paper)}.skip-link:focus{transform:none}
.site-header{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:23px var(--gutter);border-bottom:1px solid var(--line)}.site-brand{font-family:var(--serif);font-size:29px;letter-spacing:.075em;line-height:1}.site-nav{display:flex;gap:clamp(20px,3.2vw,54px);font-size:14px}.site-nav a{padding:10px 0;position:relative}.site-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:5px;height:1px;background:currentColor;transition:right .3s}.site-nav a:hover:after,.site-nav a[aria-current]:after{right:0}.eyebrow,.metadata,.caption,.card-caption>span,.hero-art figcaption,.text-link,.footer-small,.lab-status{font:12px/1.6 var(--mono);letter-spacing:.025em}.eyebrow{text-transform:uppercase;color:var(--muted);margin-bottom:26px}.page-shell{padding:0 var(--gutter);max-width:1800px;margin:auto}.page-intro{padding:95px 0 85px}.page-intro .lede{margin:35px 0 0;max-width:540px}.page-intro>p:not(.eyebrow){max-width:640px}.lede{font-size:20px;line-height:1.55}.home-opening{padding:36px var(--gutter) 52px}.opening-kicker{display:flex;justify-content:space-between;gap:20px}.opening-kicker .eyebrow{margin:0}.home-opening h1{font-size:clamp(65px,9.7vw,168px);margin:60px 0 43px;line-height:.98;letter-spacing:-.05em}.opening-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.opening-bottom p{margin:0;font-size:16px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:12px 0;border-bottom:1px solid currentColor;font-size:13px;transition:gap .25s}.text-link:hover{gap:44px}.hero-art{background:var(--night);color:var(--light);position:relative;overflow:hidden}.hero-art>img{height:min(63vw,800px);object-fit:cover}.hero-art figcaption{padding:20px var(--gutter);display:flex;justify-content:space-between;gap:24px;border-top:1px solid #ffffff20}.hero-art figcaption a{border-bottom:1px solid #c5bbcc}.section{padding:100px 0;border-bottom:1px solid var(--line)}.editorial{display:grid;grid-template-columns:1fr 2fr;gap:50px}.editorial>.eyebrow{padding-top:12px}.editorial h2{margin-bottom:34px}.body-copy{max-width:620px;color:var(--muted)}.body-copy p:last-child{margin-bottom:0}.section-heading{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:end;gap:30px;margin-bottom:48px}.section-heading>.eyebrow{align-self:start;margin-top:12px}.section-heading .text-link{justify-self:end}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px 34px}.work-card{min-width:0}.image-frame{display:block;overflow:hidden;background:var(--night)}.image-frame img{aspect-ratio:4/3;transition:transform .8s cubic-bezier(.2,.6,.3,1)}.work-card:hover img,.lab-invitation>a:hover img{transform:scale(1.035)}.card-caption{margin-top:19px;display:flex;flex-direction:column;gap:8px}.card-caption>span{color:var(--muted)}.caption{color:var(--muted);margin:16px 0 0}.works-grid{padding-bottom:100px}.works-grid .work-card:first-child{grid-column:1/-1}.works-grid .work-card:first-child img{aspect-ratio:2/1}.lab-invitation{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.lab-invitation h2{margin-bottom:30px}.lab-invitation p:not(.eyebrow){max-width:400px;color:var(--muted)}.lab-invitation .image-frame img{aspect-ratio:4/5}.site-footer{padding:70px var(--gutter) 32px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.footer-brand{font:clamp(30px,4vw,62px)/1 var(--serif);letter-spacing:.04em}.site-footer>div:not(.footer-small){display:flex;flex-direction:column;gap:12px;font-size:15px}.footer-small{grid-column:1/-1;display:flex;gap:28px;border-top:1px solid var(--line);padding-top:24px;color:var(--muted)}.footer-small span{margin-left:auto}.artwork-opening{display:flex;justify-content:space-between;align-items:end;padding:80px 0 55px;gap:35px}.artwork-opening h1{font-size:clamp(74px,12vw,190px)}.artwork-opening .lede{margin:0 0 10px}.metadata{display:flex;gap:40px;justify-content:space-between;padding:20px 0;border-top:1px solid var(--line);color:var(--muted)}.two-notes{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.two-notes h2{margin-bottom:26px}.two-notes p:not(.eyebrow){max-width:520px;color:var(--muted)}.section-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw}.section-grid h2{max-width:600px}.quote{font:clamp(29px,3vw,47px)/1.15 var(--serif)}.media-wide img,.wide-image img{max-height:830px;object-fit:cover}.facts{display:flex;flex-wrap:wrap;gap:24px;margin-top:35px}.fact{display:flex;flex-direction:column;gap:10px;flex:1}.fact b{font:30px var(--serif)}.fact span{font-size:13px}.inline-flow{display:flex;flex-wrap:wrap;gap:18px;font:13px var(--mono);margin-top:35px}.inline-flow i{font-style:normal}.project-title{max-width:1150px}.project-image>img{height:auto;max-height:850px}.embed-launch{padding:28px;border:1px solid var(--line);margin-top:30px}.contact-intro{min-height:65vh}.contact-email{display:inline-block;font:clamp(27px,4vw,64px) var(--serif);margin-top:35px;border-bottom:1px solid var(--ink);overflow-wrap:anywhere}.reading{max-width:800px;margin-left:auto}.reading h2{font-size:39px;margin:35px 0 20px}.reading a{text-decoration:underline}.reading p{color:var(--muted)}
/* Give the volumetric study its own usable viewport, including room for mobile controls. */
.embed-frame{width:100%;margin-top:32px;background:var(--night);border:1px solid var(--line)}
.embed-frame iframe{display:block;width:100%;height:clamp(640px,75vh,900px);border:0}
@media(max-width:720px){.embed-frame iframe{height:760px}}
/* Type arrives in short, staggered phrases. Content is visible until JS opts in. */
.reveal-word{display:inline-block;will-change:opacity,transform;transition:opacity .9s ease,transform 1.05s cubic-bezier(.16,1,.3,1);transition-delay:var(--delay,0ms)}[data-reveal].reveal-ready:not(.is-visible) .reveal-word{opacity:0;transform:translateY(.28em)}
.lab-index{display:flex;flex-wrap:wrap;border-block:1px solid var(--line);padding:17px 0;gap:15px 32px}.lab-index a{font:13px var(--mono);padding:9px 0}.lab-index a:hover{text-decoration:underline}.lab-toolbar{display:flex;justify-content:space-between;gap:25px;align-items:center;padding:26px 0}.lab-toolbar p{margin:0;color:var(--muted);font-size:14px}.plain-button{border:1px solid var(--line);background:transparent;color:inherit;padding:11px 18px;font-size:14px;min-height:44px}.plain-button:hover{border-color:currentColor}.lab-study{padding:80px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.35fr;gap:6vw;align-items:start;scroll-margin-top:30px}.lab-copy h2{font-size:clamp(39px,4vw,65px);margin-bottom:27px}.lab-copy>p:not(.eyebrow){color:var(--muted);max-width:500px}.lab-canvas-wrap{position:relative;background:var(--night);color:var(--light);aspect-ratio:1.2;overflow:hidden}.lab-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:pan-y}.canvas-caption{position:absolute;bottom:14px;left:20px;right:20px;margin:0;font:12px/1.5 var(--mono);color:#c5bacd;pointer-events:none}.lab-controls{margin:26px 0}.lab-control{display:grid;grid-template-columns:1fr auto;gap:8px;margin:22px 0;font-size:14px}.lab-control input{grid-column:1/-1;width:100%;accent-color:#66516f;cursor:pointer;height:28px}.lab-status{color:var(--muted);margin:16px 0;min-height:20px}.lab-note{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.35fr;gap:6vw;border-top:1px solid var(--line);padding-top:26px}.lab-note h3{font-size:28px}.lab-note p{color:var(--muted);font-size:15px;max-width:700px}.mechanism{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.mechanism article{border-top:1px solid var(--line);padding-top:20px}.mechanism h3{font-size:32px;margin-bottom:18px}.mechanism p{font-size:15px;color:var(--muted)}.sound-invitation{background:var(--night);color:var(--light);padding:50px;display:flex;flex-direction:column;justify-content:center;min-height:430px}.sound-invitation .eyebrow{color:#c4b8ce}.sound-invitation p{color:#c4b8ce}.voice-list{display:flex;flex-wrap:wrap;gap:10px 20px;font:13px/1.8 var(--mono);margin:28px 0}.sound-opening{display:grid;grid-template-columns:1fr 2fr;gap:40px}.sound-opening>.eyebrow{margin-top:10px}.sound-opening .lede{max-width:560px}.sound-player{background:var(--night);color:var(--light);display:grid;grid-template-columns:1.2fr 1fr}.sound-player img{height:100%;min-height:360px;object-fit:cover}.sound-player-copy{padding:50px;align-self:center}.sound-player-copy h2{margin-bottom:25px}.sound-player-copy p{color:#c9becf}.sound-player-copy .eyebrow{color:#c9becf}.voice-explanations{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.voice-explanations article{border-top:1px solid var(--line);padding-top:20px}.voice-explanations h3{font:14px var(--mono);margin-bottom:16px}.voice-explanations p{color:var(--muted);font-size:15px}.diary-scroll{padding:0 var(--gutter) 80px}.diary-track{display:grid;grid-template-columns:1fr 1fr;gap:40px}.diary-card{border-bottom:1px solid var(--line);padding-bottom:30px}.diary-card img{aspect-ratio:16/9}.diary-card-copy{padding-top:25px}.diary-card h2{font-size:43px;margin:14px 0}.diary-card time{font:12px var(--mono)}

/* Sound study: an immediate harmonic field, drawn as an instrument rather than a panel. */
.sound-instrument{border-block:1px solid var(--ink);min-height:450px;display:flex;flex-direction:column}.instrument-head{display:flex;justify-content:space-between;gap:24px;padding:20px 0 17px}.instrument-head .eyebrow,.instrument-status{margin:0;font:11px/1.6 var(--mono);color:var(--muted)}.instrument-status{text-align:right}.chord-bank{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.chord-bank button,.note-bank button{position:relative;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;color:var(--ink);overflow:hidden}.chord-bank button:last-child,.note-bank button:last-child{border-right:0}.chord-bank button{min-height:122px;text-align:left;padding:18px 17px}.chord-bank span{display:block;font:clamp(27px,2.5vw,41px)/1 var(--serif);letter-spacing:-.03em}.chord-bank small,.note-bank small{display:block;margin-top:15px;font:10px/1 var(--mono);text-transform:uppercase;color:var(--muted)}.note-bank{display:grid;grid-template-columns:repeat(8,1fr);flex:1}.note-bank button{min-height:170px;padding:18px 8px 15px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.note-bank span{font:clamp(25px,2.3vw,39px)/1 var(--serif)}.chord-bank button:before,.note-bank button:before{content:'';position:absolute;inset:50%;border:1px solid #8b4f84;opacity:0;transition:inset .7s cubic-bezier(.16,1,.3,1),opacity .35s}.chord-bank button:hover:before,.note-bank button:hover:before,.chord-bank button.is-playing:before,.note-bank button.is-playing:before{inset:10px;opacity:.42}.chord-bank button.is-playing,.note-bank button.is-playing{background:#e8e1e9}.instrument-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 0}.instrument-foot label{display:flex;align-items:center;gap:18px;font:11px var(--mono);color:var(--muted)}.instrument-foot input{width:min(22vw,180px);accent-color:#7c517a}.instrument-silence{border:0;background:transparent;padding:9px 0;font:11px var(--mono);border-bottom:1px solid currentColor;color:var(--ink)}
@media(min-width:1600px){.home-opening{max-width:1800px;margin:auto}.hero-art>img{max-height:850px}.hero-art{max-width:2000px;margin:auto}}
@media(max-width:850px){.site-header{min-height:85px}.site-brand{font-size:24px}.site-nav{gap:20px;font-size:13px}.home-opening h1{margin-top:50px}.opening-kicker>.eyebrow:last-child{display:none}.section{padding:70px 0}.editorial{grid-template-columns:1fr;gap:10px}.editorial>div{margin-left:10vw}.section-heading{grid-template-columns:1fr auto}.section-heading>.eyebrow{grid-column:1/-1}.lab-invitation{gap:35px}.artwork-opening{align-items:start;flex-direction:column}.section-grid{grid-template-columns:1fr;gap:32px}.lab-study{grid-template-columns:1fr;gap:30px;padding:60px 0}.lab-copy{max-width:650px}.lab-canvas-wrap{aspect-ratio:1.5}.lab-note{grid-template-columns:1fr;gap:10px}.lab-controls{max-width:500px}.sound-opening{grid-template-columns:1fr;gap:0}.sound-player-copy{padding:30px}.sound-player-copy h2{font-size:46px}.mechanism{gap:20px}.metadata{gap:15px;flex-wrap:wrap}}
@media(max-width:560px){body{font-size:16px}.site-header{align-items:start;gap:15px;flex-direction:column;padding-block:24px 17px}.site-brand{font-size:26px}.site-nav{width:100%;justify-content:space-between;gap:18px}.home-opening{padding-top:26px}.home-opening h1{font-size:clamp(58px,12.9vw,73px);margin:35px 0 30px}.opening-bottom{display:block}.opening-bottom .text-link{margin-top:18px}.hero-art>img{height:78vw}.hero-art figcaption{font-size:11px;gap:15px}.hero-art figcaption span{max-width:48%}.hero-art figcaption a{max-width:48%;text-align:right}.page-intro{padding:58px 0}.page-intro h1{font-size:60px}.page-intro .lede{font-size:18px;margin-top:25px}.editorial>div{margin-left:0}.section-heading{display:block}.section-heading .text-link{margin-top:22px}.work-grid{grid-template-columns:1fr;gap:38px}.works-grid .work-card:first-child img{aspect-ratio:4/3}.section-heading{margin-bottom:32px}.lab-invitation{grid-template-columns:1fr}.lab-invitation .image-frame img{aspect-ratio:4/3}.site-footer{grid-template-columns:1fr;padding-top:48px;gap:30px}.footer-small{flex-wrap:wrap;gap:14px 24px}.footer-small span{width:100%;margin-left:0}.two-notes{grid-template-columns:1fr;gap:40px}.artwork-opening{padding:55px 0 30px;gap:26px}.artwork-opening h1{font-size:clamp(58px,18vw,80px)}.artwork-opening .lede{font-size:18px}.metadata{font-size:11px;gap:12px}.project-title h1{font-size:clamp(40px,11.8vw,57px)}.project-image>img{height:auto;min-height:240px}.facts{flex-direction:column}.lab-toolbar{align-items:start}.lab-toolbar p{max-width:180px}.lab-toolbar button{flex-shrink:0}.lab-index{gap:10px 23px}.lab-canvas-wrap{aspect-ratio:1}.lab-note{padding-top:20px}.mechanism,.voice-explanations{grid-template-columns:1fr}.sound-player{grid-template-columns:1fr}.sound-player img{min-height:0;max-height:310px}.sound-player-copy{padding:30px 24px}.sound-invitation{padding:30px;min-height:350px}.diary-track{grid-template-columns:1fr}.reading{padding-top:0}.caption{font-size:11px}}
@media(max-width:560px){.sound-instrument{min-height:400px}.instrument-head{display:block}.instrument-status{text-align:left;margin-top:5px}.chord-bank button{min-height:105px;padding:15px 10px}.chord-bank span{font-size:25px}.note-bank{grid-template-columns:repeat(4,1fr)}.note-bank button{min-height:92px;border-right:1px solid var(--line);padding:12px 6px}.note-bank button:nth-child(4n){border-right:0}.note-bank span{font-size:27px}.note-bank small{margin-top:9px}.instrument-foot input{width:110px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-word{opacity:1!important;transform:none!important}.image-frame img{transform:none!important}}
