@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Noto+Serif+JP:wght@500;600;700;900&display=swap');
:root{--paper:#f2eee7;--ink:#1b2638;--muted:#74777d;--line:#d4cec4;--wine:#743548;--brass:#9b7b4b;--white:#fbfaf7;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif;--shadow:rgba(27,38,56,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#ddd8d0}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font:inherit}.site-shell{width:min(100%,1440px);margin:0 auto;position:relative;overflow:hidden;background:var(--paper)}.flag-line{position:absolute;z-index:10;left:0;top:0;bottom:0;width:15px;display:flex;pointer-events:none}.flag-line span,.flag-line i,.flag-line b{display:block;flex:1}.flag-line span{background:var(--ink)}.flag-line i{background:var(--paper)}.flag-line b{background:var(--wine)}.section-wrap{width:min(1160px,calc(100% - 128px));margin-inline:auto}.site-header{width:min(1160px,calc(100% - 128px));margin-inline:auto;min-height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ink);position:relative;z-index:20}.wordmark{display:flex;flex-direction:column;gap:0}.wordmark-en,.overline{font-size:11px;line-height:1.3;letter-spacing:.21em;font-weight:800;color:var(--wine)}.wordmark strong{font-family:var(--serif);font-size:20px;line-height:1.3;letter-spacing:.08em}.site-nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:700;color:var(--muted)}.site-nav a{transition:color .2s ease}.site-nav a:hover{color:var(--wine)}.site-nav .nav-cta{padding:10px 16px;border:1px solid var(--ink);color:var(--ink)}.menu-toggle{display:none;background:none;border:0;color:var(--ink);padding:6px}.menu-toggle span{display:block;width:22px;height:1px;background:var(--ink);margin:4px 0}.menu-toggle em{display:block;font-style:normal;font-size:8px;letter-spacing:.14em;margin-top:4px}.hero{min-height:690px;display:grid;grid-template-columns:1fr 45%;align-items:center;gap:40px;padding-top:70px;padding-bottom:75px}.hero-copy{padding-left:46px;position:relative}.hero-copy:before{content:"";position:absolute;left:0;top:4px;width:22px;height:3px;background:var(--brass);box-shadow:30px 0 0 var(--wine)}.hero-kicker{font-family:var(--serif);color:var(--muted);font-size:18px;margin:36px 0 13px;letter-spacing:.08em}.hero h1{font-family:var(--serif);font-size:clamp(46px,5.4vw,74px);font-weight:900;line-height:1.22;letter-spacing:-.075em;margin:0}.hero h1 .hero-line{display:block}.hero h1 .hero-line:nth-child(2){color:var(--wine)}.hero-lead{font-family:var(--serif);font-size:17px;color:#5e6062;line-height:2;margin:27px 0 31px}.hero-actions{display:flex;align-items:center;gap:24px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:54px;padding:14px 20px;border:1px solid transparent;font-weight:800;font-size:13px;letter-spacing:.06em;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.button span{font-size:18px;line-height:1}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--shadow)}.button-dark{background:var(--ink);color:var(--paper)}.button-wine{background:var(--wine);color:var(--paper);margin-top:23px}.text-link{font-size:13px;font-weight:800;color:var(--muted);border-bottom:1px solid var(--muted);padding-bottom:3px}.text-link span{margin-left:6px;color:var(--wine)}.hero-art{height:560px;position:relative}.portrait-frame{position:absolute;right:56px;top:28px;width:250px;height:325px;border:1px solid var(--brass);padding:10px;background:var(--paper);box-shadow:18px 18px 0 rgba(116,53,72,.1);z-index:3}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 23%;filter:saturate(.88) contrast(1.04)}.violin-motif{position:absolute;right:-28px;top:370px;width:190px;height:270px;object-fit:contain;object-position:center;opacity:.8;z-index:2;filter:saturate(.85)}.art-note{position:absolute;left:12px;top:198px;z-index:4;font-family:var(--serif);font-size:15px;line-height:1.8;color:var(--wine);writing-mode:vertical-rl;letter-spacing:.08em}.art-caption{position:absolute;left:10px;bottom:15px;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;line-height:1.2;letter-spacing:.14em}.art-caption strong{color:var(--ink);font-size:12px;letter-spacing:.16em}.fact-strip{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:19px 0 22px;margin-bottom:132px}.fact-strip div{padding:0 25px;border-right:1px solid var(--line)}.fact-strip div:first-child{padding-left:0}.fact-strip div:last-child{border-right:0}.fact-strip span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.fact-strip strong{font-family:var(--serif);font-size:23px;font-weight:900}.lesson{padding-bottom:130px}.section-intro{display:flex;gap:26px;align-items:flex-start;margin-bottom:49px}.section-number{font-family:var(--serif);color:var(--wine);font-size:16px;font-weight:900;margin:0;padding-top:5px}.section-intro h2,.teacher-copy h2,.apply h2{font-family:var(--serif);font-size:clamp(35px,4.4vw,57px);line-height:1.25;letter-spacing:-.04em;margin:16px 0 0}.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lesson-card{min-height:255px;border-top:1px solid var(--ink);padding:21px 23px 23px;display:flex;flex-direction:column;background:rgba(255,255,255,.15)}.lesson-card-accent{background:var(--ink);color:var(--paper);border-color:var(--ink)}.lesson-card-accent .card-index,.lesson-card-accent p,.lesson-card-accent a{color:#c8bca9}.card-index{font-size:11px;color:var(--wine);letter-spacing:.16em;font-weight:900}.lesson-card h3{font-family:var(--serif);font-size:24px;margin:28px 0 13px;line-height:1.35}.lesson-card p{font-size:14px;line-height:1.9;color:var(--muted);margin:0}.lesson-card a{font-size:12px;font-weight:800;color:var(--wine);margin-top:auto;padding-top:20px}.lesson-note{display:flex;gap:18px;align-items:flex-start;margin-top:42px}.note-line{display:block;width:44px;height:1px;background:var(--wine);margin-top:13px;flex:none}.lesson-note p{font-size:14px;color:var(--muted);margin:0;line-height:1.9}.lesson-note strong{color:var(--ink)}.teacher{border-top:1px solid var(--ink);padding-top:75px;padding-bottom:140px;display:grid;grid-template-columns:43% 1fr;gap:92px;align-items:start}.teacher-photo{position:relative;padding-right:25px}.teacher-photo:after{content:"";position:absolute;right:0;top:25px;bottom:25px;width:1px;background:var(--brass)}.teacher-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 23%;filter:saturate(.88) contrast(1.04)}.teacher-photo span{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);padding-top:12px}.teacher-copy{padding-top:4px}.teacher-copy h2{font-size:50px;margin-top:14px}.teacher-role{font-size:12px;letter-spacing:.16em;color:var(--wine);font-weight:800;margin:4px 0 30px}.teacher-bio{max-width:500px;color:#62656a;font-family:var(--serif);font-size:15px;line-height:2}.teacher-bio p{margin:0 0 13px}.teacher-signature{font-family:var(--serif);font-size:21px;line-height:1.8;margin-top:33px;color:var(--ink)}.teacher-signature em{font-style:normal;color:var(--wine)}.apply{display:grid;grid-template-columns:1fr 270px;gap:75px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding-top:72px;padding-bottom:72px;margin-bottom:96px}.apply h2{font-size:50px;margin-top:14px}.apply h2 span{color:var(--wine)}.apply-copy>p:not(.section-number):not(.overline){max-width:540px;color:var(--muted);font-family:var(--serif);font-size:15px;line-height:2;margin:25px 0 0}.apply-qr{align-self:center;text-align:center;padding:22px;border:1px solid var(--brass);background:rgba(255,255,255,.2)}.qr-label{font-size:10px;letter-spacing:.18em;font-weight:900;color:var(--wine);margin-bottom:14px}.qr-box{width:170px;height:170px;margin:0 auto;background:#fff;padding:8px}.qr-box img{width:100%;height:100%;object-fit:contain}.apply-qr p{font-size:11px;line-height:1.7;color:var(--muted);margin:13px 0 0}.site-footer{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;border-top:1px solid var(--line);padding-top:26px;padding-bottom:48px;color:var(--muted);font-size:11px}.site-footer>div{display:flex;flex-direction:column;gap:5px}.site-footer strong{font-family:var(--serif);font-size:19px;color:var(--ink)}.site-footer p{margin:0}.site-footer a{color:var(--ink);font-weight:700}.site-footer .overline{font-size:9px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}.reveal.is-visible{opacity:1;transform:none}.reveal-delay{transition-delay:.12s}.desktop-only{display:block}
@media (max-width:900px){.section-wrap,.site-header{width:calc(100% - 88px)}.hero{grid-template-columns:1.1fr .9fr;gap:10px;padding-top:48px}.hero-copy{padding-left:29px}.hero h1{font-size:clamp(44px,7vw,64px)}.portrait-frame{right:10px;width:190px;height:250px}.violin-motif{right:-32px;top:286px;width:165px;height:235px}.art-note{left:-12px;font-size:12px}.fact-strip div{padding-inline:13px}.teacher{gap:50px}.apply{gap:42px}}
@media (max-width:680px){.flag-line{width:8px}.section-wrap,.site-header{width:calc(100% - 48px)}.site-header{min-height:77px}.wordmark-en{font-size:8px;letter-spacing:.15em}.wordmark strong{font-size:16px}.menu-toggle{display:block;position:relative;z-index:31}.site-nav{position:absolute;display:none;top:77px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);padding:18px 0;flex-direction:column;align-items:flex-start;gap:0}.site-nav.is-open{display:flex}.site-nav a{padding:12px 0;width:100%;border-bottom:1px solid var(--line)}.site-nav .nav-cta{border:0;padding:12px 0}.hero{display:flex;flex-direction:column;padding-top:52px;padding-bottom:58px;gap:36px;align-items:stretch}.hero-copy{padding-left:29px}.hero-kicker{font-size:15px;margin-top:29px}.hero h1{font-size:40px;letter-spacing:-.09em}.hero h1 .hero-line{white-space:nowrap}.hero-lead{font-size:14px;line-height:1.9;margin:22px 0 27px}.desktop-only{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.button{width:100%;justify-content:space-between}.hero-art{height:430px;margin-left:16px}.portrait-frame{right:47px;top:0;width:195px;height:255px}.violin-motif{right:-4px;top:270px;width:150px;height:215px}.art-note{left:0;top:150px;font-size:12px}.art-caption{left:0;bottom:10px}.fact-strip{grid-template-columns:repeat(2,1fr);margin-bottom:90px;padding:0}.fact-strip div{padding:17px 14px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.fact-strip div:nth-child(2n){border-right:0}.fact-strip div:nth-child(3),.fact-strip div:nth-child(4){border-bottom:0}.fact-strip div:first-child{padding-left:14px}.fact-strip strong{font-size:19px}.lesson{padding-bottom:90px}.section-intro{gap:15px;margin-bottom:31px}.section-intro h2,.apply h2{font-size:37px}.lesson-grid{grid-template-columns:1fr;gap:12px}.lesson-card{min-height:210px;padding:18px 19px}.lesson-card h3{font-size:22px;margin:20px 0 10px}.lesson-note{margin-top:28px;gap:12px}.lesson-note p{font-size:13px}.teacher{grid-template-columns:1fr;gap:35px;padding-top:55px;padding-bottom:90px}.teacher-photo{padding-right:17px}.teacher-photo img{aspect-ratio:5/6}.teacher-copy h2{font-size:42px}.teacher-bio{font-size:14px;line-height:1.9}.apply{grid-template-columns:1fr;gap:42px;padding-top:52px;padding-bottom:52px;margin-bottom:67px}.apply h2{font-size:39px}.apply-copy>p:not(.section-number):not(.overline){font-size:14px}.apply-qr{width:min(100%,250px);justify-self:center}.site-footer{grid-template-columns:1fr;gap:20px;padding-bottom:34px}.site-footer>div:last-child{padding-top:10px;border-top:1px solid var(--line)} }

/* Performance request section */
.performance{border-top:1px solid var(--ink);padding-top:75px;padding-bottom:128px}.performance-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}.performance-lead>p{font-family:var(--serif);font-size:16px;line-height:2.05;color:var(--muted);margin:0 0 17px;max-width:480px}.performance-lead .button{margin-top:16px}.performance-list{border-top:1px solid var(--ink)}.performance-list article{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.performance-list article>span{font-size:11px;letter-spacing:.16em;color:var(--wine);font-weight:900;padding-top:5px}.performance-list h3{font-family:var(--serif);font-size:23px;margin:0 0 5px}.performance-list p{font-size:13px;color:var(--muted);margin:0}.performance-note{display:flex;gap:18px;align-items:flex-start;margin-top:42px}.performance-note p{font-size:14px;color:var(--muted);line-height:1.9;margin:0}.performance-note strong{color:var(--ink)}
@media (max-width:900px){.performance-layout{gap:45px}}
@media (max-width:680px){.performance{padding-top:55px;padding-bottom:90px}.performance-layout{grid-template-columns:1fr;gap:36px}.performance-list article{padding:16px 0}.performance-list h3{font-size:21px}.performance-lead>p{font-size:14px}.performance-note{margin-top:28px;gap:12px}.performance-note p{font-size:13px}}

/* Section-specific editorial motifs */
.performance,.lesson,.teacher,.apply{position:relative;overflow:hidden}.performance>*:not(.section-motif),.lesson>*:not(.section-motif),.teacher>*:not(.section-motif),.apply>*:not(.section-motif){position:relative;z-index:1}.section-motif{position:absolute;z-index:0;pointer-events:none;user-select:none}.performance-motif{right:8px;top:46px;width:190px;height:150px;color:var(--wine);opacity:.14;transform:rotate(-8deg)}.performance-motif span{position:absolute;right:20px;top:-24px;font-family:var(--serif);font-size:150px;line-height:1}.performance-motif i{position:absolute;right:88px;top:30px;font-family:var(--serif);font-size:92px;font-style:normal}.performance-motif b{position:absolute;right:0;bottom:12px;font-size:9px;letter-spacing:.25em;color:var(--ink);font-weight:800}.lesson-motif{right:9px;top:84px;width:135px;height:210px;opacity:.14}.lesson-motif img{width:100%;height:100%;object-fit:contain;filter:grayscale(1) sepia(.25);transform:rotate(7deg)}.lesson-motif span{position:absolute;right:-16px;bottom:-1px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;color:var(--wine);font-weight:800}.teacher-motif{right:18px;top:55px;width:170px;height:170px;color:var(--brass);opacity:.28;border:1px solid currentColor;border-radius:50%}.teacher-motif:before,.teacher-motif:after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%;inset:15px}.teacher-motif:after{inset:31px}.teacher-motif span{position:absolute;left:50%;top:50%;transform:translate(-50%,-60%);font-family:var(--serif);font-size:42px;color:var(--wine)}.teacher-motif i{position:absolute;left:50%;top:-7px;width:1px;height:185px;background:currentColor;transform:rotate(45deg)}.teacher-motif b{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);font-size:8px;letter-spacing:.24em;font-weight:800;color:var(--ink)}.apply-motif{right:270px;top:46px;width:150px;height:145px;color:var(--wine);opacity:.14}.apply-motif span{position:absolute;right:17px;top:-27px;font-family:var(--serif);font-size:150px;line-height:1}.apply-motif i{position:absolute;left:0;right:0;bottom:18px;height:1px;background:var(--brass);box-shadow:0 -12px 0 var(--brass),0 12px 0 var(--brass)}.apply-motif b{position:absolute;left:0;bottom:-1px;font-size:8px;letter-spacing:.22em;color:var(--ink);font-weight:800}
@media (max-width:680px){.performance-motif{right:-18px;top:37px;transform:scale(.75) rotate(-8deg);transform-origin:top right}.lesson-motif{right:-4px;top:92px;transform:scale(.72);transform-origin:top right}.teacher-motif{right:-18px;top:30px;transform:scale(.7);transform-origin:top right}.apply-motif{right:150px;top:35px;transform:scale(.65);transform-origin:top right}}

/* Compact layout refinement */
.hero{min-height:560px;padding-top:42px;padding-bottom:48px;gap:28px}.hero-art{height:450px}.portrait-frame{right:42px;top:20px;width:220px;height:285px}.violin-motif{right:-12px;top:325px;width:170px;height:240px}.art-note{top:165px}.fact-strip{margin-bottom:82px}.performance{padding-top:56px;padding-bottom:88px}.performance-layout{gap:65px}.lesson{padding-bottom:88px}.section-intro{margin-bottom:34px}.lesson-card{min-height:218px;padding:18px 21px}.teacher{padding-top:54px;padding-bottom:96px;gap:62px}.apply{padding-top:54px;padding-bottom:54px;margin-bottom:68px}
@media (max-width:900px){.hero{min-height:520px;padding-top:34px;padding-bottom:40px}.hero-art{height:390px}.portrait-frame{right:30px;top:12px;width:175px;height:230px}.violin-motif{right:-20px;top:285px;width:150px;height:215px}.art-note{top:145px}.fact-strip{margin-bottom:64px}.performance{padding-top:48px;padding-bottom:76px}.performance-layout{gap:38px}.lesson{padding-bottom:72px}.teacher{padding-top:46px;padding-bottom:78px;gap:42px}.apply{padding-top:45px;padding-bottom:45px;margin-bottom:58px}}
@media (max-width:680px){.hero{min-height:0;padding-top:36px;padding-bottom:42px;gap:24px}.hero-art{height:335px;margin-left:10px}.portrait-frame{right:43px;top:0;width:160px;height:210px}.violin-motif{right:0;top:238px;width:125px;height:180px}.art-note{top:110px}.art-caption{bottom:0}.fact-strip{margin-bottom:55px}.performance{padding-top:42px;padding-bottom:66px}.performance-layout{gap:28px}.section-intro{margin-bottom:24px}.lesson{padding-bottom:68px}.lesson-card{min-height:185px;padding:16px 18px}.lesson-card h3{margin:16px 0 8px}.teacher{padding-top:42px;padding-bottom:70px;gap:28px}.apply{padding-top:42px;padding-bottom:42px;margin-bottom:50px}}

/* Scale down the hero violin motif so the portrait remains primary */
.violin-motif{right:-4px;top:352px;width:125px;height:178px}
@media (max-width:900px){.violin-motif{right:-8px;top:310px;width:110px;height:158px}}
@media (max-width:680px){.violin-motif{right:8px;top:247px;width:88px;height:126px}}

/* Keep section motifs subordinate to the content */
.performance-motif{right:24px;top:48px;width:112px;height:94px;opacity:.11}.performance-motif span{right:10px;top:-16px;font-size:88px}.performance-motif i{right:52px;top:22px;font-size:50px}.performance-motif b{right:0;bottom:6px;font-size:7px}
.lesson-motif{right:20px;top:108px;width:78px;height:122px;opacity:.10}.lesson-motif span{right:-13px;font-size:7px}
@media (max-width:680px){.performance-motif{right:-4px;top:32px;width:82px;height:70px;opacity:.10;transform:scale(.72) rotate(-8deg);transform-origin:top right}.lesson-motif{right:8px;top:96px;width:58px;height:88px;opacity:.08;transform:scale(.72);transform-origin:top right}}

/* Make the mid-page lesson violin motif a very subtle accent */
.lesson-motif{right:26px;top:124px;width:48px;height:76px;opacity:.055}.lesson-motif span{right:-12px;font-size:6px;opacity:.8}
@media (max-width:680px){.lesson-motif{right:12px;top:108px;width:34px;height:54px;opacity:.045;transform:none}.lesson-motif span{display:none}}

/* Safari-safe fallbacks: content stays visible even if observers are unavailable */
html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased}.reveal{opacity:1;transform:none}.reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){.reveal{transition:opacity .55s ease,transform .55s ease}}

/* Keep biography breaks at sentence and credential boundaries */
.teacher-bio{line-break:strict;word-break:normal;overflow-wrap:normal}.bio-school{display:inline-block;white-space:nowrap;font-size:.94em;letter-spacing:.01em}

/* Keep the trial-lesson headline in two intentional lines */
.apply h2 .apply-line{display:block}.apply h2 .apply-line:nth-child(2){color:var(--wine)}
@media (max-width:680px){.apply h2{font-size:33px;letter-spacing:-.08em}.apply h2 .apply-line{white-space:nowrap}}


/* Keep the application number and eyebrow together. */
.apply-kicker{display:flex;align-items:center;gap:16px;margin:0 0 14px}
.apply-kicker .section-number,.apply-kicker .overline{margin:0}
@media (max-width:680px){.apply-kicker{gap:12px;margin-bottom:12px}}


/* Hero kicker replaces the removed opening overline. */
.hero-copy:before{display:none}
.hero-kicker{margin-top:0}
