:root{--ivory:#fbf7ee;--ivory-shade:#f2ecdd;--key-white:#fffdf6;--ink:#23212b;--ink-soft:#55515f;--felt:#a93429;--felt-deep:#7e241d;--brass:#b3925a;--hairline:rgba(35,33,43,.14);--font-display:"Young Serif","Songti SC","SimSun","Georgia",serif;--font-body:"Karla","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",sans-serif;--font-cn:"Noto Serif SC","Songti SC","SimSun",serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--ink);font-family:var(--font-body);font-size:1.05rem;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--felt)}:focus-visible{outline:3px solid var(--felt);outline-offset:2px}.site-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1.4rem clamp(1.5rem,5vw,3rem)}.wordmark{font-family:var(--font-display);font-size:1.15rem}.wordmark-cn{color:var(--felt);font-family:var(--font-cn);font-weight:600}.header-actions{align-items:center;display:flex;gap:1.1rem}.lang-switch{background:transparent;border:1px solid var(--hairline);border-radius:999px;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:.88rem;font-weight:700;padding:.3rem .95rem;text-decoration:none;transition:border-color .15s ease}.lang-switch:hover{border-color:var(--felt);color:var(--felt)}.header-link{border-bottom:2px solid var(--felt);font-size:.95rem;font-weight:700;padding-bottom:1px;text-decoration:none}.eyebrow{color:var(--felt);font-size:.82rem;font-weight:700;letter-spacing:.09em;margin-bottom:1rem;text-transform:uppercase}.section-title{font-family:var(--font-display);font-size:clamp(1.7rem,3.5vw,2.3rem);font-weight:400;line-height:1.25;margin-bottom:1.25rem}.section{padding:clamp(4rem,9vw,6.5rem) clamp(1.5rem,5vw,3rem)}.btn{border-radius:999px;display:inline-block;font-family:var(--font-body);font-size:1rem;font-weight:700;padding:.85rem 1.7rem;text-decoration:none;transition:transform .15s ease,background-color .15s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--felt);color:var(--ivory)}.btn-primary:hover{background:var(--felt-deep)}.btn-ivory{background:var(--ivory);color:var(--ink)}.hero{margin:0 auto;max-width:62rem;padding:clamp(3rem,7vw,5.5rem) clamp(1.5rem,5vw,3rem) 0;text-align:center}.hero-title{font-family:var(--font-display);font-size:clamp(2.3rem,6vw,3.9rem);font-weight:400;line-height:1.15;margin:0 auto 1.4rem;max-width:18ch}.hero-lede{color:var(--ink-soft);font-size:1.12rem;margin:0 auto 2.2rem;max-width:44ch}.hero-actions{align-items:center;display:flex;flex-direction:column;gap:.8rem}.email-plain{color:var(--ink-soft);font-size:.95rem;text-decoration-color:var(--hairline)}.hero-actions,.hero-lede,.hero-title,.hero>.eyebrow,.piano-wrap{animation:rise .7s ease both}.hero-title{animation-delay:.06s}.hero-lede{animation-delay:.12s}.hero-actions{animation-delay:.18s}.piano-wrap{animation-delay:.28s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.piano-wrap{margin-top:clamp(3rem,6vw,4.5rem)}.piano-hint{font-size:.95rem;font-weight:700;margin-bottom:1.1rem}.piano-hint-sub{color:var(--ink-soft);font-weight:400}.piano{box-shadow:0 -1px 0 var(--hairline),0 18px 40px -18px #23212b59;margin:0 auto;max-width:40rem}.piano,.piano-felt{border-radius:10px 10px 0 0}.piano-felt{background:linear-gradient(to bottom,var(--felt),var(--felt-deep));height:7px}.piano-keys{display:flex;height:clamp(120px,22vw,170px);position:relative}.key{border:none;cursor:pointer;padding:0;touch-action:manipulation;transition:transform .06s ease}.key-white{background:linear-gradient(to bottom,var(--key-white),#f4efe0);border-bottom:1px solid var(--hairline);border-left:1px solid var(--hairline);border-radius:0 0 6px 6px;flex:1 1 0}.key-white:first-child{border-bottom-left-radius:8px;border-left:none}.key-white:nth-child(8){border-bottom-right-radius:8px}.key-black{background:linear-gradient(to bottom,#35323f,var(--ink) 70%);border-radius:0 0 5px 5px;box-shadow:0 3px 4px #23212b66;height:62%;position:absolute;top:0;width:7%;z-index:1}.key:active{transform:translateY(3px)}.key-white:active{background:#efe9d7}.about-grid{align-items:start;display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1.5fr 1fr;margin:0 auto;max-width:62rem}.about-text p+p{margin-top:1rem}.about-card{background:var(--key-white);border:1px solid var(--hairline);border-radius:10px;border-top:4px solid var(--felt);padding:1.6rem 1.7rem}.about-card-title{font-family:var(--font-display);font-size:1.15rem;font-weight:400;margin-bottom:1rem}.about-list{font-size:.97rem;list-style:none}.about-list li+li{border-top:1px solid var(--hairline);margin-top:.9rem;padding-top:.9rem}.about-list-label{color:var(--felt);display:block;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.lessons{background:var(--ivory-shade);text-align:center}.lesson-cards{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin:2rem auto 0;max-width:52rem;text-align:left}.lesson-card{background:var(--key-white);border:1px solid var(--hairline);border-radius:10px;padding:1.8rem 1.9rem}.lesson-card p{color:var(--ink-soft);font-size:.99rem}.lesson-card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;margin-bottom:.7rem}.lessons-note{color:var(--ink-soft);font-size:.99rem;margin:2.2rem auto 0;max-width:46ch}.fallboard{background:var(--ink);color:var(--ivory);padding:clamp(4.5rem,10vw,7rem) clamp(1.5rem,5vw,3rem) 3rem;text-align:center}.fallboard-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400;margin-bottom:.9rem}.fallboard-lede{color:#fbf7eebf;margin:0 auto 2rem;max-width:40ch}.fallboard-brand{border-top:1px solid hsla(42,62%,96%,.15);margin-top:clamp(4rem,8vw,6rem);padding-top:2.5rem}.fallboard-wordmark{color:var(--brass);font-family:var(--font-display);font-size:1.3rem;letter-spacing:.12em;text-transform:uppercase}.fallboard-cn{color:var(--brass);font-family:var(--font-cn);font-weight:600;margin-top:.2rem}.fallboard-place{color:#fbf7ee8c;font-size:.88rem;margin-top:.9rem}@media(max-width:720px){.about-grid,.lesson-cards{grid-template-columns:1fr}.header-link{font-size:.88rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-actions,.hero-lede,.hero-title,.hero>.eyebrow,.piano-wrap{animation:none}.btn,.key,.lang-switch{transition:none}}
