:root{--paper:#f8f9fa;--white:#fff;--ink:#343a3f;--muted:#737b81;--rose:#aeb8bf;--rose-pale:#edf1f3;--sage:#84939b;--sage-pale:#f0f3f4;--line:#dce2e5;--shadow:0 18px 50px rgba(54,68,77,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Noto Sans JP,sans-serif;font-weight:300;line-height:2;letter-spacing:.07em}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}#opening{position:fixed;inset:0;z-index:200;background:#f8f9fa;display:grid;place-items:center;pointer-events:none;animation:opening-exit 1.75s cubic-bezier(.55,0,.25,1) forwards}.opening-inner{text-align:center;transform:translateY(-2vh)}.opening-label{display:block;font:300 9px/1 Jost,sans-serif;letter-spacing:.42em;color:#9aa5aa;margin:0 0 20px;padding-left:.42em;animation:opening-rise .9s ease-out both}.opening-word{display:block;font:400 clamp(47px,7vw,74px)/1 Italiana,serif;letter-spacing:.18em;color:#59646a;padding-left:.18em;animation:opening-rise 1s ease-out .08s both}@keyframes opening-rise{0%{opacity:0;transform:translateY(9px);letter-spacing:.28em}to{opacity:1;transform:translateY(0)}}@keyframes opening-exit{0%,68%{opacity:1;visibility:visible}to{opacity:0;visibility:hidden}}#scroll-progress{position:fixed;z-index:80;left:0;top:0;width:0;height:2px;background:linear-gradient(90deg,#bac5cb,#7f9099);box-shadow:0 0 12px rgba(127,144,153,.35);transition:width .08s linear}#sample-badge{position:fixed;right:14px;bottom:14px;z-index:90;background:rgba(67,76,82,.88);color:#f6f7f8;font-size:10px;font-weight:300;line-height:1.5;letter-spacing:.12em;padding:7px 14px;border-radius:999px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 20px rgba(48,58,64,.12)}.header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(248,249,250,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);position:-webkit-sticky;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(220,226,229,.8);transition:height .4s ease,box-shadow .4s ease,background .4s ease}.header.is-scrolled{height:64px;background:rgba(248,249,250,.97);box-shadow:0 10px 28px rgba(55,70,80,.06)}.brand{display:inline-flex;flex-direction:column;align-items:center;font-family:Jost,sans-serif;font-size:27px;line-height:1;letter-spacing:.18em;font-weight:300}.brand small{display:block;font:300 8px/1 Jost,sans-serif;letter-spacing:.2em;color:var(--muted);margin-top:7px;padding-left:.2em}nav{display:flex;align-items:center;gap:27px;font-size:12px;letter-spacing:.1em}nav>a:not(.nav-cta){position:relative;padding:8px 0}nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:2px;width:100%;height:1px;background:#87969e;transform:scaleX(0);transform-origin:right;transition:transform .42s cubic-bezier(.2,.7,.2,1)}nav>a:not(.nav-cta):hover:after{transform:scaleX(1);transform-origin:left}.btn,.nav-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;transition:.35s cubic-bezier(.2,.7,.2,1)}.nav-cta{background:var(--sage);color:#fff;padding:11px 20px}.btn-main:hover,.nav-cta:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 10px 28px rgba(79,96,106,.16)}.hero{min-height:720px;display:grid;grid-template-columns:52% 48%;align-items:stretch;background:var(--paper)}.hero-copy{display:flex;align-items:center;padding:70px 7vw 80px}.hero-copy-inner{max-width:520px}.eyebrow{font-family:Jost,sans-serif;color:#909ca2;font-size:11px;letter-spacing:.34em;margin:0 0 24px}.eyebrow,h1{font-weight:300}h1{font-family:"Noto Serif JP",serif;font-size:clamp(37px,4vw,60px);line-height:1.58;letter-spacing:.12em;margin:0 0 28px}h1 .hero-line{display:block;white-space:nowrap}h1 .soft{color:#7d8a91}h1 .hero-intro{font-size:clamp(25px,2.4vw,34px);line-height:1.5;letter-spacing:.075em}h1 .hero-wordmark{font-family:Italiana,serif;font-size:clamp(44px,4.2vw,62px);font-weight:400;line-height:1;letter-spacing:.15em;margin-top:14px}.hero-desc{font-size:15px;color:var(--muted);margin:0 0 32px;line-height:2.1}.hero-note{font-size:11px;color:#8d989e;margin:0 0 27px;line-height:1.8;letter-spacing:.045em}.btns{display:flex;gap:12px;flex-wrap:wrap}.btn{min-width:180px;padding:14px 24px;font-size:13px;font-weight:400;letter-spacing:.1em;position:relative;overflow:hidden;gap:12px}.btn:after{content:"→";font-family:serif;font-size:16px;line-height:1;transition:transform .35s ease}.btn:hover:after{transform:translateX(5px)}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.28) 48%,transparent 76%);transform:translateX(-120%);transition:transform .7s ease}.btn:hover:before{transform:translateX(120%)}.btn-main{background:var(--sage);color:#fff}.btn-sub{border:1px solid var(--rose);background:rgba(255,255,255,.55)}.hero-visual{position:relative;overflow:hidden;background:#eee7e2}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:60% center;transform:scale(1.025);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.hero:hover .hero-visual img{transform:scale(1)}.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,245,.2),transparent 30%)}.hero-tag{position:absolute;z-index:2;right:30px;bottom:30px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 20px;font-size:11px;letter-spacing:.12em}.wrap{width:min(1080px,calc(100% - 48px));margin:auto}section{padding:112px 0}.hero{padding:0}.section-head{text-align:center;margin-bottom:52px}.booking .eyebrow,.concept-copy .kicker,.detail-en,.info-label .en,.section-head .en{display:block;font:400 11px/1.2 Jost,sans-serif;color:#8c9aa2;letter-spacing:.34em;margin:0 0 15px}h2{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:300;letter-spacing:.14em;margin:0 0 17px}.section-head p{margin:0;color:var(--muted);font-size:14px}.worries{background:#fff}.worry-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px}.worry{border:1px solid var(--line);padding:30px 22px 27px;text-align:center;background:#fff;min-height:178px;transition:transform .45s ease,border-color .45s ease,box-shadow .45s ease}.worry:hover{transform:translateY(-7px);border-color:#bdc8cd;box-shadow:0 18px 36px rgba(66,82,91,.08)}.worry i{display:block;height:35px;font-size:23px;line-height:35px;color:#cbd3d7;margin:0 auto 16px;opacity:.82;transition:transform .55s ease,color .55s ease,opacity .55s ease}.worry:hover i{color:#aab7bd;opacity:1;transform:translateY(-3px) scale(1.04)}.worry p{font-size:13px;line-height:1.8;margin:0}.concept{overflow:hidden}.concept-inner{display:grid;grid-template-columns:1fr 1fr;grid-gap:70px;gap:70px;align-items:center}.concept-photo{position:relative;padding:18px 0 0 18px;overflow:hidden}.concept-photo img{height:520px;width:100%;object-fit:cover;object-position:72% center;box-shadow:var(--shadow);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.concept-photo:hover img{transform:scale(1.035)}.concept-photo:before{content:"";position:absolute;left:0;top:0;width:72%;height:74%;background:var(--rose-pale);z-index:-1}.concept-copy .kicker,.concept-copy h2{text-align:center}.concept-copy h2{line-height:1.75;margin-bottom:24px}.concept-copy p{color:var(--muted);margin:0 0 18px}.features{background:#fff}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.feature{background:rgba(255,255,255,.83);padding:38px 30px;box-shadow:0 10px 28px rgba(79,91,73,.05);transition:transform .45s ease,box-shadow .45s ease,background .45s ease}.feature:hover{transform:translateY(-7px);background:#fff;box-shadow:0 20px 42px rgba(61,79,89,.09)}.feature .num{font:300 34px/1 Jost,sans-serif;color:#9da9b0;letter-spacing:.08em}.feature h3{font-family:"Noto Serif JP",serif;font-size:17px;font-weight:300;letter-spacing:.11em;margin:18px 0 12px}.feature p{font-size:13px;color:var(--muted);margin:0}.detail-section{padding:88px 0}.detail-section,.detail-section.tone-mist{background:var(--sage-pale)}.detail-inner{display:block}.detail-heading{position:static;text-align:center;margin-bottom:38px}.detail-no{display:block;font:300 13px/1 Jost,sans-serif;letter-spacing:.2em;color:#a1abb0;margin-bottom:19px}.detail-heading h2{font-size:28px;line-height:1.65;text-align:center;margin:0}.detail-panel{max-width:780px;margin:auto;padding:36px 39px;background:rgba(248,249,250,.9);border:1px solid var(--line)}.tone-mist .detail-panel{background:rgba(255,255,255,.83)}.sample-chip{display:inline-block;padding:6px 11px;background:#68767d;color:#fff;font-size:9px;line-height:1.3;letter-spacing:.1em;margin-bottom:25px}.detail-panel p{font-size:13px;color:var(--muted);margin:0 0 15px}.detail-panel p:last-child{margin-bottom:0}.example-list{margin:0;padding:0;list-style:none}.example-list li{display:grid;grid-template-columns:1fr auto;grid-gap:22px;gap:22px;padding:15px 0;border-bottom:1px solid var(--line);font-size:13px}.example-list li:first-child{padding-top:0}.example-list li:last-child{border:0;padding-bottom:0}.example-list strong{font-weight:400;color:#4d585e}.example-list span{color:#718087;text-align:right}.trial-offer{display:grid;grid-template-columns:1fr auto;grid-gap:30px;gap:30px;align-items:center;margin:0 0 24px;padding:28px 30px;background:#fff;border:1px solid #d5dde1;box-shadow:0 12px 30px rgba(54,68,77,.06)}.trial-copy{display:flex;flex-direction:column;align-items:flex-start}.trial-label{display:inline-block;margin-bottom:10px;color:#7e8d95;font-size:9px;letter-spacing:.15em}.trial-copy strong{font-family:"Noto Serif JP",serif;font-size:19px;font-weight:300;letter-spacing:.1em;color:#4d585e}.trial-copy p{margin:6px 0 13px;font-size:11px;line-height:1.8}.trial-link{display:inline-flex;align-items:center;gap:9px;padding-bottom:3px;border-bottom:1px solid #95a3aa;color:#66767e;font-size:11px;font-weight:400;letter-spacing:.1em;transition:color .3s ease,border-color .3s ease}.trial-link:after{content:"→";font-family:serif;transition:transform .3s ease}.trial-link:hover{color:#46545b;border-color:#46545b}.trial-link:hover:after{transform:translateX(4px)}.trial-price{white-space:nowrap;font:300 29px/1.2 Jost,sans-serif;color:#5f6e76;letter-spacing:.04em}.trial-price small{font:300 11px/1 Noto Sans JP,sans-serif;margin-left:5px}.example-note{margin-top:22px!important;font-size:11px!important;color:#929da2!important}.teacher-name{font-family:"Noto Serif JP",serif;font-size:22px!important;color:#4c575d!important;letter-spacing:.09em;margin-bottom:3px!important}.teacher-role{font:300 10px/1.8 Jost,sans-serif!important;letter-spacing:.14em;color:#8b989e!important;margin-bottom:20px!important}.prep{background:#fff}.prep-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.prep-card{padding:37px 34px;background:#f8f9fa;border:1px solid var(--line)}.prep-card h3{font-family:"Noto Serif JP",serif;font-weight:300;letter-spacing:.09em;margin:0 0 19px}.prep-card p{font-size:13px;color:var(--muted);margin:0 0 14px}.prep-card .example-list{margin-top:4px}.dummy-inline{display:inline-block;background:#68767d;color:#fff;padding:3px 7px;margin-bottom:6px;font-size:8px;line-height:1.3;letter-spacing:.08em}.flow{background:#fff}.flow-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:34px;gap:34px;max-width:880px;margin:auto}.flow-item{text-align:center;position:relative;transition:transform .4s ease}.flow-item:hover{transform:translateY(-5px)}.flow-item:not(:last-child):after{content:"";position:absolute;top:23px;right:-28px;width:56px;border-top:1px solid var(--rose)}.flow-num{width:47px;height:47px;border-radius:50%;border:1px solid var(--rose);display:grid;place-items:center;margin:0 auto 18px;font:400 17px Jost,sans-serif;color:#87959d;background:var(--paper)}.flow-item h3{font-family:"Noto Serif JP",serif;font-size:15px;font-weight:300;letter-spacing:.1em;margin:0 0 8px}.flow-item p{font-size:12.5px;color:var(--muted);margin:0}.info{background:var(--sage-pale)}.info-card{display:grid;grid-template-columns:1fr;max-width:940px;margin:auto;border:1px solid var(--line);background:var(--paper)}.info-label{padding:38px 48px 34px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.info-label h2{font-size:28px;margin:0}.info-body{padding:42px 48px}.row{display:grid;grid-template-columns:110px 1fr;grid-gap:18px;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.row:last-child{border:0}.row dt{color:var(--muted)}.row dd{margin:0}.booking{background:#fff;text-align:center}.booking-box{max-width:720px;margin:auto;background:linear-gradient(135deg,#edf1f3,#f7f8f9 52%,#e9eef1);padding:58px 42px;box-shadow:0 18px 50px rgba(54,68,77,.07);border:1px solid rgba(220,226,229,.78)}.booking p{font-size:14px;color:var(--muted);margin:0 0 28px}.booking .small{font-size:11px;margin:18px 0 0}footer{text-align:center;padding:38px 20px;background:#4b5358;color:#edf0f2}footer .brand{font-size:24px;margin-bottom:10px}footer p{font-size:10px;color:#cfc7c1;margin:4px 0}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(20px);transition:opacity .72s ease,transform .72s ease}.reveal.is-visible .stagger>*{opacity:1;transform:none}.reveal.is-visible .stagger>:nth-child(2){transition-delay:.09s}.reveal.is-visible .stagger>:nth-child(3){transition-delay:.18s}.reveal.is-visible .stagger>:nth-child(4){transition-delay:.27s}.reveal.is-visible .stagger>:nth-child(5){transition-delay:.36s}@media(max-width:860px){.header{height:62px;padding:0 20px}.brand{font-size:22px}.brand small{font-size:7px}nav a:not(.nav-cta){display:none}.nav-cta{padding:9px 16px;font-size:11px}.hero{display:flex;flex-direction:column;min-height:0;padding:0 0 58px}.hero-visual{order:-1;height:clamp(235px,37vh,310px);background:var(--paper)}.hero-visual img{-webkit-mask-image:linear-gradient(180deg,#000 56%,rgba(0,0,0,.6) 81%,transparent);mask-image:linear-gradient(180deg,#000 56%,rgba(0,0,0,.6) 81%,transparent);object-position:63% center}.hero-visual:after{display:none}.hero-tag{right:18px;bottom:32px;font-size:9px;padding:9px 12px}.hero-copy{padding:14px 24px 0}.hero-copy-inner{max-width:520px;margin:auto;width:100%}.eyebrow{font-size:10px;margin-bottom:18px}h1{font-size:36px;line-height:1.5;letter-spacing:.07em}.hero-desc,h1{margin-bottom:20px}.hero-desc{font-size:13px;max-width:none}.hero-note{font-size:11px;margin-bottom:22px}.btns{width:100%}.btn{flex:1 1;min-width:140px;padding:13px 18px 13px 20px}section{padding:82px 0}.wrap{width:min(100% - 36px,620px)}.section-head{margin-bottom:38px}.section-head h2{font-size:24px}.section-head p{font-size:12.5px}.worry-grid{grid-template-columns:1fr 1fr;gap:10px}.worry{padding:24px 12px;min-height:153px}.worry p{font-size:12px}.concept-inner{display:flex;flex-direction:column;gap:38px}.concept-photo{width:100%;padding:12px 0 0 12px}.concept-photo img{height:330px}.concept-copy h2{font-size:24px}.concept-copy p{font-size:13px}.feature-grid{grid-template-columns:1fr;gap:12px}.feature{padding:30px 26px}.feature h3{margin-top:13px}.detail-section{padding:63px 0}.detail-heading{margin-bottom:28px}.detail-no{margin-bottom:13px}.detail-heading h2{font-size:24px}.detail-panel{padding:27px 23px}.trial-offer{grid-template-columns:1fr;gap:17px;padding:23px 20px}.trial-copy strong{font-size:17px}.trial-price{font-size:27px}.example-list li{grid-template-columns:1fr;gap:3px;padding:13px 0}.example-list span{text-align:left}.prep-grid{grid-template-columns:1fr;gap:11px}.prep-card{padding:28px 23px}.prep-card h3{font-size:18px}.flow-grid{grid-template-columns:1fr;gap:28px;max-width:390px}.flow-item:not(:last-child):after{height:28px;width:0;border-left:1px solid var(--rose);border-top:0;left:50%;right:auto;top:auto;bottom:-28px}.info-card{grid-template-columns:1fr}.info-label{padding:31px 28px}.info-label h2{font-size:24px}.info-body{padding:24px}.row{grid-template-columns:80px 1fr;gap:12px;font-size:12px}.booking-box{padding:42px 22px}.booking h2{font-size:24px}.booking p{font-size:12.5px}}@media(max-width:480px){#sample-badge{font-size:9px;padding:6px 11px;right:10px;bottom:10px}}@media(max-width:420px){h1{font-size:30px;letter-spacing:.05em}.worry{min-height:145px}.btn{font-size:12px}.row{grid-template-columns:72px 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}#opening{display:none!important}.reveal,.stagger>*{opacity:1!important;transform:none!important}}:root{--paper:#fbf7ef;--white:#fffdf9;--ink:#4c3d37;--muted:#74665f;--rose:#bb828c;--rose-pale:#f3e5e5;--sage:#9c5c6b;--sage-pale:#f6eeee;--line:#eadbd4;--shadow:0 18px 50px rgba(95,60,54,.07)}body{font-weight:400;letter-spacing:.045em;background:var(--paper)}.header{background:rgba(251,247,239,.95);border:0}.header.is-scrolled{background:rgba(251,247,239,.98)}.brand{font-family:"Noto Serif JP",serif;font-size:23px;font-weight:400;letter-spacing:.1em}.brand small{font-size:8px;color:#876f69}.booking .eyebrow,.concept-copy .kicker,.detail-en,.eyebrow,.info-label .en,.section-head .en{color:#966672;font-weight:400}.feature h3,.flow-item h3,.prep-card h3,h1,h2{font-weight:400}h2{text-indent:.14em}.hero{min-height:680px}.hero-copy{padding:64px 5vw 74px}.hero-copy-inner{max-width:560px}.hero-intro{font-size:clamp(23px,2.4vw,34px)!important}.piano-title{font-size:clamp(35px,3.5vw,52px);line-height:1.7;margin-top:8px;letter-spacing:.09em;color:#9c5c6b!important}.hero-desc{font-size:14px}.hero-note{color:#8a756b}.hero-tag{border-radius:2px;color:#65544a}.hero-visual img{object-position:61% center;transform:none}.hero:hover .hero-visual img{transform:none}.hero-visual:after{background:linear-gradient(90deg,rgba(251,247,239,.16),transparent 30%)}.booking,.features,.flow,.prep,.worries{background:var(--white)}.concept{background:var(--sage-pale)}.detail-section{background:var(--paper)}.tone-mist{background:var(--sage-pale)!important}.info{background:var(--paper)}.worry{background:var(--white);border:0;box-shadow:0 5px 22px rgba(91,56,48,.04)}.worry i{color:#b47884;opacity:1;font-size:21px}.worry:hover i{color:#9c5c6b;transform:none}.feature:hover,.worry:hover{transform:translateY(-4px);border:0;box-shadow:0 14px 32px rgba(91,56,48,.08)}figure{margin:0}.concept-photo{padding:0;overflow:visible}.concept-photo:before{display:none}.concept-photo img{height:470px;object-position:center;border-radius:2px}.concept-photo:hover img{transform:none}figcaption{font-size:9px;letter-spacing:.03em;color:#9a8680;margin:8px 0 0;text-align:right}.concept-copy h2{font-size:28px}.concept-copy p{font-size:14px}.lesson-photo{margin:0 auto 36px;max-width:940px}.lesson-photo img{width:100%;height:290px;object-fit:cover;object-position:center 57%;border-radius:2px}.course-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;max-width:940px;margin:auto}.feature{padding:34px;box-shadow:none}.feature,.feature:hover{background:var(--paper)}.feature .num{color:#bb828c;font-size:30px}.feature h3{font-size:19px}.course-time{margin-top:18px!important;color:#95616d!important;font-size:12px!important;display:flex;align-items:center;gap:9px}.schedule-note{text-align:center;font-size:11px;color:#8b7971;margin:22px auto 0;max-width:760px}.detail-panel{background:var(--white);border:0;padding:38px 42px;box-shadow:none}.trial-copy strong{font-weight:400;color:var(--ink)}.trial-label{color:#9c5c6b}.trial-copy p{margin-top:14px}.trial-link{color:#9c5c6b;border:0}.price-note{padding:18px 22px;background:var(--paper);margin-top:24px}.price-note p{margin:0}.flow-item:not(:last-child):after{display:none}.flow-num{border:0;background:var(--rose-pale);color:#9c5c6b}.flow-item:hover{transform:translateY(-3px)}.teacher-panel{display:grid;grid-template-columns:260px 1fr;grid-gap:46px;gap:46px;align-items:center;max-width:860px;margin:auto;background:var(--white);padding:38px}.teacher-placeholder{aspect-ratio:4/5;width:100%;background:#f2e4e2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#9c6b75;font-family:"Noto Serif JP",serif;font-size:18px}.photo-label{font:400 9px Jost,sans-serif;letter-spacing:.2em;margin-bottom:22px}.teacher-placeholder small{font-family:Noto Sans JP,sans-serif;font-size:10px;margin-top:13px;letter-spacing:.12em}.teacher-name{color:#4c3d37!important;font-weight:400}.teacher-role{color:#95616d!important}.profile-list{list-style:none;padding:0;margin:0 0 22px;display:grid;grid-gap:8px;gap:8px;font-size:13px}.profile-list li{background:var(--paper);padding:8px 12px}.teacher-copy>p:last-child{font-size:13px;color:var(--muted);margin:0}.prep-card{border:0;background:var(--paper)}.prep-card h3{font-size:20px}.info-card{border:0;background:var(--white)}.info-label{background:var(--rose-pale)}.info-body{margin:0}.row{border:0;padding:15px 18px}.row:nth-child(odd){background:var(--paper)}.row dd{color:var(--ink)}.booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch;max-width:1050px;margin:auto}.booking-photo{display:flex;flex-direction:column}.booking-photo img{width:100%;height:100%;min-height:430px;object-fit:cover;object-position:48% center}.booking-photo figcaption{margin:0;background:var(--paper);padding:8px 12px}.booking-box{width:100%;padding:65px 34px;background:var(--rose-pale);border:0;box-shadow:none;display:flex;flex-direction:column}.booking .btns,.booking-box{justify-content:center}.booking .btn-main{min-width:230px}.booking .small{line-height:1.9}.booking .eyebrow{margin-bottom:15px}.booking h2{white-space:nowrap;font-size:26px}footer{background:#65504a;color:var(--paper)}footer p{color:#ece1d8;line-height:1.9}footer .brand small{color:#dec7c5}#sample-badge{background:rgba(101,80,74,.91)}.reveal,.stagger>*{opacity:1;transform:none}.reveal.motion-ready{opacity:0;transform:translateY(18px)}.reveal.motion-ready.is-visible{opacity:1;transform:none}.stagger.motion-ready>*{opacity:0;transform:translateY(16px)}.reveal.motion-ready.is-visible .stagger>*,.stagger.motion-ready.is-visible>*{opacity:1;transform:none}.stagger.is-visible>:nth-child(2){transition-delay:.09s}.stagger.is-visible>:nth-child(3){transition-delay:.18s}.stagger.is-visible>:nth-child(4){transition-delay:.27s}main[id],section[id]{scroll-margin-top:90px}a:focus-visible{outline:2px solid #9c5c6b;outline-offset:5px}.nb{white-space:nowrap}@media(max-width:1100px) and (min-width:861px){nav{gap:17px}.header{padding:0 3vw}.brand{font-size:20px}.hero-copy{padding-left:4vw;padding-right:3vw}.piano-title{font-size:38px}.btn{min-width:145px;padding:14px 17px}}@media(max-width:860px){.header{height:66px}.brand{font-size:18px}.brand small{font-size:7px}.nav-cta{padding:10px 14px;font-size:10px}.hero{min-height:0;padding-bottom:58px}.hero-copy{padding:12px 24px 0}.hero-visual{height:clamp(235px,37vh,310px)}.hero-visual img{object-position:60% center}.piano-title{font-size:36px}.hero-intro{font-size:25px!important}.hero-tag{bottom:38px}.hero-desc{font-size:13px}.hero-note{font-size:11px}.concept-photo img{height:340px}.concept-copy h2{font-size:24px}.concept-copy p{font-size:13px}.lesson-photo img{height:225px}.course-grid{grid-template-columns:1fr;gap:14px}.feature{padding:28px}.feature h3{font-size:18px}.schedule-note{text-align:left;font-size:10px}.detail-panel,.teacher-panel{padding:28px 24px}.teacher-panel{grid-template-columns:1fr;gap:26px}.teacher-placeholder{max-width:250px;margin:auto}.teacher-copy{max-width:420px;margin:auto;width:100%}.booking-layout{grid-template-columns:1fr}.booking-photo img{min-height:0;height:260px;object-position:center 55%}.booking-box{padding:44px 24px}.booking h2{font-size:24px}.info-body{padding:22px}.row{padding:13px 12px}.info-label h2{font-size:24px}.flow-item:not(:last-child):after{display:none}}@media(max-width:420px){.header{padding:0 13px}.brand{font-size:16px}.brand small{font-size:6px}.nav-cta{padding:9px 10px;letter-spacing:.04em}.hero-copy{padding-left:21px;padding-right:21px}.hero-intro{font-size:22px!important}.piano-title{font-size:31px}.eyebrow{font-size:8px;letter-spacing:.2em}.btn{min-width:0;padding:13px 10px;font-size:11px}.booking .btn{font-size:12px}.row{grid-template-columns:65px 1fr;gap:9px}.booking h2{font-size:23px}.worry p{font-size:11px}}@media(prefers-reduced-motion:reduce){.reveal.motion-ready,.stagger.motion-ready>*{opacity:1!important;transform:none!important}}.booking h2{font-size:28px}@media(max-width:860px){.booking h2{font-size:24px}}.booking-box,.booking-photo{min-width:0}.booking h2{white-space:normal;text-wrap:balance}.booking .btn-main{min-width:0;width:100%;max-width:260px}@media(max-width:860px){.booking-layout{grid-template-columns:minmax(0,1fr)}}@media(min-width:861px){.hero-copy{justify-content:center;padding-left:5vw;padding-right:5vw}.hero-copy-inner{width:100%;max-width:460px}.booking-layout{align-items:stretch}.booking-photo{position:relative;min-height:430px}.booking-photo img{height:100%;min-height:430px}.booking-photo figcaption{position:absolute;left:0;right:0;bottom:0;background:rgba(251,247,239,.92)}.booking-box{margin:0;min-height:430px}}