@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f9f6ef;--navy:#172e38;--red:#a6412e;--muted:#626e70;--line:#d8d9d1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--navy);font:15px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}header{max-width:1440px;margin:auto;padding:24px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:20px;line-height:1.1;letter-spacing:2px;font-weight:700}.brand-sub{display:block;font-size:10px;letter-spacing:4px;margin-top:7px}.monogram{font-family:Georgia,serif;font-size:40px;position:relative;padding-right:8px;font-weight:400}.monogram span{font-size:23px;color:var(--red);position:absolute;right:-4px;bottom:-4px}.header-actions{display:flex;gap:22px;align-items:center}nav{display:flex;gap:28px;font-size:13px}nav a:hover,.text-link:hover{color:var(--red)}#language,#menu{border:0;background:none;color:var(--navy)}#menu{display:none}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:white;padding:15px 24px;border:1px solid var(--red);font-weight:500;font-size:14px;transition:background .2s}.button:hover{background:#863522}.button.small{padding:11px 18px;font-size:12px}.hero{max-width:1440px;margin:auto;padding:60px 5% 65px;display:grid;grid-template-columns:1.05fr 1fr;gap:6%;align-items:center}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:700;margin:0 0 24px}h1,h2,h3{line-height:1.04;font-weight:400;margin:0;font-family:'Libre Caslon Display',Georgia,serif}h1{font-size:clamp(55px,6.3vw,92px);letter-spacing:-2px}em{color:var(--red);font-weight:400}h2{font-size:clamp(40px,4.2vw,62px);letter-spacing:-1px}h3{font-size:32px}.lead{font-size:16px;color:var(--muted);max-width:430px;margin:28px 0 30px}.hero-buttons{display:flex;align-items:center;gap:25px}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid;padding:5px 0}.trial-note{font-size:11px;color:var(--muted);margin-top:20px}.hero-art{position:relative;height:505px;background:#233e45;border-radius:46% 46% 2px 2px;overflow:hidden;color:#f4e9ce;isolation:isolate}.art-top{display:flex;justify-content:space-between;position:absolute;top:48px;left:45px;right:45px;font-size:8px;letter-spacing:1.5px}.orb{position:absolute;width:210px;height:210px;background:#ba654b;border-radius:50%;top:88px;right:70px}.staff{position:absolute;top:90px;width:110%;left:-5%;transform:rotate(-12deg)}.piano{position:absolute;left:40px;right:-20px;bottom:118px;background:#15272c;transform:rotate(-13deg);padding:20px 15px 14px;box-shadow:0 30px 40px #0d20294d}.piano-label{letter-spacing:5px;text-align:center;font-size:8px;margin-bottom:17px}.keys{display:flex;height:105px;gap:2px}.keys i{display:block;flex:1;position:relative;background:linear-gradient(#ddd8c8,#f8f3e5);border-radius:0 0 3px 3px;box-shadow:0 4px #bdb5a3}.keys i:not(:nth-child(7n+3)):not(:nth-child(7n)):after{content:'';position:absolute;right:-10px;width:16px;height:66px;background:linear-gradient(90deg,#111d20,#334045);z-index:1;border-radius:0 0 2px 2px;box-shadow:2px 3px #1b272b}.art-caption{position:absolute;left:38px;bottom:25px;right:30px;display:flex;justify-content:space-between;font-family:Georgia,serif;font-size:19px;line-height:1.2}.art-star{font-size:48px;color:#dba97d}.program-strip{background:#eae8dc;border-block:1px solid #dadbcf;padding:19px 6%;display:flex;justify-content:space-around;gap:20px;font-size:10px;letter-spacing:2px}.program-strip span:nth-child(even){color:var(--red)}.section{max-width:1440px;margin:auto;padding:90px 5%}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:40px}.section-heading p:not(.eyebrow){max-width:340px;color:var(--muted);font-size:14px;margin:0}.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.course{padding:30px 23px 25px;position:relative;display:flex;flex-direction:column;min-height:320px}.cream{background:#eeeadc}.peach{background:#efdfd2}.blue{background:#e0e7e7}.green{background:#e2e7d9}.course-icon{font-family:Georgia,serif;font-size:48px;line-height:1;margin-bottom:40px}.course-number{position:absolute;right:23px;top:32px;font-size:10px;opacity:.5}.course h3{font-size:29px}.course p{font-size:13px;color:#526164;flex:1}.course a{font-size:11px;font-weight:600;margin-top:15px}.philosophy{background:#e8e9df;padding:70px max(5%,calc((100vw - 1296px)/2));display:grid;grid-template-columns:1.1fr 1fr;gap:10px 10%}.philosophy>.eyebrow{grid-column:1/-1}.philosophy p:not(.eyebrow){font-size:15px;color:#556465;margin-top:0}.philosophy .text-link{display:inline-block;margin-top:12px}.teacher-layout{display:grid;grid-template-columns:1fr 1.4fr;border:1px solid var(--line)}.teacher-intro{padding:36px;background:#eae4d7}.large-note{font-size:55px;color:var(--red);font-family:Georgia}.teacher-intro h3{margin:8px 0 18px;font-size:36px}.teacher-intro p{max-width:310px;color:var(--muted);font-size:13px}.teacher-intro .button{margin-top:10px}.roster{padding:45px 48px}.roster>.eyebrow{margin-bottom:15px}.roster>p:not(.eyebrow){font-size:18px;line-height:2.3;margin:0}.roster span{color:#b9a38b;margin:0 6px}.roster-divider{border-top:1px solid var(--line);margin:28px 0}.roster small{display:block;font-size:11px;color:var(--muted);margin-top:18px}.tuition-section{padding-top:0}.pricing-layout{display:grid;grid-template-columns:.8fr 1.3fr;gap:50px}.trial-card{background:var(--navy);color:var(--paper);padding:40px;display:flex;flex-direction:column;align-items:start}.trial-card .eyebrow{color:#c4cbbd}.price{font-size:85px;font-family:'Libre Caslon Display',Georgia,serif;line-height:1.1;margin:20px 0}.price span{display:block;font:14px 'DM Sans',sans-serif;margin-top:12px;color:#c9d1cd}.trial-card p{max-width:300px;color:#d2dad6}.button.light{background:#efe8d5;border-color:#efe8d5;color:var(--navy);margin:22px 0}.button.light:hover{background:white}.trial-card small{font-size:10px;color:#c9d1cd}.tuition-detail{padding:5px 0}.tuition-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.tuition-top h3{font-size:31px}.tuition-top span{font-size:10px;color:var(--muted)}.duration-tabs{margin:24px 0 8px;display:flex;gap:8px}.duration-tabs button{border:1px solid var(--line);padding:8px 17px;background:none;color:var(--navy);font-size:12px}.duration-tabs button.active{background:var(--navy);border-color:var(--navy);color:white}.price-row{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px}.price-row small{display:block;color:var(--muted);font-size:10px}.price-row strong{font-size:22px;font-weight:500}.fine{font-size:10px;color:var(--muted)}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.3fr;gap:50px}.faq-section>div>p:not(.eyebrow){font-size:13px;margin-top:30px}.faq-list details{border-bottom:1px solid var(--line);padding:19px 0}.faq-list details:first-child{padding-top:0}.faq-list summary{cursor:pointer;list-style:none;font-size:15px;padding-right:30px;position:relative}.faq-list summary:after{content:'+';position:absolute;right:0;font-size:20px}.faq-list details[open] summary:after{content:'−'}.faq-list p{color:var(--muted);font-size:13px;max-width:560px}.trial-section{background:#ede5d8;padding:80px max(5%,calc((100vw - 1296px)/2));display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.trial-section h2{font-size:clamp(45px,4.7vw,69px)}.trial-section>div>p:not(.eyebrow){max-width:320px;font-size:14px;color:var(--muted)}.contact-price{font-size:14px;color:var(--red);margin-top:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:11px;font-weight:600}label span{display:block;margin-bottom:7px}input,select,textarea{width:100%;padding:11px 10px;border:1px solid #c8c7bc;background:#f9f7f0;border-radius:0;color:var(--navy);font-size:14px}textarea{resize:vertical}form>label{margin-top:18px}.form-note,form small{font-size:10px;color:#606a67;display:block}.form-note{margin:20px 0 14px}form small{margin-top:16px}#form-status{font-size:12px}#copy-email{background:transparent;border:1px solid var(--navy);color:var(--navy);padding:8px 15px;font-size:12px}footer{max-width:1440px;margin:auto;padding:50px 5% 25px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px}footer>p{font-family:Georgia,serif;font-style:italic;font-size:20px}footer>a:not(.brand){font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;width:100%;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}html[lang=zh] h1,html[lang=zh] h2,html[lang=zh] h3{font-family:Georgia,'PingFang SC','Microsoft Yahei',serif;line-height:1.25}html[lang=zh] h1{font-size:clamp(48px,5.7vw,80px)}html[lang=zh] h2{font-size:clamp(36px,3.8vw,52px)}html[lang=zh] .course h3{font-size:25px}@media(min-width:1500px){.philosophy,.trial-section{padding-inline:calc((100vw - 1296px)/2)}}@media(max-width:1000px){header{gap:16px}nav{gap:18px}.header-actions{gap:15px}.hero{gap:4%}.hero-art{height:430px}.hero-buttons{align-items:start;flex-direction:column;gap:12px}.orb{right:30px}.course-grid{grid-template-columns:1fr 1fr}.course{min-height:300px}.roster{padding:32px}.roster>p:not(.eyebrow){font-size:15px}.pricing-layout,.faq-section{gap:30px}.trial-card{padding:30px}.trial-section{gap:6%}.tuition-top{display:block}.tuition-top span{display:block;margin-top:12px}}@media(max-width:700px){header{padding:18px 6%;flex-wrap:wrap}.brand{font-size:17px}.monogram{font-size:34px}.header-actions{gap:12px}.header-actions .small{display:none}#menu{display:block;font-size:21px}nav{display:none;order:3;width:100%;padding:14px 0 0;justify-content:space-between}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:45px 6% 40px;gap:36px}h1{font-size:65px}.hero-copy>.eyebrow{font-size:8px}.lead{font-size:15px}.hero-buttons{flex-direction:row;align-items:center;gap:18px}.hero-buttons .button{padding:13px 17px;font-size:12px}.hero-buttons .text-link{font-size:11px}.hero-art{height:390px;border-radius:46% 46% 2px 2px;max-width:500px;width:100%}.orb{width:170px;height:170px;right:55px;top:65px}.art-top{left:35px;right:35px;font-size:7px;top:34px}.piano{bottom:95px;left:25px}.keys{height:85px}.keys i:after{height:54px!important}.art-caption{font-size:17px}.program-strip{flex-wrap:wrap;padding:17px 5%;gap:12px;font-size:8px;letter-spacing:1.2px}.program-strip span:nth-child(even){display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading p:not(.eyebrow){margin-top:20px;max-width:100%}h2{font-size:43px}.eyebrow{font-size:9px;margin-bottom:18px}.course-grid{gap:12px}.course{padding:24px 18px 20px;min-height:340px}.course h3{font-size:27px}.course p{font-size:12px}.course-icon{margin-bottom:27px}.course a{font-size:10px}.philosophy{padding:50px 6%;grid-template-columns:1fr;gap:22px}.philosophy>.eyebrow{margin:0}.philosophy>div{margin-top:6px}.teacher-layout{grid-template-columns:1fr}.teacher-intro{padding:28px}.roster{padding:28px}.roster>p:not(.eyebrow){font-size:16px}.pricing-layout{grid-template-columns:1fr;gap:30px}.tuition-section{padding-top:0}.trial-card{padding:30px}.price{font-size:75px;margin:10px 0}.trial-card .button{margin:12px 0 20px}.tuition-top{display:flex}.tuition-top h3{font-size:27px}.tuition-top span{margin:0;font-size:9px}.faq-section{grid-template-columns:1fr;gap:35px}.faq-section h2 br{display:none}.faq-section>div>p:not(.eyebrow){margin-top:20px}.trial-section{padding:50px 6%;grid-template-columns:1fr;gap:35px}.trial-section h2{font-size:53px}.trial-section>div>p:not(.eyebrow){max-width:100%}.contact-price{margin-top:20px}.form-grid{gap:14px}footer{padding:35px 6% 20px;gap:18px}footer>p{font-size:18px}footer>a:not(.brand){width:100%}.footer-bottom{gap:15px;font-size:8px}html[lang=zh] h1{font-size:50px}html[lang=zh] h2{font-size:37px}html[lang=zh] .course h3{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.art-top{display:none}@media(max-width:700px){html[lang=zh] .teacher-intro h3{font-size:30px}.roster>p:not(.eyebrow){font-size:14px}html[lang=zh] .section-heading h2{font-size:33px}}

.brand-logo{width:58px;height:58px;overflow:hidden;border-radius:7px;background:#000;flex-shrink:0;display:block}.brand-logo img{display:block;width:300%;height:300%;max-width:none;object-fit:cover;transform:translate(-33.333%,-33.333%)}.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}button:disabled{opacity:.65;cursor:wait}#form-status.success{border-left:3px solid #46724f;background:#e6eee3;padding:14px;color:#24452c}#form-status.error{border-left:3px solid #a6412e;background:#f5e4dd;padding:14px;color:#7e2d1f}@media(max-width:700px){.brand-logo{width:46px;height:46px}}
html[lang=zh] .hero h1 em{white-space:nowrap}
