*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:#1d1d1f;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.viewer-shell:focus-visible{outline:3px solid #0879ed;outline-offset:5px}button{border:0}button:disabled{cursor:wait;opacity:.5}[hidden]{display:none!important}.wrap{width:calc(100% - 80px);max-width:1160px;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:100;top:12px;left:20px;padding:12px 18px;background:#0879ed;color:#fff;border-radius:10px;transform:translateY(-150%)}.skip-link:focus{transform:none}header{position:sticky;top:0;z-index:30;background:#ffffffed;border-bottom:1px solid #f0f0f2;backdrop-filter:blur(20px)}.nav{height:74px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:35px;font-weight:750;letter-spacing:-3px}.brand span{font-size:9px;vertical-align:top;letter-spacing:0;display:inline-block;margin:6px}.nav-links{display:flex;gap:36px;font-size:13px;color:#6e6e73}.nav-links a:hover{color:#0879ed}.nav-cta{padding:11px 19px;color:#fff;background:#1d1d1f;border-radius:30px;font-size:12px}.nav-cta span{margin-left:18px}.hero{text-align:center;padding:76px 0 48px}.eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:650}.hero h1{font-size:clamp(66px,7.5vw,102px);line-height:1.08;letter-spacing:-5.5px;font-weight:650;margin:26px 0 24px}.hero h1 span{color:#85858c}.hero-copy{font-size:16px;color:#76767c;line-height:1.75;margin:0 0 26px}.primary{display:inline-flex;align-items:center;gap:23px;padding:14px 24px;border-radius:30px;background:#0879ed;color:#fff;font-size:13px;font-weight:550;transition:background .2s,transform .2s}.primary:hover{background:#0064d1;transform:translateY(-2px)}.hero-note{font-size:10px;color:#86868e;margin:25px 0 0}.dot{display:inline-block;vertical-align:middle;width:5px;height:5px;border-radius:50%;background:#b1b1b6;margin-right:6px}.studio{position:relative;border-radius:28px;background:linear-gradient(145deg,#f7f7f9,#eef0f3);padding:25px 32px 20px;overflow:hidden}.studio-top,.studio-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px}.instrument-label{display:flex;align-items:center;gap:9px;font-size:9px;font-weight:600;letter-spacing:1.8px;color:#72727b}.status-light{width:6px;height:6px;background:#39a17b;border-radius:50%;box-shadow:0 0 0 4px #39a17b12}.text-button{background:transparent;padding:6px 0;color:#68686f;font-size:12px;display:flex;align-items:center;gap:8px}.text-button:hover{color:#0879ed}.play-symbol{font-size:21px;line-height:1}.instrument-tabs{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin:26px auto 18px}.instrument-tabs button{background:transparent;color:#7b7b84;font-size:11px;padding:9px 15px;border-radius:20px;transition:background .2s,color .2s}.instrument-tabs .selected{background:#fff;color:#1d1d1f;box-shadow:0 2px 8px #11111807}.stage-heading{text-align:center}.stage-heading>p:first-child{font-size:9px;letter-spacing:2px;color:#8b8b95;margin:0}.stage-heading h2{font-size:44px;letter-spacing:-1.7px;font-weight:630;margin:10px 0 8px}.stage-heading>p:last-child{font-size:12px;color:#7e7e88;margin:0}.viewer-shell{height:480px;position:relative;isolation:isolate;border-radius:20px;touch-action:none;margin:10px -8px 5px;outline-offset:0!important;overflow:hidden}.viewer-shell.is-ready{cursor:grab}.viewer-shell.is-dragging{cursor:grabbing}.viewer-shell.is-hit{cursor:pointer}#viewer-canvas{position:absolute;inset:0;z-index:2}#viewer-canvas canvas{width:100%;height:100%;display:block;touch-action:none}.viewer-poster{position:absolute;inset:2% 10% 5%;width:80%;height:93%;object-fit:contain;opacity:.5;filter:blur(2px);z-index:0}.model-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;padding:28px;z-index:3;pointer-events:none;text-align:center;background:#f3f4f763}.model-overlay strong{font-size:13px;font-weight:550;color:#5f626b}.model-overlay>span:not(.loader){font-size:11px;color:#848893;line-height:1.7;max-width:320px}.loader{width:25px;height:25px;border:2px solid #0879ed22;border-top-color:#0879ed;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:4px}.load-track{width:140px;height:3px;background:#dfe3ea;overflow:hidden;border-radius:5px;margin-top:5px}.load-track span{height:100%;display:block;width:0;background:#0879ed;transition:width .2s}.outline-button{padding:9px 16px;color:#0879ed;background:#fff;border:1px solid #d7e5f7;border-radius:20px;font-size:11px;pointer-events:auto}.model-overlay.is-error{background:#f3f4f6bd}.viewer-tools{position:absolute;bottom:16px;right:6px;left:6px;display:flex;justify-content:space-between;align-items:center;z-index:4;pointer-events:none}.viewer-tools>*{pointer-events:auto}.model-chip{font-size:9px;color:#838792;background:#ffffff8c;border:1px solid #ffffffb8;padding:7px 10px;border-radius:18px;letter-spacing:.3px}.icon-button{width:31px;height:31px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff9e;border-radius:50%;color:#777d88;font-size:20px;transition:background .2s}.icon-button:hover{background:#fff;color:#0879ed}.viewer-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:#8b909b;z-index:4;pointer-events:none}.viewer-hint>span:first-child{font-size:15px;margin-right:5px}.hint-divider{margin:0 9px;color:#c0c3cb}.model-warning{font-size:11px;line-height:1.6;color:#777b86;text-align:center;margin:4px 0 14px}.play-controls{padding:12px 0 21px}.controls-heading{display:flex;justify-content:space-between;gap:12px;color:#8a8d97;font-size:8px;letter-spacing:1.3px;margin-bottom:12px}.key-hint{letter-spacing:0;font-size:10px}.key-hint kbd{font-size:8px}.note-pads{display:grid;grid-template-columns:repeat(12,1fr);gap:7px}.note-pad{background:#ffffffa6;border:1px solid #fff;color:#777c87;border-radius:10px;min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:background .12s,transform .12s,color .12s,box-shadow .12s}.note-pad .pad-number{font-size:12px;font-weight:550}.note-pad kbd{font-family:inherit;font-size:8px;line-height:1;letter-spacing:.5px;color:#a4a8b0;border:0;background:transparent;padding:0}.note-pad:hover{background:#fff;color:#0879ed;box-shadow:0 3px 12px #1a4b8c08}.note-pad.active{background:#0879ed;color:#fff;transform:translateY(2px);box-shadow:0 0 0 3px #0879ed12}.note-pad.active kbd{color:#c8e4ff}.note-pads.drum-pads{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px;margin-inline:auto}.drum-pads .note-pad{flex-direction:row;gap:16px;min-height:52px}.drum-pads .pad-number{font-size:12px}.studio-bottom{border-top:1px solid #dee0e6;padding-top:16px;font-size:11px;color:#818692}.playing{display:flex;align-items:center;gap:10px;min-width:0}.wave{display:flex;align-items:center;gap:2px;height:16px;flex-shrink:0}.wave i{display:block;width:2px;height:5px;background:#9298a3}.wave i:nth-child(2){height:12px}.wave i:nth-child(3){height:8px}.sounding .wave i{background:#0879ed;animation:wave .35s alternate infinite}.sounding .wave i:nth-child(2){animation-delay:.13s}.sounding .wave i:nth-child(3){animation-delay:.23s}.volume-control,.volume{display:flex;align-items:center;gap:10px}.volume{font-size:10px}.volume input{accent-color:#717b89;width:91px;height:3px;cursor:pointer}.volume output{width:28px;color:#8b909a;text-align:right}.mute-button{background:transparent;width:27px;height:28px}.mute-button svg{fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.mute-cross{display:none}.is-muted .mute-cross{display:block}.is-muted .sound-waves{display:none}.audio-note{font-size:9px;text-align:center;color:#9297a2;line-height:1.65;margin:19px 0 0}.collection{padding-top:100px;padding-bottom:84px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}.section-top .eyebrow{color:#929298}.section-top h2{font-size:36px;letter-spacing:-1.5px;font-weight:620;margin:16px 0 0}.section-top>p{font-size:12px;color:#86868d;line-height:1.8;margin:0}.collection-caption{display:flex;justify-content:space-between;align-items:center;margin:29px 0 22px;font-size:10px;color:#9b9ba3}.collection-count{background:#1d1d1f;color:#fff;padding:10px 17px;border-radius:20px;font-size:11px}.collection-count span{font-size:9px;color:#b7b7bd;margin-left:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.card{position:relative;overflow:hidden;background:#f5f5f7;border-radius:20px;border:1px solid transparent;transition:transform .25s,border-color .25s}.card:hover{transform:translateY(-4px)}.card.is-selected{border-color:#d3e5fb}.card[data-card="bien-khanh"]{background:#f3f4f4}.card[data-card="kien-co"]{background:#f6f3ef}.card-visual{display:block;position:relative;overflow:hidden;width:100%;height:250px;padding:14px;background:transparent}.card-visual img{width:100%;height:100%;object-fit:contain;position:relative;z-index:1;transition:transform .4s}.card:hover .card-visual img{transform:translateY(-3px) scale(1.015)}.poster-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999da6;font-size:24px;letter-spacing:-.8px;gap:12px}.poster-fallback span{font-size:8px;letter-spacing:2px;color:#b0b3b9}.card-visual.has-image .poster-fallback{display:none}.card-current{position:absolute;left:18px;top:18px;padding:6px 9px;border-radius:15px;background:#fff;color:#0879ed;font-size:8px;z-index:2;opacity:0}.is-selected .card-current{opacity:1}.card-content{padding:4px 23px 23px}.card-category{font-size:9px;letter-spacing:1.4px;color:#9b9ba3;margin:0 0 10px}.card h3{font-size:25px;letter-spacing:-.6px;margin:0 0 9px;font-weight:620}.card-description{font-size:11px;line-height:1.8;color:#85858e;margin:0;min-height:40px;max-width:260px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:25px}.card-tag{font-size:9px;color:#9898a0}.play-card{width:35px;height:35px;background:#fff;color:#333;border-radius:50%;font-size:18px;transition:background .2s,color .2s}.play-card:hover{background:#0879ed;color:#fff}.story{border-radius:27px;background:#f5f5f7;text-align:center;padding:55px 24px 42px}.story-symbol{display:flex;justify-content:center;align-items:center;gap:5px;height:44px;margin-bottom:27px}.story-symbol i{width:4px;height:12px;background:#252528;border-radius:6px}.story-symbol i:nth-child(2n){height:24px}.story-symbol i:nth-child(3n){height:35px}.story-symbol i:nth-child(5){height:44px}.story .eyebrow{font-size:9px;color:#909097;letter-spacing:1.8px}.story h2{font-size:46px;font-weight:600;line-height:1.17;letter-spacing:-2px;margin:23px 0}.story>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#85858c;margin-bottom:27px}.experience-note{max-width:560px;margin:35px auto 0;text-align:center;font-size:10px;color:#93939d;line-height:1.8}.experience-note summary{cursor:pointer;display:inline-block;list-style:none;text-decoration:underline;text-decoration-color:#ccccd2;text-underline-offset:4px}.experience-note summary::-webkit-details-marker{display:none}.experience-note p{font-size:11px;line-height:1.85;color:#85858f;text-align:left}.experience-note a{color:#0879ed;text-decoration:underline;text-underline-offset:3px}.experience-note #audio-sources{display:flex;gap:12px;flex-wrap:wrap;text-align:left}.experience-note #tuning-detail:empty{display:none}footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:47px 0 31px!important}footer p{font-size:9px;color:#939399;line-height:1.9}footer>a{font-size:10px;color:#777}.noscript-note{padding:15px 25px;text-align:center;color:#6e6e77;font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes wave{to{height:15px}}
@media(min-width:1500px){.hero{padding-top:91px}.hero h1{font-size:106px}.viewer-shell{height:500px}}
@media(max-width:850px){.wrap{width:calc(100% - 42px)}.hero{padding:62px 0 42px}.hero h1{letter-spacing:-3.5px}.studio{padding:23px 23px 19px}.viewer-shell{height:430px}.cards{gap:13px}.card-visual{height:210px}.card-content{padding:3px 18px 20px}.card h3{font-size:22px}.card-description{font-size:10px;min-height:54px}.section-top h2{font-size:31px}.collection{padding-top:77px}.controls-heading{font-size:8px}.note-pads{gap:5px}.note-pad{min-height:44px}.viewer-hint{font-size:9px}.section-top>p{font-size:11px}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.nav{height:65px}.brand{font-size:30px}.nav-links{gap:21px;font-size:11px}.nav-cta{font-size:10px;padding:10px 13px}.nav-cta span{margin-left:10px}.hero{padding:52px 0 37px}.hero h1{font-size:65px;letter-spacing:-3.6px;margin:24px 0 22px}.hero-copy{font-size:13px;line-height:1.8}.eyebrow{font-size:8px;letter-spacing:1.8px}.primary{padding:13px 21px;font-size:12px}.hero-note{font-size:9px}.studio{width:calc(100% - 20px);padding:20px 17px 18px;border-radius:22px}.instrument-label{font-size:7px;letter-spacing:1px}.text-button{font-size:10px}.instrument-tabs{margin:22px auto 18px;gap:2px}.instrument-tabs button{font-size:10px;padding:8px 13px}.stage-heading h2{font-size:36px;margin-top:9px}.stage-heading>p:first-child{font-size:8px}.stage-heading>p:last-child{font-size:11px}.viewer-shell{height:370px;margin:3px -9px 2px}.viewer-tools{bottom:11px;left:7px;right:7px}.viewer-hint{bottom:10px;font-size:8px}.hint-divider{margin:0 5px}.model-chip{font-size:8px;padding:6px 8px}.icon-button{width:28px;height:28px}.viewer-tools .model-chip{visibility:hidden}.controls-heading{font-size:7px;letter-spacing:.8px;align-items:center}.key-hint{font-size:8px}.note-pads{grid-template-columns:repeat(6,1fr);gap:6px}.note-pad{min-height:42px;border-radius:8px;flex-direction:row;gap:8px}.note-pad .pad-number{font-size:11px}.note-pad kbd{font-size:7px}.play-controls{padding-bottom:17px}.studio-bottom{gap:12px;font-size:9px;align-items:center}.playing{gap:7px;line-height:1.5;max-width:62%}.volume-control,.volume{gap:6px}.volume input{width:55px}.volume output{font-size:8px;width:23px}.audio-note{font-size:8px;margin-top:15px}.section-top h2{font-size:29px;margin-top:13px}.section-top>p{display:none}.collection{padding-top:66px;padding-bottom:57px}.collection-caption{margin:24px 0 19px;font-size:9px}.cards{grid-template-columns:1fr;gap:16px}.card{display:grid;grid-template-columns:45% 55%;border-radius:19px;min-height:205px}.card-visual{height:100%;min-height:205px;padding:12px 3px 12px 8px}.card-content{padding:25px 19px 23px 7px;align-self:center}.card h3{font-size:24px}.card-description{font-size:10px;min-height:0}.card-category{font-size:8px}.card-bottom{margin-top:15px}.card-tag{font-size:8px}.card-current{left:12px;top:12px;font-size:7px;padding:5px 7px}.poster-fallback{font-size:18px}.poster-fallback span{font-size:7px}.story{padding:42px 20px 32px}.story h2{font-size:36px;letter-spacing:-1.5px}.story .eyebrow{font-size:7px;letter-spacing:1.25px}.story>p:not(.eyebrow){font-size:11px}.story-symbol{transform:scale(.85);margin-bottom:20px}.experience-note{font-size:9px;margin-top:28px}.experience-note p{font-size:10px}footer{flex-wrap:wrap;padding-top:33px!important}footer>p{margin:0}footer>a{font-size:9px}.desktop-break{display:none}}
@media(max-width:370px){.hero h1{font-size:56px}.hero-copy{font-size:12px}.nav-links{gap:14px}.viewer-shell{height:330px}.card{grid-template-columns:43% 57%}.card h3{font-size:21px}.card-tag{font-size:7px}.controls-heading .key-hint{display:none}.volume output{display:none}.viewer-hint{font-size:7px}.note-pad{gap:6px}}
.card-bottom{justify-content:flex-end}.brand{white-space:nowrap}.experience-note strong{color:#45464b}
@media(max-width:600px){.nav-links{gap:12px}.nav-links a{white-space:nowrap}}
.card[data-card="kien-co"]{background:#f5f5f7}.instrument-tabs .is-coming{opacity:.5;cursor:default}.instrument-tabs .is-coming small{display:block;font-size:7px;line-height:1.2}.card.is-coming{background:#f5f5f7;border:1px dashed #d9dbe0}.card.is-coming:hover{transform:none}.coming-label{font-size:10px;color:#9296a0}.stage-heading>p:last-child{min-height:16px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.loader{border-color:#0879ed}}
.reference-listen{margin-top:25px;padding-top:17px;border-top:1px solid #e1e2e7;text-align:left}.reference-listen audio{width:100%;height:36px;margin:3px 0}.reference-listen .attribution{font-size:9px;color:#878b94}.reference-listen strong{font-weight:550;color:#626975}.card-description{color:#71717b}.hero-note,.audio-note,.viewer-hint,.key-hint{color:#747b88}
.demo-controls{display:flex;align-items:center;gap:17px}.tempo-control{display:flex;align-items:center;gap:3px;color:#8b909a;font-size:8px}.tempo-control input{width:37px;border:0;border-bottom:1px solid #d4d9e0;text-align:center;background:transparent;color:#626b78;font-size:10px;padding:3px 0;appearance:textfield}.tempo-control input::-webkit-inner-spin-button{appearance:none}@media(max-width:600px){.demo-controls{gap:9px}.tempo-control{font-size:7px}.tempo-control input{width:27px;font-size:9px}}
/* Local authoring control is inserted only for ?capture=1. */
.note-pads:not(.drum-pads){grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.note-pads:not(.drum-pads) .note-pad{position:relative;flex-direction:column;min-height:76px;padding:13px 8px 10px;gap:5px;color:#4c5665}
.note-pads:not(.drum-pads) .pad-number{font-size:13px;font-weight:600}
.pad-modern{font-size:10px;color:#7d8693;line-height:1.4}
.note-pads:not(.drum-pads) kbd{position:absolute;right:7px;top:6px;font-size:8px}
.note-pads .note-pad.active,.note-pads .note-pad.active .pad-modern{color:#fff}
.rack-order{font-size:10px;color:#77808d;text-align:center;margin:13px 0 0;line-height:1.6}
@media(max-width:600px){.note-pads:not(.drum-pads){grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.note-pads:not(.drum-pads) .note-pad{min-height:72px;padding-inline:4px}.note-pads:not(.drum-pads) .pad-number{font-size:12px}.pad-modern{font-size:9px}.rack-order{font-size:9px}}
.capture-toolbar{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;gap:12px;align-items:center;padding:12px 16px;background:#fff;border:1px solid #aabbe3;border-radius:12px;box-shadow:0 5px 24px #17266a1a;font-size:12px;color:#40517b}
.capture-toolbar button{border:0;border-radius:7px;padding:9px 12px;background:#153fd1;color:white;cursor:pointer;font:inherit}
.capture-toolbar button:disabled{opacity:.5;cursor:wait}
.viewer-shell{background:radial-gradient(ellipse at 50% 43%,#12161b 0%,#0b0e13 56%,#07090c 100%);border:1px solid #202832;box-shadow:inset 0 1px 0 #ffffff06}.viewer-shell .viewer-hint{color:#cad3df}.viewer-shell .model-chip{background:#101720b8;border-color:#7a8ba430;color:#c0cddd}.viewer-shell .icon-button{background:#ffffff16;color:#d7e4f5}.viewer-shell .icon-button:hover{background:#ffffff29;color:#fff}.viewer-shell .model-overlay{background:#0b1016e8}.viewer-shell .model-overlay strong{color:#edf3fa}.viewer-shell .model-overlay>span:not(.loader){color:#b8c4d4}.viewer-shell .load-track{background:#ffffff18}.viewer-shell .model-overlay.is-error{background:#0b1016f0}.viewer-shell .loader{border-color:#9bc7ff29;border-top-color:#97c8ff}
.score-choice{display:flex;align-items:center;justify-content:center;gap:14px;margin:22px auto 0}.score-choice>span{font-size:8px;letter-spacing:1.3px;color:#858c98}.score-options{display:flex;gap:5px;padding:4px;border:1px solid #dce1e8;border-radius:11px;background:#edf0f47a}.score-options button{background:transparent;color:#747d8b;padding:8px 13px;border-radius:7px;font-size:11px;white-space:nowrap}.score-options button.selected{background:#fff;color:#1769c5;box-shadow:0 2px 6px #243c6310}.score-options button:hover{color:#0879ed}.viewer-shell[data-layout="landscape"]{width:100%;max-width:900px;aspect-ratio:16/10;height:auto;max-height:560px;margin:10px auto 5px}.viewer-shell[data-layout="portrait"]{width:min(100%,510px);height:clamp(520px,65vh,640px);margin:15px auto 10px}.viewer-shell[data-layout="portrait"] .viewer-poster{inset:2% 5% 5%;width:90%}.viewer-shell[data-layout="portrait"] .viewer-hint{font-size:9px}
@media(max-width:600px){.score-choice{flex-direction:column;gap:7px;margin-top:17px}.score-choice>span{font-size:7px}.score-options{max-width:100%;gap:3px;padding:3px}.score-options button{font-size:10px;padding:8px 11px}.viewer-shell[data-layout="landscape"]{width:100%;height:clamp(250px,70vw,340px);aspect-ratio:auto;margin:10px auto 5px}.viewer-shell[data-layout="portrait"]{width:100%;height:450px;max-height:70svh;min-height:360px;margin:12px auto 8px}.viewer-shell[data-layout="portrait"] .viewer-hint{font-size:8px}}
.viewer-actions{display:flex;align-items:center;gap:8px}.fullscreen-collapse{display:none}.is-fullscreen .fullscreen-expand{display:none}.is-fullscreen .fullscreen-collapse{display:block}.viewer-fullscreen-open{overflow:hidden}#viewer-shell:fullscreen,#viewer-shell.fullscreen-fallback{position:fixed;inset:0;z-index:1000;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;min-height:0;margin:0;border:0;border-radius:0;aspect-ratio:auto}#viewer-shell:fullscreen::backdrop{background:#07090c}.viewer-shell.is-fullscreen .viewer-tools{bottom:max(20px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right))}.viewer-shell.is-fullscreen .viewer-hint{bottom:max(23px,env(safe-area-inset-bottom));font-size:11px}.viewer-shell.is-fullscreen .icon-button{width:40px;height:40px;background:#ffffff24}.viewer-shell.is-fullscreen .model-chip{visibility:visible;font-size:10px}@media(max-width:600px){.viewer-shell.is-fullscreen .viewer-tools{bottom:max(13px,env(safe-area-inset-bottom));left:13px;right:13px}.viewer-shell.is-fullscreen .viewer-hint{bottom:65px;font-size:10px}.viewer-shell.is-fullscreen .model-chip{font-size:9px}}

.note-pads.string-pads{grid-template-columns:repeat(6,minmax(0,1fr));max-width:760px;margin-inline:auto}
@media(max-width:600px){.note-pads.string-pads{grid-template-columns:repeat(4,minmax(0,1fr))}}
.viewer-shell{background:radial-gradient(ellipse at 50% 47%,#56585a 0%,#404244 49%,#292b2d 100%);border-color:#55585b;box-shadow:inset 0 1px 0 #ffffff16}
.viewer-shell .model-overlay{background:#292b2de8}.viewer-shell .model-overlay.is-error{background:#292b2df0}
.viewer-hint{max-width:calc(100% - 42px);white-space:normal;text-align:center;line-height:1.4}

/* The Ngữ avatar faces right; the interactive camera remains unchanged. */
.card[data-card="ngu"] .card-visual img{transform:scaleX(-1)}
.card[data-card="ngu"]:hover .card-visual img{transform:translateY(-3px) scale(-1.015,1.015)}
@media(max-width:600px){.nav-links{display:flex;gap:14px;font-size:11px}.nav-links a:last-child{display:none}}

/* Shared navigation and editorial sections. */
.brand-lockup{display:flex;align-items:center;gap:12px;flex-shrink:0}.demo-badge{font-size:10px;line-height:1.5;color:#777b83;border:1px solid #dedfe3;border-radius:5px;padding:2px 6px;font-weight:500;letter-spacing:.2px}.nav-links a[aria-current="page"]{color:#1d1d1f;font-weight:600}.page-intro{text-align:center;padding:64px 0 42px}.page-intro h1{font-size:clamp(44px,6vw,68px);line-height:1.08;letter-spacing:-2.7px;margin:18px 0;font-weight:650}.page-intro>p:not(.eyebrow){color:#77777f;font-size:17px;line-height:1.65}.page-intro .eyebrow{color:#86868b}.inline-link{display:inline-block;color:#0879ed;font-size:14px;padding:12px 0}.inline-link span{margin-left:8px}.author-note{max-width:720px;margin-top:54px}.author-note h3{font-size:19px;letter-spacing:-.4px;font-weight:600;color:#1d1d1f;text-align:left}.author-note p{font-size:14px;color:#6e6e73;line-height:1.85}.author-note .author-footnote{font-size:12px;color:#86868b;margin-top:24px}.instrument-info{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:70px 28px;border-bottom:1px solid #e8e8ed}.info-heading .eyebrow{color:#86868b}.info-heading h2{font-size:36px;letter-spacing:-1.4px;font-weight:600;margin:18px 0 0}.info-content{align-self:center}.info-content p{font-size:16px;color:#86868b;line-height:1.75;max-width:390px}.quiet-label{font-size:11px;color:#86868b;letter-spacing:.2px}.experience-page .collection{padding-top:70px}.score-options{min-width:0;max-width:100%;flex-wrap:wrap;justify-content:center}.score-options button{white-space:normal}.contribute-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:10px 0 70px}.contribute-copy h2{font-size:30px;font-weight:600;letter-spacing:-1px;margin-top:12px}.contribute-copy p{color:#6e6e73;line-height:1.8;font-size:15px}.contribute-form{background:#f5f5f7;border-radius:24px;padding:32px}.contribute-form label{display:block;font-size:13px;color:#55555c;margin-bottom:18px}.contribute-form input,.contribute-form select,.contribute-form textarea{display:block;width:100%;font:inherit;color:#1d1d1f;background:#fff;border:1px solid #d9dbe0;border-radius:10px;padding:13px;margin-top:8px}.contribute-form textarea{min-height:160px;resize:vertical}.contribute-form .field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-note{font-size:12px;color:#6e6e73;line-height:1.6}.contribute-form [role="status"]{font-size:13px;line-height:1.6;margin-bottom:0}.contribute-form iframe{border:0;width:100%;min-height:1100px}.feedback-status{border-left:2px solid #c8cbd1;padding-left:15px}.donation-later{border-top:1px solid #e1e1e6;margin-top:30px;padding-top:18px;font-size:13px!important}
@media(max-width:850px){.nav-links{gap:20px}.nav-cta{display:none}.nav{gap:18px}.contribute-layout{gap:35px}.instrument-info{gap:30px;padding-inline:12px}}
@media(max-width:600px){html{scroll-padding-top:104px}.nav{height:auto;min-height:95px;flex-wrap:wrap;padding:10px 0 12px;gap:9px}.brand-lockup{width:100%;justify-content:center}.brand{font-size:27px}.demo-badge{font-size:9px;padding:1px 5px}.nav-links{width:100%;justify-content:center;gap:clamp(16px,5vw,30px);font-size:11px}.nav-links a:last-child{display:block}.page-intro{padding:40px 0 28px}.page-intro h1{font-size:43px;letter-spacing:-1.8px}.page-intro>p:not(.eyebrow){font-size:14px}.page-intro .inline-link{font-size:12px}.author-note h3{font-size:18px}.author-note p{font-size:13px;line-height:1.8}.author-note .author-footnote{font-size:11px}.score-choice{width:100%}.score-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:4px;padding:4px;border-radius:12px}.score-options button{min-width:0;min-height:42px;white-space:normal;line-height:1.4;font-size:11px;padding:8px 6px}.instrument-info{grid-template-columns:1fr;gap:22px;padding:42px 8px}.info-heading h2{font-size:30px}.info-content p{font-size:14px;margin-bottom:0}.contribute-layout{grid-template-columns:1fr;gap:24px;padding-bottom:35px}.contribute-copy h2{font-size:27px}.contribute-form{padding:22px 18px}.contribute-form .field-row{grid-template-columns:1fr;gap:0}.contribute-copy p{font-size:14px}.experience-page .collection{padding-top:45px}}

:root{--title-weight:600}
.hero h1,.page-intro h1,.page-intro h2,.story h2,.stage-heading h2,.section-top h2,.info-heading h2,.contribute-copy h2,.card h3,.author-note h3{font-weight:var(--title-weight)}
.contribution-intro{padding-top:88px}.contribution-intro h2{font-size:clamp(40px,5vw,60px);line-height:1.12;letter-spacing:-2.2px;margin:20px 0}.model-credit{position:absolute;top:16px;right:18px;z-index:4;color:#e2e4e8;font-size:10px;font-weight:400;letter-spacing:.1px;opacity:.65;pointer-events:none;text-shadow:0 1px 3px #0006}.image-credit{position:absolute;right:12px;bottom:9px;z-index:3;font-size:8px;line-height:1.3;color:#797980;letter-spacing:.05px;font-weight:400;pointer-events:none}.ensemble-visual{position:relative}.ensemble-visual .image-credit{right:1px;bottom:0;font-size:7px}.viewer-shell.is-fullscreen .model-credit{top:max(20px,env(safe-area-inset-top));right:max(22px,env(safe-area-inset-right));font-size:11px}.viewer-shell .model-overlay~.model-credit{display:none}
@media(max-width:600px){.contribution-intro{padding-top:55px}.contribution-intro h2{font-size:36px;letter-spacing:-1.5px}.model-credit{font-size:8px;top:12px;right:12px}.image-credit{font-size:6px;bottom:10px;right:6px}.ensemble-visual .image-credit{font-size:6px}}

/* A dedicated donation destination; payment details will be supplied later. */
.donate-page main{min-height:65vh}.donate-details{max-width:680px;text-align:center;padding-bottom:70px}.donate-placeholder{border-radius:24px;background:#f5f5f7;padding:48px 28px;margin-bottom:18px}.donate-placeholder p{font-size:16px;color:#6e6e73;line-height:1.7;margin:14px 0 0}.donation-later .inline-link{padding:0}.nav-links a[aria-current="true"]{color:#1d1d1f;font-weight:600}@media(max-width:600px){.donate-placeholder{padding:36px 22px}.donate-placeholder p{font-size:14px}.donate-details{padding-bottom:40px}}

/* Instrument naming and ensemble collections. */
.card-description{min-height:0;font-size:12px}.card-content{min-height:152px}.stage-heading>p:last-child:empty{display:none}
.collection-tabs{display:flex;gap:6px;width:max-content;max-width:100%;padding:5px;margin:32px 0;background:#f5f5f7;border:1px solid #e9e9ed;border-radius:16px}.collection-tabs button{min-width:138px;min-height:56px;border-radius:11px;padding:10px 22px;background:transparent;color:#777780;font-size:14px}.collection-tabs button[aria-selected="true"]{background:#fff;color:#0879ed;box-shadow:0 2px 8px #00000006}.collection-tabs small{display:block;font-size:9px;line-height:1.3;margin-top:4px;color:#92929b}.collection-intro{display:grid;grid-template-columns:1fr 2fr;gap:36px;padding:28px 0 30px;border-bottom:1px solid #e8e8ed}.collection-intro h3{font-size:26px;font-weight:var(--title-weight);letter-spacing:-.8px;margin:4px 0}.collection-intro p{color:#6e6e73;font-size:14px;line-height:1.85;margin:0}.collection-source{display:inline-block;color:#86868b;font-size:10px;margin-top:13px;text-decoration:underline;text-underline-offset:3px}.collection-coming{padding:90px 25px;text-align:center;border-radius:24px;background:#f5f5f7}.collection-coming h3{font-size:36px;letter-spacing:-1px;font-weight:var(--title-weight);margin:0 0 17px}.collection-coming p{color:#86868b;font-size:15px}
.ensemble-discovery{padding:32px 0 72px}.discovery-heading{margin:0 0 28px}.discovery-heading .eyebrow{color:#86868b}.discovery-heading h2{font-size:36px;letter-spacing:-1.4px;font-weight:var(--title-weight);margin:16px 0 0}.ensemble-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ensemble-tile{display:flex;flex-direction:column;min-width:0;min-height:280px;padding:28px;border:1px solid #f0f0f3;border-radius:25px;background:#f5f5f7;transition:transform .2s,background .2s}.ensemble-tile:hover{transform:translateY(-3px);background:#eeeef1}.tile-number{font-size:10px;color:#a0a0a8;letter-spacing:1px}.ensemble-tile h3{font-size:28px;font-weight:var(--title-weight);letter-spacing:-.8px;margin:25px 0 13px}.ensemble-tile p{font-size:13px;line-height:1.75;color:#77777f;margin:0 0 24px}.tile-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;font-size:12px;color:#0879ed}.tile-bottom>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#1d1d1f;font-size:17px}.tile-status{font-size:10px;color:#86868b;margin:-9px 0 20px}.is-future .tile-bottom{color:#86868b}
@media(max-width:850px){.ensemble-tiles{gap:12px}.ensemble-tile{padding:22px;min-height:270px}.ensemble-tile h3{font-size:25px}.ensemble-tile p{font-size:12px}}
@media(max-width:600px){.collection-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:3px;margin:26px 0}.collection-tabs button{min-width:0;padding:9px 4px;font-size:12px}.collection-tabs small{font-size:8px}.collection-intro{grid-template-columns:1fr;gap:15px;padding:8px 0 24px}.collection-intro h3{font-size:25px}.collection-intro p{font-size:13px}.collection-caption{gap:15px;line-height:1.6}.collection-caption>span:last-child{text-align:right;max-width:155px}.card-content{min-height:0}.card-description{font-size:11px}.ensemble-discovery{padding:18px 0 45px}.discovery-heading h2{font-size:29px;letter-spacing:-1px}.ensemble-tiles{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:5px 2px 14px;scrollbar-width:thin}.ensemble-tile{flex:0 0 82%;min-height:252px;scroll-snap-align:start}.ensemble-tile h3{font-size:27px}.collection-coming{padding:70px 20px}.collection-coming h3{font-size:30px}}

/* Ensemble editorial details, using the existing quiet Apple-inspired palette. */
.collection-intro h3 span{display:block;margin-top:12px;color:#85858c;font-size:14px;letter-spacing:.02em;font-weight:500}.ensemble-detail{padding:46px 0 30px;border-bottom:1px solid #e8e8ed}.detail-heading{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:40px;align-items:end;margin-bottom:28px}.detail-heading .eyebrow{grid-column:1/-1;color:#86868b}.detail-heading h3{font-size:clamp(30px,4vw,45px);line-height:1.08;letter-spacing:-1.7px;font-weight:var(--title-weight);margin:12px 0 0}.detail-heading>p:last-child{color:#6e6e73;max-width:620px;font-size:14px;line-height:1.8;margin:0}.detail-table-wrap{overflow-x:auto;border:1px solid #e8e8ed;border-radius:17px;background:#fff}.detail-table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}.detail-table th,.detail-table td{padding:15px 18px;border-bottom:1px solid #eeeef1;vertical-align:top;line-height:1.65}.detail-table thead th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#85858c;background:#f7f7f8}.detail-table tbody tr:last-child th,.detail-table tbody tr:last-child td{border-bottom:0}.detail-table tbody th{width:105px;color:#1d1d1f;font-weight:600}.detail-table td:nth-child(2){width:220px;font-weight:550}.detail-table td:last-child{color:#6e6e73}.detail-note{margin:18px 0 0;padding:16px 18px;border-radius:14px;background:#f5f5f7;color:#6e6e73;font-size:12px;line-height:1.75}.detail-note strong{color:#1d1d1f}.roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.roster-card{padding:22px 24px;border:1px solid #e8e8ed;border-radius:17px;background:#fff}.roster-card .quiet-label{font-size:9px;letter-spacing:.1em;line-height:1.6}.roster-card h4{font-size:18px;letter-spacing:-.3px;font-weight:var(--title-weight);margin:13px 0}.instrument-list{list-style:none;padding:0;margin:0}.instrument-list li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid #eeeef1;font-size:13px;color:#55555c}.instrument-list b{color:#1d1d1f;font-weight:600;font-variant-numeric:tabular-nums}.variant-note{margin-top:16px;padding:18px 21px;border-left:2px solid #0879ed;background:#f5f5f7;border-radius:0 14px 14px 0}.variant-note strong{font-size:13px;font-weight:600}.variant-note p{margin:7px 0 0;color:#6e6e73;font-size:12px;line-height:1.75}.source-details{margin-top:18px;border-top:1px solid #e8e8ed;padding-top:14px}.source-details summary{cursor:pointer;list-style:none;font-size:12px;color:#0879ed}.source-details summary::-webkit-details-marker{display:none}.source-details summary::after{content:'+';margin-left:8px;color:#86868b}.source-details[open] summary::after{content:'−'}.source-details ul{display:grid;gap:8px;padding:12px 0 0 18px;margin:0;color:#6e6e73;font-size:11px;line-height:1.6}.source-details a{color:#55555c;text-decoration:underline;text-underline-offset:3px}.source-details a:hover{color:#0879ed}.collection-tabs small{display:none}
@media(max-width:700px){.detail-heading{grid-template-columns:1fr;gap:12px}.detail-heading .eyebrow{grid-column:auto}.detail-heading h3{font-size:32px}.roster-grid{grid-template-columns:1fr}.detail-table{min-width:630px}.detail-table th,.detail-table td{padding:12px}.ensemble-detail{padding-top:34px}.roster-card{padding:19px}.detail-note{font-size:11px}}
.detail-table td{color:#55555c}.detail-table tbody th{color:#1d1d1f}.detail-table .table-total th,.detail-table .table-total td{font-weight:650;background:#f7f7f8;color:#1d1d1f}.detail-table th[scope="row"]{font-weight:550}.collection-intro h3{line-height:1.15}

.card.has-audio{background:#f7f7f9}.audio-preview-button{font-size:11px;font-weight:600;color:#0879ed;background:#fff;border:1px solid #d8e5f7;border-radius:20px;padding:9px 14px;max-width:100%;text-align:left}.audio-preview-button:hover{background:#eaf3ff}.audio-preview-button:disabled{opacity:.7}
.wind-fingering{max-width:620px;margin:0 auto 24px;padding:22px 26px;background:#fff;border:1px solid #e5e5ea;border-radius:22px}.wind-fingering[hidden]{display:none}.fingering-heading{display:flex;justify-content:space-between;gap:12px;color:#86868b;font-size:12px}.fingering-heading strong{color:#1d1d1f;font-size:16px;font-weight:550}.fingering-holes{display:flex;justify-content:center;gap:14px;margin:20px 0}.finger-hole{display:flex;flex-direction:column;align-items:center;gap:7px;border:0;background:none;padding:5px;min-width:40px;color:#86868b;cursor:pointer}.finger-dot{width:22px;height:22px;border:1.5px solid #727278;border-radius:50%;background:#fff}.finger-hole[aria-pressed="true"] .finger-dot{background:#45454b;border-color:#45454b}.finger-hole small{font-size:10px}.fingering-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.fingering-actions button{border:1px solid #e5e5ea;background:#f5f5f7;border-radius:18px;padding:8px 13px;font:inherit;font-size:12px;color:#6e6e73;cursor:pointer}.fingering-actions button[aria-pressed="true"]{background:#e9f2ff;border-color:#c8dfff;color:#0879ed}.fingering-actions .wind-blow{background:#0879ed;color:#fff;border-color:#0879ed;padding-inline:23px}.fingering-legend{display:block;text-align:center;margin-top:16px;color:#86868b;font-size:10px;line-height:1.6}.finger-hole:focus-visible,.fingering-actions button:focus-visible{outline:3px solid #80baff;outline-offset:3px}@media(max-width:600px){.wind-fingering{padding:18px 12px;border-radius:18px}.fingering-holes{gap:5px}.finger-hole{min-width:34px;padding:4px}.finger-dot{width:20px;height:20px}}
