@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:dark;--paper:#050913;--surface:#0a111e;--ink:#edf5fc;--muted:#a4b5c6;--line:#213345;--accent:#83e7ff;--sans:'DM Sans',Arial,sans-serif;--display:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:hover,button:hover{color:var(--accent)}button:disabled{cursor:default;opacity:.65}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}h1,h2,h3,p,figure{margin:0}em{font-style:normal;color:var(--accent);font-weight:inherit}.wrap{width:min(1380px,calc(100% - 144px));margin-inline:auto}.site-header{display:flex;align-items:center;min-height:96px;gap:42px;position:relative;z-index:3}.wordmark{font-family:var(--display);font-size:28px;letter-spacing:-1px;font-weight:550}.wordmark-dot{color:var(--accent)}.header-note{display:none}nav{display:flex;gap:36px;margin-left:auto}nav a{font-size:15px}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:20px;background:var(--ink);color:var(--paper);padding:14px;z-index:20}.skip:focus{top:10px}
.hero{position:relative}.hero-grid{position:relative;min-height:680px;display:flex;align-items:center}.hero-copy{position:relative;z-index:2;pointer-events:none;width:480px;padding:50px 0 90px}.hero-copy a{pointer-events:auto}h1{font-family:var(--display);font-weight:450;font-size:clamp(68px,6.25vw,96px);line-height:1.08;letter-spacing:-5px}h1 em{color:var(--ink)}.hero-copy>p{font-size:19px;line-height:1.65;color:#b3c6d6;margin:30px 0 38px}.text-link{display:inline-flex;align-items:center;gap:26px;font-size:14px;letter-spacing:.1px;border:0;background:none;padding:0;color:var(--accent)}.text-link span{font-size:21px;line-height:1}.hero-copy .text-link{border:1px solid var(--accent);border-radius:40px;padding:14px 28px;gap:25px;font-size:16px;transition:background .2s,box-shadow .2s}.hero-copy .text-link:hover{background:#83e7ff0c;box-shadow:0 0 24px #83e7ff15}.hero-art{position:absolute;width:calc(100% - 270px);right:-58px;top:-18px;bottom:0;z-index:1;min-width:0}.score-stage{position:absolute;inset:0 0 67px;height:auto;isolation:isolate}.score-stage::before{content:'';position:absolute;inset:12% 6%;z-index:-1;background:radial-gradient(ellipse at 60% 42%,#12324a60,transparent 66%);}.score-stage canvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0}.score-stage.webgl-ready canvas{opacity:1}.score-fallback{position:absolute;width:92%;height:90%;left:4%;top:4%;object-fit:contain;filter:invert(1);opacity:.6;transform:perspective(900px) rotateY(-15deg) rotateZ(-7deg);transition:opacity .4s}.webgl-ready .score-fallback{opacity:0}figcaption{position:absolute;bottom:9px;left:12%;right:0;display:flex;align-items:center;justify-content:flex-end;gap:28px;font-size:12px;letter-spacing:1.8px;color:var(--muted)}.score-title{display:block;color:#b3daeb;font-size:12px}.caption-divider{color:#456071;margin:0 7px}.score-subtitle{font-size:12px;letter-spacing:.1px;color:var(--muted)}.score-controls{display:flex;gap:0;flex-shrink:0;align-items:center}.score-controls button{background:transparent;border:0;min-height:44px;padding:10px 16px;font-size:13px;letter-spacing:0}.score-controls button+button{border-left:1px solid var(--line);padding-right:0}.score-controls button span{margin-left:12px}.hero-bottom{border-bottom:1px solid var(--line);padding:20px 0 24px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted)}.hero-bottom>a{font-size:10px;letter-spacing:1.4px}.hero-bottom>a span{font-size:18px;margin-left:15px}
.section{padding-block:85px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:12px;letter-spacing:1.7px;color:var(--accent);font-weight:500}.small-note{font-size:13px;color:var(--muted)}.section-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:end;margin:34px 0 50px}h2{font-family:var(--display);font-size:clamp(36px,3.55vw,54px);font-weight:450;letter-spacing:-2px;line-height:1.2}.section-intro>p{font-size:16px;max-width:420px;color:var(--muted)}.research .section-intro{display:block}.research .section-intro h2 br{display:none}.research .section-intro h2 br::after{content:' '}.research .section-intro h2 em::before{content:' '}.research .section-intro>p{max-width:760px;margin-top:20px}.research-grid{display:grid;grid-template-columns:1fr 1fr}.research-card{padding:12px 62px 12px 0}.research-card+article{border-left:1px solid var(--line);padding-left:62px;padding-right:0}.research-question{color:var(--ink)!important;margin-top:23px;font-size:20px!important}.research-card h3{font-family:var(--display);font-size:46px;font-weight:450;letter-spacing:-1.7px;line-height:1.2;margin:12px 0 22px}.research-card>p{font-size:16px;max-width:430px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:10px 18px;margin:24px 0 27px}.tags span{font-size:12px;color:#8ba7bc}.core-strip{display:flex;align-items:center;gap:22px;margin-top:40px;border:1px solid #2a475a;border-radius:4px;padding:20px 24px;background:linear-gradient(105deg,#101e2933,#0a111e11)}.core-mark{font-size:25px;color:var(--accent)}.core-strip strong{font-size:15px;font-weight:500}.core-strip p{font-size:14px;color:var(--muted);flex:1}.plain-button{font-size:14px;background:transparent;border:0;color:var(--accent);white-space:nowrap;padding:8px 0}.work{background:linear-gradient(180deg,#07101c88,transparent);border-top:1px solid #162637}.work-list{border-top:1px solid var(--line)}.work-row{display:grid;grid-template-columns:45px 1fr 220px 45px;align-items:center;gap:24px;border-bottom:1px solid var(--line);padding:25px 0}.work-number{font-size:12px;color:#8299af;letter-spacing:1px;font-family:var(--display)}.work-row h3{font-family:var(--display);font-size:28px;font-weight:450;letter-spacing:-.7px}.work-row p{color:var(--muted);font-size:15px;margin-top:4px}.work-status{color:#a4b5c6;font-size:13px;line-height:1.8}.work-status span{display:block;font-size:11px;color:#8ca4b8;letter-spacing:1px}.round-link{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;font-size:24px;color:var(--accent);transition:transform .2s}.round-link:hover{transform:translate(3px,-3px)}.music-note{display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:35px;padding-top:36px}.score-thumbnail{height:135px;border:1px solid var(--line);border-radius:3px;background:#0a1522;padding:10px;overflow:hidden}.score-thumbnail img{width:100%;height:100%;object-fit:cover;filter:invert(1);opacity:.65}.music-note h3{font-family:var(--display);font-size:28px;font-weight:500;letter-spacing:1px;margin:8px 0 3px}.music-note p{color:var(--muted);font-size:15px}.notes-list{border-top:1px solid var(--line)}.note{border-bottom:1px solid var(--line)}.note summary{display:grid;grid-template-columns:135px 1fr 145px 24px;gap:22px;align-items:center;padding:27px 0;cursor:pointer;list-style:none}.note summary::-webkit-details-marker{display:none}.note-date{font-size:12px;color:var(--muted)}.note-title{font-size:18px;font-weight:450}.note-label{color:var(--accent);font-size:10px;letter-spacing:1px}.note-plus{font-size:23px;font-weight:400;color:var(--accent)}.note[open] .note-plus{transform:rotate(45deg)}.note-body{padding:0 180px 25px 157px;color:var(--muted);font-size:15px}.note-body p+p{margin-top:12px}.note-body strong{color:var(--ink);font-weight:500}.snapshot-note{font-size:12px;color:#8c9caf;margin-top:24px}.about{padding-block:40px 65px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;border:1px solid var(--line);border-radius:7px;padding:50px;background:linear-gradient(130deg,#10243533,transparent)}.about h2{margin:29px 0 22px;font-size:52px}.about-caption{font-size:11px;letter-spacing:1.2px;color:#98b5c9}.about-copy{border-left:1px solid var(--line);padding-left:45px}.about-copy p{color:var(--muted);font-size:15px;margin-bottom:20px}.about-copy .large-copy{font-size:23px;line-height:1.5;color:var(--ink);font-family:var(--display);letter-spacing:-.6px}.about-copy .text-link{margin-top:5px}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:100px;border-top:1px solid var(--line)}footer>span,footer>a:last-child{font-size:12px;color:var(--muted)}footer .wordmark{font-size:25px}
dialog{width:min(740px,calc(100% - 32px));max-height:87dvh;padding:34px 42px;border:1px solid #385168;border-radius:12px;background:#0a1323eF;backdrop-filter:blur(30px);color:var(--ink);box-shadow:0 30px 120px #0008;scrollbar-color:#42647b #101a26}dialog::backdrop{background:#020710bb;backdrop-filter:blur(10px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:27px}.dialog-top button{background:transparent;border:0;font-size:14px;white-space:nowrap;min-height:44px}.dialog-top button span{font-size:23px;margin-left:12px}dialog h2{font-size:42px;margin-bottom:10px}dialog .dialog-subtitle{color:var(--accent);font-size:14px;margin-bottom:24px}dialog h3{font-size:16px;margin:24px 0 8px}dialog p,dialog li{color:var(--muted)}dialog ul{padding-left:20px}dialog li+li{margin-top:7px}#score-dialog{width:min(990px,calc(100% - 28px));padding:24px;max-height:94dvh}#score-dialog .dialog-top{margin-bottom:20px;padding-bottom:15px}#score-dialog h2{font-size:23px;font-weight:500;letter-spacing:.5px;margin:0}#score-dialog h2 span{font-size:15px;color:var(--accent);margin-left:12px}#score-dialog .dialog-top p{font-size:13px;margin-top:4px}.score-reader{background:white;color-scheme:light;border-radius:2px}.score-reader img{width:100%;height:auto;display:block}.noscript-note{padding-block:30px}
.score-stage{overflow:hidden}
@media(min-width:1600px){.hero-grid{min-height:750px}.hero-art{width:calc(100% - 250px);right:-65px}.hero-copy{width:540px}}
@media(max-width:1100px){.wrap{width:calc(100% - 80px)}.site-header{min-height:85px}.hero-grid{min-height:610px}.hero-copy{width:420px}h1{font-size:78px;letter-spacing:-4.5px}.hero-copy>p{font-size:17px}.hero-art{width:calc(100% - 210px);right:-35px;top:-15px}figcaption{left:5%;gap:16px}.score-controls button{padding-inline:10px;font-size:12px}.section-intro{gap:45px}.research-card{padding-right:35px}.research-card+article{padding-left:35px}.core-strip{gap:15px;flex-wrap:wrap}.core-strip p{flex-basis:45%}.music-note{grid-template-columns:180px 1fr auto;gap:24px}.work-row{grid-template-columns:35px 1fr 180px 40px;gap:20px}.about-grid{padding:35px;gap:35px}.about-copy{padding-left:30px}.note summary{grid-template-columns:120px 1fr 120px 24px;gap:17px}.note-body{padding-left:137px;padding-right:40px}}
@media(max-width:800px){.hero-art{width:calc(100% - 170px);right:-35px}.hero-copy{width:360px}h1{font-size:65px;letter-spacing:-3.5px}.hero-grid{min-height:570px}.hero-copy>p{font-size:16px}.hero-copy .text-link{font-size:14px;padding:12px 22px}.score-controls{flex-direction:column;align-items:flex-end}.score-controls button{min-height:35px;padding:5px 0}.score-controls button+button{border:0}.hero-art figcaption{bottom:15px}.section{padding-block:65px}.section-intro{gap:25px}.section-intro h2{font-size:37px}.research-card h3{font-size:38px}.research-question{font-size:17px!important}.work-row{grid-template-columns:27px 1fr 145px 35px;gap:14px}.work-row h3{font-size:25px}.work-status{font-size:12px}.music-note{grid-template-columns:140px 1fr;gap:24px}.music-note>.text-link{grid-column:2}.note summary{grid-template-columns:105px 1fr 24px;gap:15px}.note-label{grid-column:2;grid-row:2}.note-plus{grid-column:3;grid-row:1}.note-body{padding-left:120px}.about-grid{gap:28px;grid-template-columns:1fr 1.2fr}.about h2{font-size:39px}.about-copy{padding-left:25px}.about-copy .large-copy{font-size:20px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{min-height:78px;flex-wrap:wrap;gap:0;justify-content:space-between}.wordmark{font-size:25px}.menu-toggle{display:flex;gap:20px;align-items:center;background:transparent;border:0;font-size:14px;padding:10px 0 10px 15px}.menu-toggle span{font-size:23px}nav{display:none;flex-basis:100%;margin:0;padding:0 0 23px;justify-content:space-between;gap:12px}nav.open{display:flex}nav a{font-size:14px}.hero-grid{display:block;min-height:auto}.hero-copy{width:auto;padding:35px 0 0;pointer-events:auto}h1{font-size:clamp(56px,12.9vw,76px);letter-spacing:-3px;line-height:1.1}.hero-copy>p{margin:23px 0 25px;font-size:16px}.hero-copy .text-link{padding:12px 22px}.hero-art{position:relative;width:calc(100% + 24px);height:365px;right:auto;top:auto;margin:0 -12px}.score-stage{inset:-18px -10px 55px}.hero-art figcaption{left:12px;right:12px;bottom:7px;justify-content:space-between;gap:10px}.score-controls{flex-direction:row;align-items:center;gap:12px}.score-controls button{font-size:12px;min-height:44px;padding:8px 0}.score-controls button+button{border-left:1px solid var(--line);padding-left:12px}.score-controls button span{margin-left:3px}.score-title{font-size:11px;letter-spacing:1px}.score-subtitle{font-size:10px;letter-spacing:0}.hero-bottom{font-size:11px;padding:20px 0}.hero-bottom>a{font-size:9px;letter-spacing:.7px;max-width:110px;text-align:right}.hero-bottom>a span{margin-left:4px}.section{padding-block:54px}.section-top .small-note{display:none}.eyebrow{font-size:11px;letter-spacing:1.2px}.section-intro{display:block;margin:28px 0 35px}.section-intro h2{font-size:36px;letter-spacing:-1.5px}.section-intro>p{font-size:15px;margin-top:23px}.research .section-intro h2 br{display:block}.research .section-intro h2 em::before{content:''}.research-grid{grid-template-columns:1fr}.research-card,.research-card+article{padding:20px 0 32px;border:0}.research-card+article{padding-top:30px;border-top:1px solid var(--line)}.research-card h3{font-size:38px;margin:12px 0 20px}.research-card>p{font-size:15px}.research-question{margin-top:18px}.tags{margin-block:22px;gap:10px 14px}.core-strip{margin-top:10px;padding:20px;gap:12px}.core-strip strong{font-size:14px}.core-strip p{flex-basis:100%;font-size:14px}.core-strip .plain-button{font-size:14px}.core-mark{display:none}.work-row{grid-template-columns:25px 1fr 34px;gap:10px;padding:24px 0}.work-number{font-size:10px}.work-row h3{font-size:25px}.work-row p{font-size:14px}.work-status{grid-column:2;grid-row:2;font-size:12px}.work-status span{font-size:10px;display:inline;margin-right:8px}.round-link{grid-column:3;grid-row:1;width:34px}.music-note{grid-template-columns:100px 1fr;gap:20px;padding-top:28px}.score-thumbnail{height:108px;padding:6px}.music-note h3{font-size:25px;margin-top:7px}.music-note p{font-size:13px}.music-note>.text-link{grid-column:1/-1;justify-self:end;font-size:14px}.music-note .eyebrow{font-size:10px}.note summary{grid-template-columns:1fr 25px;gap:8px 12px;padding-block:23px}.note-date{grid-column:1;font-size:12px}.note-title{grid-column:1;grid-row:2;font-size:18px}.note-label{grid-column:1;grid-row:3;font-size:10px}.note-plus{grid-column:2;grid-row:2}.note-body{padding:0 0 25px;font-size:15px}.snapshot-note{font-size:11px}.about{padding-top:16px}.about-grid{display:block;padding:27px 24px}.about h2{font-size:41px;margin:24px 0 15px}.about-caption{font-size:10px}.about-copy{border:0;border-top:1px solid var(--line);padding:27px 0 0;margin-top:30px}.about-copy .large-copy{font-size:23px}.about-copy p{font-size:15px}footer{flex-wrap:wrap;gap:14px;padding-block:25px}footer>span{order:3;flex-basis:100%;font-size:11px}dialog{padding:23px}dialog h2{font-size:34px}.dialog-top .eyebrow{font-size:10px;letter-spacing:1px}#score-dialog{padding:16px}#score-dialog h2{font-size:21px}#score-dialog .dialog-top p{font-size:11px}}
@media(max-width:360px){.hero-art{height:320px}.score-subtitle{max-width:130px;display:block;line-height:1.4}.score-controls{gap:8px}.score-controls button+button{padding-left:8px}.score-controls button{font-size:11px}.core-strip strong{font-size:13px}.music-note{grid-template-columns:85px 1fr;gap:15px}}
@media(max-width:600px){.score-stage{inset:-18px 0 55px}}
/* Give the notation more physical pixels, not just a larger empty container.
   Its projected size scales with stage height; feather the text side only. */
@media(min-width:1001px){
  .hero-grid{min-height:880px;align-items:flex-start}
  .hero-copy{padding-top:90px}
  .hero-art{width:calc(100% + 70px);right:-58px;top:-8px}
  /* Text-side feathering is rendered inside the WebGL pass. */
}
@media(min-width:1600px){.hero-grid{min-height:960px}.hero-art{width:calc(100% + 100px);right:-65px}}
@media(min-width:1001px) and (max-width:1100px){.hero-art{right:-32px;width:calc(100% + 40px)}}
@media(min-width:601px) and (max-width:1000px){
  .hero-grid{display:block;min-height:auto}
  .hero-copy{width:100%;padding:40px 0 0}
  .hero-art{position:relative;width:calc(100% + 40px);height:630px;right:auto;top:auto;margin:0 -20px}
  .score-stage{inset:0 0 75px}
  .hero-art figcaption{left:20px;right:20px;bottom:10px;justify-content:space-between}
  .score-controls{flex-direction:row;gap:16px;align-items:center}
  .score-controls button{min-height:44px}
}
@media(max-width:600px){.hero-art{height:460px}}
@media(max-width:360px){.hero-art{height:405px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Finishing details: quiet hierarchy and clearly visible interaction states. */
.hero-kicker{display:block;font-size:10px;letter-spacing:2.2px;color:#95bdcf;margin-bottom:24px}
.site-header nav a{position:relative;padding-block:10px}
.site-header nav a::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after{transform:scaleX(1)}
.work-row{transition:background .2s}.work-row:hover{background:linear-gradient(90deg,transparent,#83e7ff05,transparent)}
.hero-art figcaption{border-top:1px solid #83e7ff18;padding-top:14px}
.score-controls button:hover{color:#d7f7ff}
@media(min-width:1001px){.hero-copy{padding-top:70px}.hero-art figcaption{left:57%}}
@media(max-width:600px){.hero-kicker{font-size:9px;letter-spacing:1.7px;margin-bottom:18px}.hero-art figcaption{padding-top:9px}}
