@charset "UTF-8";
:root{--ink:#444044;--wine:#9d4266;--wine-dark:#792e4c;--pink:#f8f1f4;--line:#e5dade;--serif:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:130px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);font-size:16px;line-height:1.9}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p{margin:0}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--wine);outline-offset:6px}::selection{background:#ecd1dc}.skip{position:fixed;z-index:100;top:-80px;background:#fff;padding:12px}.skip:focus{top:0}.header{height:124px;padding:0 3.3%;display:flex;align-items:center;gap:30px;background:#fffffff5;position:sticky;top:0;z-index:30;border-bottom:1px solid #f6f3f4;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:16px;white-space:nowrap;font:23px/1.55 var(--serif);letter-spacing:.05em}.brand small{display:block;font:9px/1.8 Georgia,serif;letter-spacing:.19em}.brand-mark{display:grid;place-items:center;border:1px solid #be8199;border-radius:50%;width:60px;height:60px;color:var(--wine);font:40px Georgia,serif}.header-right{margin-left:auto}.utility{display:flex;justify-content:flex-end;gap:24px;font-size:12px;margin-bottom:14px}.utility>span{color:#81767b}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:14px}.desktop-nav a,.utility a,.footer nav a{position:relative}.desktop-nav a:after,.utility a:after,.footer nav a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--wine);transform:scaleX(0);transform-origin:right;transition:transform .4s}.desktop-nav a:hover:after,.utility a:hover:after,.footer nav a:hover:after{transform:scaleX(1);transform-origin:left}.nav-trial{color:var(--wine)}.menu-button{flex-shrink:0;width:60px;height:60px;background:white;border:1px solid var(--line);border-radius:50%;position:relative;z-index:50;transition:background .3s}.menu-button:hover{background:var(--pink)}.menu-button{padding:0;display:block;line-height:1;appearance:none}.menu-button span{position:absolute;width:18px;height:1px;left:50%;top:50%;background:var(--wine);transform-origin:center;transition:transform .4s}.menu-button span:first-child{transform:translate(-50%,-50%) translateY(-4px)}.menu-button span:last-child{transform:translate(-50%,-50%) translateY(4px)}.menu-button[aria-expanded=true] span:first-child{transform:translate(-50%,-50%) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}.menu{position:fixed;inset:124px 0 0;background:var(--pink);z-index:29;visibility:hidden;opacity:0;transform:translateY(-15px);transition:opacity .4s,transform .4s,visibility .4s;overflow:auto}.menu.is-open{visibility:visible;opacity:1;transform:none}.menu-inner{max-width:820px;margin:auto;padding:40px 30px 70px;display:grid;grid-template-columns:1fr 1fr;gap:10px 50px}.menu-inner>.eyebrow{grid-column:1/-1;margin-bottom:20px}.menu-inner>a{font:25px/2 var(--serif);border-bottom:1px solid var(--line);padding:16px 0;transition:color .3s,padding .3s}.menu-inner>a:hover{color:var(--wine);padding-left:10px}.menu-inner small{display:block;font:12px var(--sans);letter-spacing:.1em}.hero{position:relative;margin:16px 3.3% 0;height:650px;max-height:calc(100svh - 146px);min-height:540px}.hero-photo{position:absolute;top:0;right:0;width:76%;height:calc(100% - 66px);border-radius:4px;overflow:hidden}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff8 0%,transparent 40%)}.hero-photo img{object-position:center 42%;animation:hero-zoom 1.8s ease-out both}.hero-copy{position:absolute;left:3%;top:14%;z-index:1;animation:enter 1.2s .2s both}.eyebrow{font:12px/1.6 Georgia,serif;letter-spacing:.15em;color:var(--wine)}.hero-copy>.eyebrow{font-size:11px;margin-bottom:24px}.hero h1{font:clamp(42px,4.8vw,70px)/1.48 var(--serif);letter-spacing:.12em;color:#593747; margin-bottom:22px;text-shadow:0 1px 14px #fff}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:2.2;margin-bottom:26px}.pill{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;padding:15px 24px;min-width:260px;border:1px solid var(--wine);border-radius:50px;background:white;color:var(--wine);font-size:14px;position:relative;overflow:hidden;isolation:isolate;transition:color .35s}.pill:before{content:"";position:absolute;inset:0;background:var(--wine);transform:translateX(-101%);transition:transform .45s;z-index:-1}.pill:hover{color:#fff}.pill:hover:before{transform:none}.pill span{font:22px/1 Georgia;transition:transform .4s}.pill:hover span{transform:rotate(90deg)}.hero-side{position:absolute;right:-24px;top:50%;writing-mode:vertical-rl;font:9px Georgia;letter-spacing:.13em}.hero-bottom{position:absolute;bottom:8px;left:0;right:0;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.13em}.scroll-link{display:flex;gap:18px;align-items:center;font:10px Georgia;letter-spacing:.15em}.scroll-link span{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;font-size:17px;transition:transform .3s}.scroll-link:hover span{transform:translateY(4px)}.section{width:min(1160px,86%);margin:auto;padding:86px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:42px}.section-heading h2{font:50px/1.15 Georgia,serif;letter-spacing:.025em}.section-heading h2 span{display:block;font:15px/1.8 var(--sans);letter-spacing:.08em;margin-top:12px}.section-index{font:10px Georgia;letter-spacing:.12em;color:#887b80}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.news-card{text-align:left;background:#fff;border:0;border-top:1px solid var(--wine);border-bottom:1px solid var(--line);padding:22px 5px;transition:background .4s,color .4s;min-width:0}.news-card:hover{background:var(--pink);color:var(--wine)}.news-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;align-items:center}.news-top time{font:12px Georgia;letter-spacing:.06em}.tag{color:var(--wine);font-size:11px}.news-card h3{font:19px/1.8 var(--serif);margin:25px 0 30px}.card-bottom{display:flex;justify-content:space-between;font-size:11px;color:#887b80}.card-bottom>span{font-size:18px;color:var(--wine);transition:transform .4s}.news-card:hover .card-bottom>span{transform:rotate(90deg)}.about{display:grid;grid-template-columns:32% 1fr;gap:7%;padding-top:65px;padding-bottom:100px}.about-label{border-top:1px solid var(--line);padding-top:26px}.large-note{display:block;color:#d3a7b9;font:120px/1.4 Georgia;margin-left:24px}.about-label>p:last-child{font:27px/1.7 var(--serif);color:var(--wine);letter-spacing:.08em}.about-copy h2,.teacher-copy h2,.access h2{font:32px/1.8 var(--serif);letter-spacing:.06em;margin-bottom:26px}.about-copy>p{font-size:14px;line-height:2.3;margin-bottom:22px}.feature-strip{display:flex;border-top:1px solid var(--line);padding-top:25px;margin-top:32px;gap:28px;justify-content:space-between}.feature-strip>div{display:flex;gap:12px;align-items:center;font-size:12px;line-height:1.8}.feature-strip svg{width:32px;height:32px;fill:none;stroke:var(--wine);stroke-width:1.4}.lessons{background:var(--wine);color:#fff}.lessons .section-index{color:#f0d3de}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.lesson-card{border-top:1px solid #ffffff70;padding:27px 0 0;position:relative}.course-number{font:13px Georgia;position:absolute;right:0;top:26px;color:#e7becf}.lesson-card>svg{width:52px;height:52px;fill:none;stroke:white;stroke-width:1.15;margin-bottom:15px}.lesson-card>.eyebrow{color:#f0ccda;font-size:10px;margin-bottom:8px}.lesson-card h3{font:24px/1.7 var(--serif);margin-bottom:16px}.lesson-card>p:not(.price):not(.eyebrow){font-size:14px;line-height:2;min-height:84px;margin-bottom:22px}.lesson-card dl{font-size:12px;margin:0;padding:15px 0;border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40}.lesson-card dl div{display:flex;gap:18px;padding:4px 0}.lesson-card dd{margin:0}.price{font:33px/1.5 Georgia;padding-top:22px}.price span{font:11px var(--sans);margin-left:7px}.lesson-note{font-size:11px;color:#f7e0e9;margin-top:32px}.teacher{display:grid;grid-template-columns:1.08fr 1fr;gap:8%;align-items:center;padding:110px 0}.teacher-image{position:relative;aspect-ratio:1/1.05}.teacher-image img{object-position:50% 40%;border-radius:3px}.teacher-image>span{position:absolute;bottom:-24px;left:25px;color:var(--wine);background:#fff;padding:3px 16px;font:italic 31px Georgia}.teacher-copy>.eyebrow{margin-bottom:22px}.teacher-copy>p:not(.eyebrow){font-size:14px;line-height:2.2;margin-bottom:18px}.teacher-name{margin:28px 0 18px;border-top:1px solid var(--line);padding-top:20px}.teacher-name>span{font-size:11px}.teacher-name h3{font:27px/1.8 var(--serif);letter-spacing:.1em}.teacher-name h3 small{font:12px Georgia;letter-spacing:.03em;margin-left:20px}.teacher-copy .profile{color:#81747a;font-size:12px!important}.piano-time{position:relative;height:520px;margin:0 3.3%;overflow:hidden}.piano-time>img{object-position:50% 55%}.piano-time:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#2c162d9c,transparent 85%)}.time-copy{position:absolute;z-index:1;top:60px;left:7%;color:white}.time-copy>.eyebrow{color:white}.time-copy h2{font:36px/1.8 var(--serif);letter-spacing:.05em;margin:20px 0 28px}.faq{padding-bottom:70px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;padding:24px 5px;gap:24px;cursor:pointer;list-style:none;font-size:15px}summary::-webkit-details-marker{display:none}summary>span{font:25px Georgia;color:var(--wine)}summary>i{width:18px;height:18px;position:relative;margin-left:auto;flex-shrink:0}summary>i:before,summary>i:after{content:"";position:absolute;top:8px;left:0;width:18px;height:1px;background:var(--wine);transition:transform .3s}summary>i:after{transform:rotate(90deg)}details[open] summary>i:after{transform:rotate(0)}details>p{font-size:14px;line-height:2.1;padding:0 46px 26px;max-width:960px;animation:enter .35s}.access{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:50px}.access-intro>.eyebrow{margin-bottom:20px}.access-intro>p:last-child{font-size:14px}.access-info dl{margin:0}.access-info dl>div{display:grid;grid-template-columns:100px 1fr;border-top:1px solid var(--line);padding:17px 0;font-size:13px}.access-info dt{color:var(--wine)}.access-info dd{margin:0}.access-info dd small{font-size:11px;color:#81747a}.access-station{display:flex;align-items:center;gap:12px;color:var(--wine);font-size:12px;border-bottom:1px solid var(--line);padding:12px 0 20px}.access-station svg{width:22px;height:26px;stroke:var(--wine);fill:none;stroke-width:1.4}.trial{background:var(--pink);padding:76px 7%;text-align:center}.trial h2{font:36px/1.8 var(--serif);letter-spacing:.08em;margin:15px 0 20px}.trial p:not(.eyebrow){font-size:14px;line-height:2.2}.trial-meta{display:flex;justify-content:center;align-items:center;gap:20px;margin:27px 0;font-size:12px}.trial-meta strong{font:32px Georgia;color:var(--wine)}.trial-meta small{font:11px var(--sans);margin-left:6px}.trial .pill{background:var(--wine);color:white;min-width:320px}.trial .pill:before{background:var(--wine-dark)}.footer{padding:48px 3.3% 24px}.footer-main{display:flex;align-items:center;gap:50px}.footer nav{display:flex;gap:22px;flex-wrap:wrap;margin-left:auto;font-size:12px}.page-top{display:flex;align-items:center;gap:10px;font:9px Georgia;white-space:nowrap}.page-top span{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:18px;transition:transform .4s}.page-top:hover span{transform:translateY(-5px)}.footer-bottom{border-top:1px solid var(--line);margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:15px;color:#93848b;font-size:10px}.footer-bottom small{font:9px Georgia}.dialog{border:0;border-radius:4px;width:min(620px,calc(100% - 32px));padding:48px;max-height:85svh;color:var(--ink);overflow:auto;box-shadow:0 20px 100px #30203030}.dialog::backdrop{background:#35202bb0;backdrop-filter:blur(4px)}.dialog h2{font:26px/1.7 var(--serif);margin:18px 0}.dialog p{font-size:14px}.dialog-close{position:absolute;top:10px;right:16px;background:none;border:0;color:var(--wine);font-size:30px}.dialog label{display:block;font-size:13px;margin:25px 0 10px}.dialog select{width:100%;background:#fff;padding:12px;border:1px solid var(--line);color:var(--ink);font-size:14px}.trial-guidance{margin:20px 0;background:var(--pink);padding:20px;font-size:14px;line-height:2}.demo-note{font-size:12px!important;color:#877680}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s,transform .85s}.js-motion .reveal.is-visible{opacity:1;transform:none}.sp{display:none}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes hero-zoom{from{transform:scale(1.05)}to{transform:scale(1)}}
@media(min-width:1600px){.hero{height:740px;min-height:660px}.hero-copy{top:18%}}
@media(max-width:1100px){.header{height:100px;gap:20px}.brand{font-size:20px}.brand-mark{width:50px;height:50px}.utility{gap:16px;font-size:10px}.desktop-nav{gap:17px;font-size:12px}.menu{top:100px}html{scroll-padding-top:110px}.hero{min-height:530px}.hero-copy{left:0;top:15%}.hero-photo{width:80%}.hero h1{font-size:51px}.hero-copy>p:not(.eyebrow){background:#ffffffba;width:fit-content;padding:6px 10px 6px 0}.section{width:88%;padding:65px 0}.about{gap:5%;grid-template-columns:27% 1fr}.feature-strip{gap:16px}.feature-strip>div{gap:8px;font-size:11px}.teacher{gap:6%}.teacher-copy h2{font-size:28px}.footer-main{flex-wrap:wrap;gap:25px}.footer nav{margin-left:0}.page-top{margin-left:auto}}
@media(max-width:760px){html{scroll-padding-top:86px}.header{height:82px;padding:0 5%;gap:12px}.brand{font-size:18px;gap:10px}.brand-mark{width:43px;height:43px;font-size:30px}.brand small{font-size:8px;letter-spacing:.12em}.header-right{display:none}.menu-button{margin-left:auto;width:44px;height:44px}.menu-button span{width:16px}.menu{inset:82px 0 0}.menu-inner{display:block;padding:28px 7% 50px}.menu-inner a{display:block;font-size:23px;line-height:1.6;padding:12px 0}.menu-inner a small{font-size:10px}.hero{height:auto;max-height:none;min-height:0;margin:8px 5% 0;padding-bottom:62px;display:flex;flex-direction:column}.hero-photo{position:relative;order:0;width:100%;height:auto;aspect-ratio:1.13}.hero-photo img{object-position:55% 45%}.hero-photo:after{display:none}.hero-copy{position:relative;top:auto;left:auto;order:1;margin-top:-28px;margin-left:5%;padding-top:12px;max-width:95%}.hero-copy>.eyebrow{font-size:9px;background:white;width:fit-content;padding:8px 10px 4px 0;margin-bottom:10px}.hero h1{font-size:40px;line-height:1.5;letter-spacing:.1em;margin-bottom:15px;text-shadow:none}.hero-copy>p:not(.eyebrow){font-size:13px;background:transparent;margin-bottom:18px;padding:0}.hero-copy .pill{font-size:12px;padding:12px 20px;min-width:248px}.hero-side{display:none}.hero-bottom{bottom:0;align-items:center}.hero-bottom>span{font-size:9px;max-width:65%;letter-spacing:.03em}.scroll-link{font-size:9px;gap:8px}.scroll-link span{width:30px;height:30px}.section{width:86%;padding:55px 0}.section-heading{margin-bottom:28px}.section-heading h2{font-size:38px}.section-heading h2 span{font-size:12px;margin-top:9px}.section-index{font-size:8px}.news-grid{grid-template-columns:1fr;gap:0}.news-card{padding:20px 0;border-top:none}.news-card:first-child{border-top:1px solid var(--wine)}.news-card h3{font-size:19px;margin:15px 0}.news-card h3 br{display:none}.news-top time{font-size:11px}.about{display:block;padding-top:28px}.about-label{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:32px}.about-label>.eyebrow{width:100%}.large-note{font-size:62px;margin-left:0;line-height:1}.about-label>p:last-child{font-size:20px;line-height:1.6}.about-copy h2{font-size:27px}.about-copy>p{font-size:14px;line-height:2.1}.pc{display:none}.feature-strip{gap:10px;padding-top:20px}.feature-strip>div{flex-direction:column;gap:8px;text-align:center;font-size:10px;flex:1}.feature-strip svg{width:30px;height:30px}.lesson-grid{display:block}.lesson-card{margin-top:30px;padding-top:22px}.lesson-card:first-child{margin-top:0}.lesson-card>svg{width:42px;height:42px;margin-bottom:10px}.lesson-card h3{font-size:23px}.lesson-card>p:not(.price):not(.eyebrow){min-height:0;font-size:14px;margin-bottom:18px}.lesson-card dl{font-size:12px}.price{font-size:32px;padding-top:16px}.lesson-note{font-size:11px;line-height:1.9}.teacher{display:flex;flex-direction:column;gap:44px}.teacher-image{width:100%;aspect-ratio:1.08}.teacher-image img{object-position:center 35%}.teacher-image>span{font-size:26px;bottom:-18px;left:12px}.teacher-copy h2{font-size:28px}.teacher-copy>.eyebrow{margin-bottom:16px}.teacher-copy>p:not(.eyebrow){font-size:14px}.piano-time{margin:0 5%;height:480px}.piano-time>img{object-position:60% center}.piano-time:after{background:linear-gradient(0deg,#281823c7,transparent)}.time-copy{left:7%;top:auto;bottom:35px}.time-copy h2{font-size:27px;line-height:1.75;margin:16px 0 22px}.time-copy>.eyebrow{font-size:10px}.time-copy .pill{font-size:12px;min-width:235px}.faq .section-heading{display:block}.faq .section-index{display:none}summary{font-size:13px;gap:14px;padding:21px 0;line-height:1.8}summary>span{font-size:22px}summary>i{width:14px;min-width:14px}summary>i:before,summary>i:after{width:14px}details>p{font-size:13px;padding:0 0 24px 34px}.access{display:block;padding-top:15px}.access h2{font-size:27px}.access-intro>p:last-child{font-size:13px}.access-info{margin-top:30px}.access-info dl>div{grid-template-columns:85px 1fr;font-size:12px}.access-info dd small{font-size:10px}.trial{padding:55px 7%}.trial h2{font-size:28px;line-height:1.7}.trial p:not(.eyebrow){font-size:13px}.trial-meta{flex-wrap:wrap;gap:8px 16px}.trial-meta>span:last-child{width:100%;font-size:11px}.trial .pill{min-width:0;width:100%;max-width:320px;font-size:13px}.sp{display:block}.footer{padding:35px 7% 20px}.footer-main{gap:28px}.footer .brand{font-size:18px}.footer nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:12px}.page-top{margin-left:auto}.footer-bottom{flex-direction:column;gap:10px;font-size:9px;margin-top:20px}.dialog{padding:40px 25px 30px}.dialog h2{font-size:22px}.dialog p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}
/* Shared inner-page design */
.page-head{background:var(--pink);height:220px;display:flex;align-items:center;margin:12px 3.3% 0;border-radius:3px}
.page-head-inner{width:min(1160px,92%);margin:auto}
.page-head h1{font:38px/1.6 var(--serif);letter-spacing:.08em;margin-top:12px}
.breadcrumb{width:min(1160px,86%);margin:18px auto 0;font-size:11px;color:#8b7981}
.breadcrumb ol{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0;margin:0}
.breadcrumb li+li:before{content:'/';margin-right:14px;color:#b4a1aa}
.breadcrumb a:hover{color:var(--wine)}
.page-nav{width:min(1160px,86%);margin:30px auto 0;padding:18px 0;display:flex;flex-wrap:wrap;gap:12px 35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px}
.page-nav a{transition:color .3s}.page-nav a:hover{color:var(--wine)}
.text-link{display:inline-flex;align-items:center;gap:25px;color:var(--wine);padding:10px 0;border:0;border-bottom:1px solid var(--wine);background:transparent;font-size:13px;transition:color .3s,gap .3s}
.text-link:hover{color:var(--wine-dark);gap:32px}.text-link span{font:20px Georgia;transition:transform .4s}.text-link:hover span{transform:rotate(90deg)}
.section-link{margin-top:22px}.lessons .text-link{color:#fff;border-color:#fff}
.intro-split{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:7%;padding-top:65px;padding-bottom:75px}
.intro-copy h2,.teacher-message h2{font:32px/1.8 var(--serif);letter-spacing:.05em;margin:20px 0 24px}
.intro-copy p:not(.eyebrow){font-size:14px;line-height:2.15;margin-bottom:20px}
.intro-image{margin:0;min-width:0}.intro-image img{aspect-ratio:1.3;height:auto;border-radius:3px;object-position:center}
.intro-image figcaption{font-size:11px;color:#8b7981;margin-top:12px}
.soft-section{background:var(--pink)}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.value-number{font:35px/1.2 Georgia;color:#b17b91;display:block;margin-bottom:20px}
.value-card{border-top:1px solid #d9b9c7;padding-top:25px}.value-card h3{font:22px/1.6 var(--serif);margin-bottom:16px}.value-card p{font-size:14px;line-height:2.15}
.teacher-detail-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:8%;align-items:start}.teacher-message p:not(.eyebrow){font-size:14px;line-height:2.2;margin-bottom:22px}
.profile-panel{background:var(--pink);padding:35px}.profile-panel>svg{width:44px;height:44px;stroke:var(--wine);fill:none;stroke-width:1.2;margin-bottom:20px}
.profile-panel h3{font:22px Georgia;letter-spacing:.05em;margin-bottom:20px}.profile-panel dl{margin:0}.profile-panel dl>div{border-top:1px solid var(--line);padding:16px 0;font-size:13px}.profile-panel dt{color:var(--wine);margin-bottom:8px}.profile-panel dd{margin:0;line-height:2}
.studio-section{background:var(--wine);color:#fff}.studio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.studio-grid svg{width:40px;height:40px;stroke:#fff;fill:none;stroke-width:1.2;margin-bottom:22px}.studio-grid h3{font:22px/1.6 var(--serif);margin-bottom:16px}.studio-grid p{font-size:14px;line-height:2.1}.access-note{margin-top:22px;color:#82717a;max-width:420px}
.course-section{background:var(--pink)}.course-detail{display:grid;grid-template-columns:33% 1fr;gap:7%;padding:45px 0;border-top:1px solid #d9b9c7}.course-detail:last-child{padding-bottom:0}.course-side{position:relative}.course-side>.value-number{position:absolute;right:0;font-size:20px}.course-side>svg{width:46px;height:46px;stroke:var(--wine);fill:none;stroke-width:1.2;margin-bottom:18px}.course-side h3{font:26px/1.7 var(--serif);margin:12px 0}.course-age{display:inline-block;color:var(--wine);font-size:12px;background:white;border:1px solid var(--line);border-radius:30px;padding:4px 14px}
.course-content h4{font:21px/1.7 var(--serif);margin:0 0 18px}.course-content>p{font-size:14px;line-height:2.2}.learning-list{list-style:none;padding:0;margin:20px 0;font-size:13px}.learning-list li{padding:4px 0 4px 22px;position:relative}.learning-list li:before{content:'✓';position:absolute;left:0;color:var(--wine)}
.course-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding:20px 0 15px}.course-summary>span{font-size:12px}.course-summary strong{font:31px Georgia;color:var(--wine)}.course-summary strong small{font:11px var(--sans);margin-left:7px}
.fee-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.fee-table caption{text-align:left;color:#81747a;font-size:12px;margin-bottom:15px}.fee-table th,.fee-table td{border-bottom:1px solid var(--line);padding:20px}.fee-table thead{background:var(--pink);color:var(--wine)}.fee-table tbody th{font-weight:500}.fee-table td:last-child{color:var(--wine);white-space:nowrap}.fee-extra{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:32px}.fee-extra>div{border-top:1px solid var(--wine);padding:20px 0;display:flex;flex-direction:column;gap:10px}.fee-extra span{font-size:12px}.fee-extra strong{font:30px Georgia;color:var(--wine)}.fee-extra small{font:13px var(--sans);margin-left:6px}.fee-extra .fee-text{font:21px var(--serif)}.notes{padding-left:19px;font-size:12px;color:#81747a;line-height:2.1}
.contact-price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:25px 0;display:flex;justify-content:space-between;align-items:center;gap:15px}.contact-price span{font-size:13px}.contact-price strong{font:34px Georgia;color:var(--wine)}.contact-price small{font:12px var(--sans);margin-left:6px}.small-copy{font-size:12px!important;color:#81747a}
.visit-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:0;padding:0}.visit-steps>li{border-top:1px solid #d9b9c7;padding-top:25px}.visit-steps>li>span{font:35px Georgia;color:var(--wine)}.visit-steps h3{font:22px/1.7 var(--serif);margin:18px 0 14px}.visit-steps p{font-size:14px;line-height:2.15}
.form-layout{display:grid;grid-template-columns:28% 1fr;gap:9%;align-items:start}.form-aside h3{font:23px var(--serif);margin-bottom:22px}.form-aside>p{font-size:13px;line-height:2.1}.form-aside dl{font-size:12px;margin:25px 0}.form-aside dl>div{border-top:1px solid var(--line);padding:17px 0}.form-aside dt{color:var(--wine);margin-bottom:6px}.form-aside dd{margin:0}.form-demo-note{background:var(--pink);border-left:2px solid var(--wine);font-size:12px;padding:15px 18px;margin-bottom:25px}.form-progress{list-style:none;padding:0;display:flex;gap:20px;margin:0 0 30px;font-size:13px}.form-progress li{color:#93848b;border-bottom:1px solid var(--line);padding:10px 5px;flex:1}.form-progress .current{color:var(--wine);border-bottom:2px solid var(--wine)}
.form-field{margin-bottom:25px}.form-field>label{display:flex;align-items:center;gap:12px;font-size:14px;margin-bottom:10px}.required,.optional{font-size:10px;line-height:1.5;padding:2px 8px;border-radius:10px;display:inline-block}.required{color:#fff;background:var(--wine)}.optional{color:#81747a;background:#f2eef0}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:1px solid #d8cbd1;border-radius:3px;padding:12px 14px;background:white;color:var(--ink);font:16px/1.7 var(--sans);min-width:0}.form-field textarea{resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#9a8b92;font-size:13px}.field-help{font-size:11px;color:#81747a;margin-top:8px}.privacy-details{border-top:1px solid var(--line)}.privacy-details summary{font-size:13px;padding:17px 0}.privacy-details p{font-size:12px;padding:0 0 18px}.consent{display:flex;align-items:flex-start;gap:12px;font-size:12px;line-height:2;margin:24px 0}.consent input{width:18px;height:18px;flex-shrink:0;margin:4px 0 0;accent-color:var(--wine)}.consent .required{margin-left:8px}.form-review>h3{font:25px/1.7 var(--serif);margin-bottom:12px}.form-review>p{font-size:13px;margin-bottom:25px}.form-review dl{margin:0 0 25px}.form-review dl>div{display:grid;grid-template-columns:150px 1fr;gap:20px;border-top:1px solid var(--line);padding:18px 0;font-size:13px}.form-review dt{color:var(--wine)}.form-review dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.review-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.review-actions .pill{min-width:200px}.review-actions .text-link{font-size:11px}.contact-bottom{text-align:center;background:var(--pink)}.contact-bottom h2{font:32px/1.8 var(--serif);margin:18px 0}.contact-bottom p:not(.eyebrow){font-size:14px;line-height:2.15;margin-bottom:22px}[hidden]{display:none!important}
@media(max-width:1100px){.form-layout{grid-template-columns:25% 1fr;gap:6%}.intro-copy h2,.teacher-message h2{font-size:28px}.values-grid,.visit-steps,.studio-grid{gap:25px}.course-side h3{font-size:23px}}
@media(max-width:760px){
.page-head{height:170px;margin:8px 5% 0}.page-head-inner{width:86%}.page-head h1{font-size:27px;letter-spacing:.03em;margin-top:10px}.page-head .eyebrow{font-size:10px}.breadcrumb{font-size:10px;margin-top:15px}.page-nav{margin-top:23px;gap:12px 20px;font-size:11px;padding:15px 0}.intro-split{display:flex;flex-direction:column;gap:32px;padding-top:40px;padding-bottom:48px}.intro-copy h2,.teacher-message h2{font-size:27px;margin:17px 0 20px}.intro-copy p:not(.eyebrow){font-size:14px}.intro-image{width:100%}.intro-image img{aspect-ratio:1.18;object-position:50% 35%}.intro-image figcaption{font-size:10px}.values-grid,.studio-grid,.visit-steps{grid-template-columns:1fr;gap:30px}.value-card{padding-top:20px}.value-number{font-size:30px;margin-bottom:14px}.value-card h3,.studio-grid h3,.visit-steps h3{font-size:22px}.teacher-detail-grid{grid-template-columns:1fr;gap:30px}.profile-panel{padding:25px}.teacher-message p:not(.eyebrow){font-size:14px}.studio-grid article+article{border-top:1px solid #ffffff60;padding-top:25px}.studio-grid svg{margin-bottom:15px}.course-detail{display:block;padding:30px 0}.course-side{margin-bottom:25px}.course-side h3{font-size:25px}.course-side>.value-number{font-size:24px}.course-side>svg{width:40px;height:40px}.course-content h4{font-size:20px}.course-summary{flex-wrap:wrap;gap:12px}.course-summary strong{font-size:30px}.fee-table{font-size:12px;table-layout:fixed}.fee-table th,.fee-table td{padding:14px 7px;overflow-wrap:anywhere}.fee-table th:first-child{width:42%}.fee-table th:nth-child(2){width:34%}.fee-table caption{font-size:11px}.fee-table thead{font-size:11px}.fee-extra{grid-template-columns:1fr;gap:0;margin-top:25px}.fee-extra>div{flex-direction:row;justify-content:space-between;align-items:center;padding:17px 0}.fee-extra strong{font-size:27px}.notes{font-size:11px}.contact-price strong{font-size:30px}.contact-price span{font-size:12px}.visit-steps>li{padding-top:20px}.visit-steps h3{margin-top:12px}.form-layout{grid-template-columns:1fr;gap:35px}.form-aside{border-bottom:1px solid var(--line);padding-bottom:30px}.form-aside dl{display:flex;gap:25px;flex-wrap:wrap;margin:22px 0 12px}.form-aside dl>div{border:0;padding:0}.form-aside>p{font-size:13px}.form-progress{font-size:12px;margin-bottom:25px}.form-demo-note{font-size:11px;padding:14px}.form-field>label{font-size:13px}.form-field{margin-bottom:22px}.form-field input,.form-field select,.form-field textarea{padding:11px 12px}.form-field input::placeholder,.form-field textarea::placeholder{font-size:12px}.form-review dl>div{grid-template-columns:1fr;gap:8px;font-size:13px}.form-review h3{font-size:23px}.review-actions{gap:15px}.review-actions .pill{width:100%}.contact-bottom h2{font-size:27px}.contact-bottom p:not(.eyebrow){font-size:13px}
}

.icon-definitions{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
/* Home: give each information area a clear visual identity. */
.home .news{width:auto;margin:45px 0 0;padding:0;background:#f4edf1;border-top:1px solid #e9dce3;border-bottom:1px solid #e9dce3}
.home .topics-layout{display:grid;grid-template-columns:245px 1fr;gap:65px;align-items:center;padding:58px 0}
.topics-heading>.eyebrow{font-size:10px;margin-bottom:15px}.topics-heading h2{font:47px/1.2 Georgia;color:var(--wine-dark)}.topics-jp{font-size:16px;margin:13px 0 22px}.topics-description{font-size:13px;line-height:2.1;color:#84727b}.topics-heading .section-index{display:block;margin-top:30px}
.home .news-grid{display:grid;grid-template-columns:1fr;gap:12px}
.home .news-card{display:flex;align-items:center;gap:22px;padding:22px 25px;background:#fff;border:1px solid #e6d8e0;border-radius:5px;box-shadow:0 4px 18px #59374705;transition:border-color .35s,box-shadow .35s,transform .35s}
.home .news-card:hover{color:var(--ink);background:#fff;border-color:#b97591;box-shadow:0 6px 24px #59374712;transform:translateY(-3px)}
.news-icon{display:grid;place-items:center;flex-shrink:0;width:55px;height:55px;background:var(--pink);border-radius:50%;color:var(--wine)}.news-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.3}.news-content{flex:1;min-width:0}.home .news-top{justify-content:flex-start;gap:15px;margin-bottom:8px}.home .news-top .tag{font-size:10px;color:var(--wine-dark);background:#f3e5ec;padding:2px 10px;border-radius:20px}.news-title{display:block;font:18px/1.8 var(--serif)}.news-caption{display:block;font-size:10px;color:#897780;margin-top:4px}.news-plus{display:grid;place-items:center;width:32px;height:32px;border:1px solid #dec7d2;border-radius:50%;flex-shrink:0;color:var(--wine);font:21px Georgia;transition:transform .4s,background .4s,color .4s}.home .news-card:hover .news-plus{transform:rotate(90deg);background:var(--wine);color:#fff}
.home .lessons{background:#853653}.home .lessons .section{padding:76px 0}.home .lesson-grid{gap:24px;align-items:stretch}.home .lesson-card{--plan:#9d4266;background:white;border:0;padding:0;margin:0;border-radius:6px;overflow:hidden;color:var(--ink);display:flex;flex-direction:column;box-shadow:0 8px 24px #4d132d26}.home .lesson-card--child{--plan:#466b7d}.home .lesson-card--adult{--plan:#6f7361}
.plan-head{position:relative;padding:28px 26px 24px;border-top:5px solid var(--plan);background:#fcf8fa}.lesson-card--child .plan-head{background:#f2f6f8}.lesson-card--adult .plan-head{background:#f5f6f1}.home .course-number{font:15px Georgia;top:24px;right:24px;color:var(--plan)}.plan-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:white;border:1px solid #e4d5dd;margin-bottom:16px}.plan-icon svg{width:31px;height:31px;fill:none;stroke:var(--plan);stroke-width:1.3}.plan-head>.eyebrow{font-size:9px;color:var(--plan);margin-bottom:8px}.home .lesson-card h3{font:24px/1.7 var(--serif);margin:0 0 14px}.plan-age{display:inline-block;font-size:11px;color:var(--plan);border:1px solid var(--plan);border-radius:20px;padding:3px 12px;line-height:1.7;background:white}
.plan-body{padding:25px 26px 20px;flex:1}.plan-body h4{font-size:14px;font-weight:600;margin:0 0 13px}.plan-body>p{font-size:13px;line-height:2.05;margin-bottom:22px}.home .lesson-card dl{border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.home .lesson-card dl>div{display:flex;flex-direction:column;gap:4px;border-left:2px solid #e7dce2;padding:0 0 0 10px}.home .lesson-card dt{font-size:10px;color:#8b7981}.home .lesson-card dd{font-size:15px;font-weight:500;line-height:1.7}.plan-footer{padding:20px 26px 25px;border-top:1px solid var(--line);background:#fdfafb}.home .price{padding:0;display:flex;align-items:baseline;gap:7px;font:35px Georgia;color:var(--plan);margin-bottom:18px}.home .price>small{font:11px var(--sans);margin-right:auto;color:#84727b}.home .price>span{font:13px var(--sans);margin:0;color:var(--ink)}.home .price>span>span{font-size:10px;display:block}.plan-link{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--plan);border-radius:4px;padding:10px 13px;font-size:12px;color:var(--plan);background:white;transition:background .35s,color .35s}.plan-link>span{font:19px Georgia}.plan-link:hover{background:var(--plan);color:white}.lesson-footnote{display:flex;gap:30px;justify-content:space-between;align-items:center;margin-top:30px}.lesson-footnote>p{font-size:11px;line-height:2;color:#f2dbe5}.home .lesson-footnote .text-link{font-size:12px;flex-shrink:0}
.home .faq{width:auto;margin:0;padding:0;background:#f5f2f4}.home .faq-layout{display:grid;grid-template-columns:31% 1fr;gap:48px;align-items:start;padding:68px 0}.faq-aside{padding:32px 28px;background:#66384e;color:white;border-radius:5px}.faq-aside>.eyebrow{color:#e5c3d3;font-size:9px;margin-bottom:18px}.faq-aside h2{font:31px/1.3 Georgia;letter-spacing:.02em}.faq-aside h2>span{display:block;font:15px/1.7 var(--sans);margin-top:12px}.faq-aside>p:not(.eyebrow){font:19px/1.8 var(--serif);margin:25px 0 20px}.faq-aside .text-link{color:#fff;border-color:#b3879d;font-size:11px;gap:15px}.home .faq-list{border:0;display:grid;gap:12px}.home .faq-list details{border:1px solid #e4d6de;border-radius:5px;background:white;overflow:hidden;transition:border-color .3s}.home .faq-list details[open]{border-color:#b58299}.home .faq-list summary{padding:23px 24px;gap:16px;font-size:14px}.home .faq-list summary>span{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:var(--pink);border-radius:50%;font:19px Georgia}.home .faq-list details[open] summary{background:#fcf8fa}.home .faq-list details>p{padding:22px 25px 25px 74px;font-size:13px;line-height:2.1;border-top:1px solid #eee4e9}
.access-home>.section{padding:72px 0}.access-panel{display:grid;grid-template-columns:44% 1fr;border-radius:6px;overflow:hidden;border:1px solid #e2d5dc}.home .access-panel .access-intro{padding:42px 38px;background:#40303c;color:white}.access-panel .access-intro>.eyebrow{color:#dab0c3;font-size:10px;margin-bottom:16px}.access-panel h2{font:42px/1.2 Georgia;margin-bottom:26px}.access-panel h2>span{display:block;font:15px/1.8 var(--sans);margin-top:12px}.station-block{display:flex;align-items:center;gap:17px;border-top:1px solid #826776;border-bottom:1px solid #826776;padding:22px 0;margin-bottom:25px}.station-icon{width:46px;height:46px;flex-shrink:0;border-radius:50%;background:#ffffff12;display:grid;place-items:center}.station-icon svg{width:26px;height:26px;stroke:#edcadb;fill:none;stroke-width:1.4}.station-line{display:block;font-size:11px;color:#dec5d1}.station-block strong{font:29px/1.7 var(--serif)}.station-walk{margin-left:18px;font-size:12px}.station-walk b{font:31px Georgia;margin:0 3px;color:#edcadb}.home .access-panel .access-intro>p:not(.eyebrow){font-size:13px;line-height:2.1;margin-bottom:24px;color:#f0e5eb}.access-panel .access-intro .text-link{color:#fff;border-color:#927182;font-size:12px;gap:17px}
.home .access-panel .access-info{margin:0;padding:40px;background:#faf6f8}.access-info-title{display:flex;align-items:center;gap:17px;margin-bottom:24px}.access-info-title>svg{width:32px;height:32px;stroke:var(--wine);fill:none;stroke-width:1.2}.access-info-title span{font:9px Georgia;letter-spacing:.12em;color:var(--wine)}.access-info-title h3{font:25px/1.8 var(--serif);margin-top:4px}.home .access-panel .access-info dl>div{grid-template-columns:95px 1fr;padding:19px 0;font-size:13px}.opening-row{display:flex;gap:18px;align-items:baseline}.opening-row>span{font-size:11px;min-width:38px}.opening-row strong{font-size:15px;font-weight:500;white-space:nowrap}.access-reservation{border-top:1px solid var(--line);padding-top:20px}.access-reservation>span{display:block;font-size:10px;color:#897780;margin-bottom:12px}.access-reservation>a{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;color:var(--wine);padding:13px 16px;background:white;border:1px solid #dfc5d1;border-radius:3px;transition:background .3s,color .3s}.access-reservation>a>span{font:20px Georgia}.access-reservation>a:hover{background:var(--wine);color:white}
@media(max-width:1100px){.home .topics-layout{grid-template-columns:205px 1fr;gap:35px}.home .news-card{gap:15px;padding:20px}.plan-head,.plan-body{padding-left:20px;padding-right:20px}.plan-footer{padding-left:20px;padding-right:20px}.home .lesson-grid{gap:18px}.home .lesson-card h3{font-size:21px}.home .faq-layout{grid-template-columns:31% 1fr;gap:30px}.faq-aside{padding:28px 23px}.faq-aside h2{font-size:27px}.home .access-panel .access-intro{padding:32px 28px}.home .access-panel .access-info{padding:32px 28px}.station-walk{margin-left:10px}}
@media(max-width:760px){
.home .news{margin-top:30px}.home .topics-layout{display:block;padding:38px 0}.topics-heading{margin-bottom:24px;position:relative}.topics-heading h2{font-size:36px}.topics-heading>.eyebrow{font-size:9px;margin-bottom:10px}.topics-jp{font-size:14px;margin:8px 0 0}.topics-description{display:none}.topics-heading .section-index{position:absolute;right:0;bottom:5px;margin:0;font-size:8px}.home .news-grid{gap:11px}.home .news-card{gap:12px;padding:18px 14px;border:1px solid #e6d8e0}.home .news-card:first-child{border-top:1px solid #e6d8e0}.news-icon{width:37px;height:37px}.news-icon svg{width:23px;height:23px}.home .news-top{gap:10px;margin-bottom:6px;flex-wrap:wrap}.home .news-top time{font-size:10px}.home .news-top .tag{font-size:9px;padding:1px 8px}.news-title{font-size:16px;line-height:1.7}.news-caption{font-size:9px;margin-top:6px}.news-plus{width:25px;height:25px;font-size:17px}
.home .lessons .section{padding:46px 0}.home .lessons .section-heading h2 span{max-width:230px;font-size:12px}.home .lesson-grid{display:grid;grid-template-columns:1fr;gap:22px}.home .lesson-card{margin:0}.plan-head{padding:22px 24px 20px}.plan-icon{width:47px;height:47px;margin-bottom:13px}.plan-icon svg{width:28px;height:28px}.plan-head>.eyebrow{font-size:9px}.home .lesson-card h3{font-size:25px;margin-bottom:11px}.plan-age{font-size:11px}.plan-body{padding:22px 24px}.plan-body h4{font-size:14px}.plan-body>p{font-size:13px;margin-bottom:20px}.home .lesson-card dl{display:grid;padding:0}.home .lesson-card dd{font-size:16px}.plan-footer{padding:19px 24px 23px}.home .price{font-size:35px;margin-bottom:16px;padding:0}.plan-link{font-size:12px;padding:12px 14px}.lesson-footnote{display:block;margin-top:24px}.lesson-footnote .text-link{margin-top:14px;font-size:11px}
.home .faq-layout{display:block;padding:44px 0}.faq-aside{padding:26px;margin-bottom:22px}.faq-aside h2{font-size:32px}.faq-aside h2>span{font-size:13px;margin-top:8px}.faq-aside>p:not(.eyebrow){font-size:18px;margin:18px 0 14px}.faq-aside>p:not(.eyebrow) br{display:none}.home .faq-list{gap:12px}.home .faq-list summary{padding:20px 15px;font-size:13px;gap:12px}.home .faq-list summary>span{width:28px;height:28px;font-size:17px}.home .faq-list details>p{padding:18px 18px 22px;font-size:13px}
.access-home>.section{padding:44px 0}.access-panel{display:block}.home .access-panel .access-intro{padding:30px 25px}.access-panel h2{font-size:35px;margin-bottom:22px}.access-panel h2>span{font-size:13px}.station-block{gap:14px;padding:18px 0;margin-bottom:20px}.station-block strong{font-size:28px}.station-walk{margin-left:12px}.station-walk b{font-size:29px}.home .access-panel .access-intro>p:not(.eyebrow){font-size:13px;margin-bottom:18px}.home .access-panel .access-info{padding:28px 22px}.access-info-title{gap:12px;margin-bottom:20px}.access-info-title h3{font-size:23px}.home .access-panel .access-info dl>div{grid-template-columns:75px 1fr;padding:17px 0;font-size:12px}.home .access-panel .access-info dd small{font-size:10px}.opening-row{gap:10px;flex-wrap:wrap}.opening-row strong{font-size:14px}.access-reservation>a{font-size:12px;padding:12px}.access-reservation>span{font-size:10px}
}
@media(max-width:360px){.news-icon{display:none}.home .news-card{gap:10px}.home .topics-layout{width:88%}.station-walk{display:block;margin-left:0}.home .price{font-size:33px}.home .access-panel .access-info dl>div{grid-template-columns:1fr;gap:7px}.plan-head,.plan-body,.plan-footer{padding-left:21px;padding-right:21px}}
