@font-face{font-family:Inter;src:local('Inter')}*{box-sizing:border-box}html{color-scheme:dark;background:#050505;scroll-behavior:smooth}body{margin:0;background:#050505;color:#f2edf4;font-family:Inter,Arial,Helvetica,sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer;color:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #f2b8ec;outline-offset:6px}button:disabled{opacity:.4}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-70px;z-index:100;background:#e9c2f4;color:#17121b;padding:14px 22px;border-radius:20px}.skip-link:focus{top:18px}.site-header{position:fixed;left:30px;right:30px;top:22px;z-index:30;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.site-header>*{pointer-events:auto}.wordmark{font-weight:850;letter-spacing:-.075em;font-size:24px;line-height:.82;display:flex;flex-direction:column}.site-header nav{display:flex;align-items:center;gap:23px;font-size:11px}.contact-link{font-size:11px;letter-spacing:.08em}.text-button{background:transparent;padding:10px;color:#e4dce7}.collection-bar{position:fixed;z-index:30;left:50%;top:20px;transform:translateX(-50%);display:flex;gap:7px;align-items:center;padding:3px;border:1px solid #ffffff15;border-radius:30px;background:#17131894;backdrop-filter:blur(16px)}.filters{display:flex;gap:2px}.filters button,#view-toggle{background:transparent;min-width:37px;height:37px;border-radius:50%;font-size:18px;color:#b1a6b6;padding:4px}.filters button[aria-pressed=true],#view-toggle[aria-pressed=true]{background:#b399c136;color:#f5d3ed}.filters button:hover,#view-toggle:hover{background:#ffffff14}.stage{position:relative;width:100%;height:100svh;min-height:680px;max-height:1200px;overflow:hidden}.constellation{position:absolute;inset:0}.float-anchor{position:absolute;left:var(--x);top:var(--y);width:var(--w);z-index:4}.project-tile{display:block;position:relative;width:100%;aspect-ratio:1.40;background:none;border:0;padding:0;text-align:left;isolation:isolate}.tile-visual{position:absolute;inset:5%;border:19px solid #a36acb;border-radius:36%;background:linear-gradient(135deg,#eec8f3,#8754b5);box-shadow:inset 2px 4px 10px #ffffff65,0 8px 25px #0006;overflow:hidden;transition:opacity .2s}.tile-visual img{display:block;width:100%;height:100%;object-fit:cover;border-radius:16%}.project-tile[data-toy=hero] .tile-visual{border-color:#ed5eaa;background:#ff9c54;border-radius:32% 39% 35% 30%}.project-tile[data-toy=lime] .tile-visual{border-color:#cede68}.project-tile[data-toy=cream] .tile-visual{border-color:#ddcfe5}.project-tile[data-toy=lilac] .tile-visual{border-color:#c499d4}.toy-renderer-ready .tile-visual,.toy-renderer-ready .case-image>img{opacity:0}.tile-caption{display:flex;position:absolute;left:14%;right:14%;bottom:0;align-items:center;justify-content:center;gap:12px;font-size:12px;letter-spacing:.01em;color:white;opacity:0;transition:opacity .22s;filter:drop-shadow(0 1px 5px #000)}.tile-caption strong{font-weight:500}.tile-arrow{font-size:16px}.tile-category{position:absolute;overflow:hidden;clip:rect(0,0,0,0);height:1px;width:1px}.project-tile:is(:hover,:focus-visible) .tile-caption{opacity:1}.project-tile:focus-visible{outline:0}.project-tile:focus-visible:after{content:'';position:absolute;inset:2%;border:1px dashed #e4b4f3;border-radius:40%;pointer-events:none}.type-art{white-space:pre-line;font-weight:900;font-size:28px;color:#220b31;display:grid;place-items:center;height:100%}.toy-scene-canvas{contain:strict}.transport{position:fixed;z-index:30;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;padding:6px 13px 6px 7px;background:#19151cbd;border:1px solid #ffffff19;border-radius:40px;backdrop-filter:blur(20px);box-shadow:0 10px 35px #0005}.transport-left,.transport-right{display:flex;gap:12px;align-items:center}.sound-toggle{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#302237;color:#e9c0f5}.sound-symbol{font-size:22px}.sound-enabled .sound-toggle{background:#e1b2ed;color:#25112d;box-shadow:0 0 22px #c773f13b}.beat-display{display:flex;gap:5px}.beat-display i{width:4px;height:4px;border-radius:50%;background:#5c4b62;transition:background .1s,box-shadow .1s}.beat-display i.active{background:#e4b6f9;box-shadow:0 0 8px #ee9cff}.transport .text-button{height:34px;min-width:30px;font-size:18px;padding:4px}.tempo-control input{border:0;background:transparent;width:40px;padding:5px 0;color:#c4b7ca;font-size:11px;text-align:center;-moz-appearance:textfield}.tempo-control input::-webkit-inner-spin-button{display:none}.volume-control input{accent-color:#cfa7df;width:55px;height:3px;display:block}.project-index{position:relative;z-index:5;max-width:1140px;padding:115px 35px 120px;margin:auto}.index-row{width:100%;display:grid;grid-template-columns:35px 76px 1fr 230px 20px;align-items:center;gap:23px;background:transparent;text-align:left;border-bottom:1px solid #ffffff19;padding:18px 0;transition:color .18s,background .18s}.index-row:hover,.index-row.note-hit{color:#ecb6f2;background:#23132840}.index-number{font-size:10px;color:#74667a}.index-row img,.index-thumb{width:76px;height:48px;object-fit:cover;border-radius:14px}.index-title{font-size:22px;letter-spacing:-.035em}.index-category{font-size:10px;letter-spacing:.05em;color:#a495ad}.index-thumb{display:grid;place-items:center;background:#b89ad7;font-size:25px;color:#282132}dialog{border:0;color:inherit}dialog::backdrop{background:#000a;backdrop-filter:blur(10px)}.project-dialog{position:fixed;inset:0;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;background:#050505;overflow:auto;overscroll-behavior:contain}.case-toolbar{position:sticky;top:0;height:76px;padding:15px 30px;z-index:30;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.case-toolbar button{pointer-events:auto;border:1px solid #ffffff18;background:#1f1823b3;backdrop-filter:blur(12px);width:42px;height:42px;border-radius:50%;font-size:20px;color:#e9daef}.case-toolbar button:hover{background:#56375e}.case-paging{display:flex;gap:9px}.back-button{display:grid;place-items:center}#case-content{position:relative;z-index:3;padding:15px 5vw 110px;max-width:1500px;margin:auto}.case-heading{margin:15px 4% 55px;max-width:800px;pointer-events:none}.eyebrow{font-size:10px;letter-spacing:.12em;color:#bda7c5}.case-heading h2{font-size:clamp(42px,6.4vw,96px);font-weight:550;letter-spacing:-.075em;line-height:.95;margin:18px 0}.case-heading>p{color:#b39dbb;font-size:13px}.case-field{display:grid;grid-template-columns:repeat(12,1fr);gap:30px 40px;align-items:center}.case-piece{position:relative;transition:transform .25s ease,box-shadow .25s ease;min-width:0}.case-piece:not(.case-image):is(:hover,:focus-visible,.note-hit){transform:scale(1.035);box-shadow:0 0 45px #d994ed28}.case-summary{grid-column:1/6;padding:40px 42px;background:radial-gradient(ellipse at 25% 0,#ecd3fa 0,#b993d4 30%,#9773b7 75%,#b4a3cd 100%);border-radius:65px 80px 70px 80px;color:#291d31;box-shadow:inset 2px 5px 8px #fff8,inset -5px -9px 20px #69467a55;transform:rotate(-3deg)}.case-summary h3{font-size:clamp(21px,2.4vw,34px);font-weight:550;line-height:1.16;letter-spacing:-.04em;margin:0 0 20px}.case-summary p{font-size:11px;margin:0;opacity:.75}.case-image{grid-column:6/13;width:100%;aspect-ratio:1.4;background:none;border:0;padding:0;overflow:visible}.case-image>img{width:88%;height:88%;object-fit:cover;border:20px solid #bea0ce;border-radius:32%;transition:opacity .2s}.case-field>.case-image:nth-child(3){grid-column:1/8}.case-story{grid-column:8/13;line-height:1.65;font-size:15px;padding:40px;border-radius:66px 50px 70px 50px;background:radial-gradient(ellipse at 20% 0,#f8f0ad,#cdda62 60%,#a1b147);color:#282c10;box-shadow:inset 2px 4px 7px #fff9,inset -5px -8px 15px #737b3c55;transform:rotate(3deg)}.case-story p{margin:0}.case-field>.case-image:nth-child(5){grid-column:2/8}.case-field>.case-image:nth-child(6){grid-column:8/13}.case-links{grid-column:1/7;justify-self:center;display:flex;flex-wrap:wrap;gap:18px;padding:24px 35px;background:radial-gradient(ellipse at 20% 0,#ffd9e7,#df80b3 70%,#b3689a);border-radius:45px;color:#321326;box-shadow:inset 2px 3px 6px #fff9,inset -3px -5px 15px #8b3c6a66;transform:rotate(-3deg)}.case-links a{font-size:14px;line-height:1.5}.case-note{grid-column:7/13;line-height:1.6;font-size:14px;color:#bba9c3;padding:24px}.case-video{grid-column:2/12;padding:15px}.case-video video{display:block;width:100%;max-height:650px;background:#000;border:1px solid #ffffff24;border-radius:25px}.case-full{margin-top:50px;text-align:right}.case-full a{display:inline-grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff25;border-radius:50%;font-size:22px}.image-dialog{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;background:#080609f5;padding:60px 25px 25px;overflow:hidden}.image-dialog[open]{display:grid;place-items:center}.image-dialog img{display:block;max-width:100%;max-height:calc(100svh - 95px);object-fit:contain}.image-close{position:absolute;z-index:10;right:20px;top:18px;width:40px;height:40px;border:1px solid #ffffff30;border-radius:50%;background:#231b2e;color:white;font-size:27px}.about-dialog{max-width:620px;padding:70px 60px 60px;border-radius:45px;background:radial-gradient(ellipse at 0 0,#3d2444,#140d18 70%);border:1px solid #ffffff23}.about-dialog h2{font-weight:500;letter-spacing:-.065em;font-size:58px;line-height:.98;margin:0 0 30px}.about-dialog em{color:#d0a4e3;font-weight:400}.about-dialog p{font-size:17px;line-height:1.7;color:#c7b3d1;margin:0 0 35px}.about-dialog .contact-link{font-size:12px}.noscript{position:relative;z-index:50;padding:100px;text-align:center}
@media(min-width:1600px){.stage{max-width:1800px;margin:auto}.site-header{left:42px;right:42px}}
@media(max-width:760px){.site-header{top:20px;left:20px;right:20px}.wordmark{font-size:20px}.site-header nav{gap:12px;font-size:10px}.contact-link{font-size:9px}.collection-bar{top:75px}.filters button,#view-toggle{width:34px;height:34px;min-width:34px}.stage{height:1050px;min-height:0;max-height:none}.stage[data-collection=selected] .float-anchor:nth-child(1){--x:0%!important;--y:15%!important;--w:51%!important}.stage[data-collection=selected] .float-anchor:nth-child(2){--x:49%!important;--y:20%!important;--w:50%!important}.stage[data-collection=selected] .float-anchor:nth-child(3){--x:3%!important;--y:36%!important;--w:94%!important}.stage[data-collection=selected] .float-anchor:nth-child(4){--x:0%!important;--y:65%!important;--w:56%!important}.stage[data-collection=selected] .float-anchor:nth-child(5){--x:49%!important;--y:74%!important;--w:51%!important}.stage:not([data-collection=selected]){height:auto!important;min-height:80vh;padding:155px 10px 110px;overflow:visible}.stage:not([data-collection=selected]) .constellation{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:30px 0}.stage:not([data-collection=selected]) .float-anchor{position:relative;left:auto;top:auto;width:100%}.stage:not([data-collection=selected]) .float-anchor:nth-child(even){margin-top:40px}.tile-caption{opacity:1;font-size:10px;bottom:-2px}.tile-arrow{font-size:12px}.transport{gap:14px;bottom:15px;padding-right:10px}.transport-left,.transport-right{gap:7px}.volume-control input{width:40px}.beat-display{gap:3px}.transport .text-button{min-width:25px}.project-index{padding:145px 20px 110px}.index-row{grid-template-columns:20px 45px 1fr 15px;gap:12px;padding:19px 0}.index-row img,.index-thumb{width:45px;height:38px;border-radius:10px}.index-title{font-size:17px}.index-category{display:none}.case-toolbar{padding:13px 17px;height:68px}.case-toolbar button{width:37px;height:37px}.case-paging{gap:6px}#case-content{padding:15px 17px 75px}.case-heading{margin:20px 10px 35px}.case-heading h2{font-size:49px}.case-field{display:flex;flex-direction:column;gap:32px;padding:10px 0}.case-piece{width:100%}.case-summary{width:91%;padding:33px;border-radius:55px}.case-summary h3{font-size:27px}.case-image{aspect-ratio:1.35}.case-story{width:89%;padding:34px;font-size:14px;border-radius:50px}.case-links{width:auto;max-width:90%;margin:10px 0}.case-note{padding:15px 24px}.case-video{width:100%;padding:0}.case-full{margin-top:20px}.about-dialog{width:calc(100% - 30px);padding:65px 30px 40px;border-radius:30px}.about-dialog h2{font-size:43px}.about-dialog p{font-size:15px}.image-dialog{padding:65px 10px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Draw the small transport glyphs without depending on symbol fonts. */
#motion-toggle span,#case-motion span{display:inline-block;width:13px;height:14px;font-size:0;position:relative;vertical-align:middle}#motion-toggle span:before,#case-motion span:before{content:'';display:block;position:absolute;left:2px;top:1px;width:9px;height:12px;border-left:2px solid currentColor;border-right:2px solid currentColor}#motion-toggle[aria-pressed=true] span:before,#case-motion[aria-pressed=true] span:before{width:0;height:0;border:6px solid transparent;border-left:9px solid currentColor;border-right:0;left:3px}.tile-arrow,.contact-link>span{font-size:0;display:inline-block;position:relative;width:10px;height:10px}.tile-arrow:before,.contact-link>span:before{content:'';position:absolute;top:0;right:0;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor}.tile-arrow:after,.contact-link>span:after{content:'';position:absolute;left:1px;top:5px;width:10px;border-top:1px solid currentColor;transform:rotate(-45deg);transform-origin:center}
.toy-renderer-ready .tile-visual:has(.type-art){opacity:1;inset:25% 22%;border:0;border-radius:0;background:none;box-shadow:none}.toy-renderer-ready .type-art{color:#dac8ea;font-size:clamp(15px,2vw,28px);text-align:center}
.instrument-shape{position:absolute;z-index:5;left:var(--sx);top:var(--sy);width:var(--sw);min-width:44px;aspect-ratio:1;border:0;padding:0;background:none;border-radius:45%;cursor:pointer}.instrument-shape:focus-visible{outline:1px dashed #e9bdf1;outline-offset:4px}.shape-fallback{display:block;position:absolute;inset:8%;border-radius:48%;background:radial-gradient(circle at 27% 24%,#fff 0%,var(--shape-color) 22%,#754b8e 100%);box-shadow:inset 2px 4px 8px #fff6,0 0 20px #b98bd422;transition:transform .2s}.instrument-shape[data-shape=bubble] .shape-fallback{border-radius:50%;background:radial-gradient(circle at 28% 25%,#fff 0%,#b4e4ff55 10%,#0000 36%,#ecc7f788 76%,#baeaffc9 85%,#baa0dc44 98%)}.instrument-shape[data-shape=star] .shape-fallback{border-radius:25% 50% 25% 50%;transform:rotate(30deg)}.instrument-shape:is(:hover,:focus-visible,.note-hit) .shape-fallback{transform:scale(1.15)}.toy-renderer-ready .shape-fallback{opacity:0}
@media(max-width:760px){.instrument-shape[data-instrument='0']{--sx:53%!important;--sy:13%!important;--sw:14%!important}.instrument-shape[data-instrument='1']{--sx:9%!important;--sy:31%!important;--sw:12%!important}.instrument-shape[data-instrument='2']{--sx:64%!important;--sy:65%!important;--sw:16%!important}.instrument-shape[data-instrument='3']{--sx:81%!important;--sy:32%!important;--sw:13%!important}.instrument-shape[data-instrument='4']{--sx:31%!important;--sy:90%!important;--sw:12%!important}}
/* The floating objects stay unlabeled; names remain in accessible controls and project details. */
.tile-caption{display:none!important}
.project-tile .type-art{visibility:hidden}
@media(max-width:760px){
.stage[data-collection=selected]{height:1550px}
.stage[data-collection=selected] .float-anchor:nth-child(1){--x:0%!important;--y:2%!important;--w:51%!important}
.stage[data-collection=selected] .float-anchor:nth-child(2){--x:50%!important;--y:8%!important;--w:50%!important}
.stage[data-collection=selected] .float-anchor:nth-child(3){--x:3%!important;--y:22%!important;--w:94%!important}
.stage[data-collection=selected] .float-anchor:nth-child(4){--x:0%!important;--y:43%!important;--w:54%!important}
.stage[data-collection=selected] .float-anchor:nth-child(5){--x:48%!important;--y:52%!important;--w:52%!important}
.stage[data-collection=selected] .float-anchor:nth-child(6){--x:0%!important;--y:66%!important;--w:56%!important}
.stage[data-collection=selected] .float-anchor:nth-child(7){--x:49%!important;--y:76%!important;--w:51%!important}
.instrument-shape[data-instrument='0']{--sx:55%!important;--sy:2%!important;--sw:14%!important}
.instrument-shape[data-instrument='1']{--sx:12%!important;--sy:18%!important;--sw:12%!important}
.instrument-shape[data-instrument='2']{--sx:56%!important;--sy:65%!important;--sw:16%!important}
.instrument-shape[data-instrument='3']{--sx:80%!important;--sy:41%!important;--sw:13%!important}
.instrument-shape[data-instrument='4']{--sx:22%!important;--sy:87%!important;--sw:12%!important}
}

/* Quiet project labels: actual text, no panel, no new hover target. */
.project-tile .tile-caption{display:flex!important;position:absolute;left:50%;right:auto;top:100%;bottom:auto;transform:translateX(-50%);flex-direction:column;gap:5px;width:100%;text-align:center;opacity:1;pointer-events:none;filter:none;transition:none;line-height:1.25;color:#f7f5fa;font-size:15px;letter-spacing:0}
.project-tile .tile-caption strong{font-weight:500;max-width:100%;text-wrap:balance}
.project-tile .tile-category{position:static;clip:auto;overflow:visible;width:auto;height:auto;color:#a79dad;font-size:10px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;text-wrap:balance}
body:is(.experience-intro,.experience-preparing,.experience-revealing) .tile-caption{visibility:hidden}
@media(max-width:760px){.project-tile .tile-caption{font-size:12px;gap:4px}.project-tile .tile-category{font-size:9px;letter-spacing:.03em}}
