:root{--red:#8b1f2d;--red-dark:#641520;--red-soft:#f3e8e7;--ivory:#fbf9f4;--ink:#1c1917;--muted:#6f6862;--line:#ded8d2;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.8 var(--sans)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip{position:absolute;top:-100px;left:1rem;background:#fff;padding:.7rem 1rem;z-index:99}.skip:focus{top:1rem}.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.header-inner{height:76px;max-width:1440px;margin:auto;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:baseline;gap:.75rem;font-family:var(--serif);color:var(--red-dark)}.brand strong{font-size:1.25rem;font-weight:600}.brand span{font:400 .72rem var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}nav{display:flex;align-items:center;gap:2rem}nav a{font-size:.84rem;letter-spacing:.08em;color:#4e4945;border-bottom:1px solid transparent}nav a:hover{color:var(--red);border-color:var(--red)}.contact-link{background:var(--red);color:#fff!important;padding:.55rem 1rem}.menu{display:none;background:0;border:0;font:500 .82rem var(--sans)}
.hero{min-height:calc(100vh - 76px);display:grid;grid-template-columns:52% 48%;background:var(--ivory)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(4rem,9vw,9rem) clamp(2rem,7vw,8rem)}.kicker{margin:0 0 1.5rem;color:var(--red);font-size:.72rem;font-weight:600;letter-spacing:.22em}.hero h1{margin:0;font:500 clamp(3.8rem,7vw,7.5rem)/1.08 var(--serif);letter-spacing:-.045em;color:var(--red-dark)}.hero h1 span{display:block;margin-bottom:.8rem;font-size:.28em;letter-spacing:.22em;color:var(--ink)}.jp-name{margin:.8rem 0 .2rem;font:500 clamp(1.2rem,2vw,1.8rem) var(--serif);letter-spacing:.12em}.role{margin:0;color:var(--red);font-size:.92rem;letter-spacing:.06em}.hero-intro{max-width:560px;margin:2rem 0 0;color:var(--muted);font-size:1.08rem}.hero-actions{display:flex;align-items:center;gap:1.6rem;margin-top:2.4rem}.button{display:inline-block;padding:.8rem 1.2rem;background:var(--red);color:#fff;font-weight:500;font-size:.88rem;border:1px solid var(--red);transition:.2s}.button:hover{background:var(--red-dark);border-color:var(--red-dark)}.arrow-link{font-size:.88rem;border-bottom:1px solid var(--red);color:var(--red)}.hero-media{position:relative;margin:0;min-height:640px;overflow:hidden}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 37%}.hero-media figcaption{position:absolute;left:2rem;bottom:1.6rem;color:#fff;font-size:.7rem;letter-spacing:.22em;text-shadow:0 1px 8px #000}
.section{padding:clamp(5rem,9vw,8rem) max(6vw,24px)}.intro-band{padding-top:1.1rem;padding-bottom:1.1rem;display:flex;justify-content:center;align-items:center;gap:2rem;background:var(--red);color:#fff}.intro-band p{margin:0;font-size:.68rem;letter-spacing:.18em}.intro-band span{width:36px;height:1px;background:rgba(255,255,255,.5)}.section-head{text-align:center;margin-bottom:4rem}.section-head p{margin:0;color:var(--red);font-size:.7rem;text-transform:uppercase;letter-spacing:.25em}.section-head h2{margin:.25rem 0 1rem;font:500 clamp(2.4rem,4vw,4.4rem) var(--serif);color:var(--red-dark)}.section-head span{display:block;width:46px;height:2px;margin:auto;background:var(--red)}.profile-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.section-jp{margin:0 0 .7rem;color:var(--red);font-size:.78rem;letter-spacing:.18em}.profile-title h3,.lesson-grid h3,.music-card h3{margin:0;font:500 clamp(2.4rem,4.4vw,4.8rem)/1.25 var(--serif);color:var(--red-dark)}.profile-title em{font-weight:400;color:var(--red)}.bio{color:var(--muted)}.bio p{margin:0 0 1.25rem}.bio .lead{font-size:1.12rem;color:var(--ink)}details{margin-top:2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0}summary{cursor:pointer;color:var(--red-dark);font-weight:500}.language-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding-top:1rem}.credentials{max-width:1200px;margin:5rem auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.credentials div{padding:1.4rem 2rem;border-right:1px solid var(--line)}.credentials div:last-child{border:0}.credentials b{display:block;font:500 2rem var(--serif);color:var(--red)}.credentials span{font-size:.8rem;color:var(--muted)}
.concerts{background:var(--red-dark);color:#fff}.section-head.light p,.section-head.light h2{color:#fff}.section-head.light span{background:#d7a3a8}.concert-list{max-width:1200px;margin:auto;border-top:1px solid rgba(255,255,255,.25)}.concert-list article{display:grid;grid-template-columns:155px 1fr 42px;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.25)}.concert-list time{display:grid;grid-template-columns:95px 1fr;align-items:center;gap:.5rem}.concert-list time b{font:500 2rem var(--serif)}.concert-list time span{font-size:.9rem;letter-spacing:.08em;line-height:1.5;color:#e4bdc1}.concert-list article div>p{margin:0;color:#e0aeb4;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em}.concert-list h3{margin:.2rem 0;font:500 clamp(1.35rem,2.2vw,2rem) var(--serif)}.concert-list article div>span{color:#dbc9c8;font-size:.9rem}.concert-list article>a{font-size:1.4rem}.lessons{background:var(--ivory)}.lesson-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.lesson-grid>div>p:not(.section-jp){color:var(--muted)}.lesson-grid .button{margin-top:1.3rem}.lesson-grid dl{margin:0;border-top:1px solid var(--line)}.lesson-grid dl div{padding:1.3rem 0;border-bottom:1px solid var(--line)}dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:var(--red)}dd{margin:.25rem 0 0;font:500 1.08rem var(--serif)}.music-card{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:end}.music-card p:not(.section-jp){color:var(--muted)}.music-card>a{display:flex;align-items:center;gap:1.2rem;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--red);font-weight:500}.music-card>a>span{display:grid;place-items:center;width:48px;height:48px;background:var(--red);color:#fff;border-radius:50%}.music-card>a b{margin-left:auto}.contact{text-align:center;background:var(--red-soft)}.contact h2{max-width:800px;margin:0 auto 2rem;font:500 clamp(3rem,6vw,6rem)/1.2 var(--serif);color:var(--red-dark)}.contact>a{font-size:clamp(1rem,2vw,1.3rem);color:var(--red);border-bottom:1px solid var(--red)}footer{padding:2rem max(6vw,24px);display:flex;justify-content:space-between;align-items:center;background:#241a1a;color:#cfc4c2;font-size:.78rem}footer div{display:flex;flex-direction:column}footer strong{font:500 1.1rem var(--serif);color:#fff}footer p{margin:0}
@media(max-width:900px){.menu{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;padding:1.4rem 24px;background:#fff;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{min-height:580px}.hero-media{min-height:75vh}.profile-grid,.lesson-grid,.music-card{grid-template-columns:1fr;gap:3rem}.language-grid{grid-template-columns:1fr}.credentials{grid-template-columns:1fr}.credentials div{border-right:0;border-bottom:1px solid var(--line)}.concert-list article{grid-template-columns:155px 1fr 28px}}@media(max-width:560px){.hero-copy{padding:4rem 22px;min-height:560px}.hero h1{font-size:3.7rem}.hero-media{min-height:70vh}.hero-actions{align-items:flex-start;flex-direction:column}.intro-band{gap:.8rem;overflow:hidden}.intro-band span{width:12px}.section{padding:5rem 22px}.concert-list article{grid-template-columns:1fr 28px;gap:.7rem}.concert-list time,.concert-list article div{grid-column:1}.concert-list article>a{grid-column:2;grid-row:1/3}.section-head{margin-bottom:3rem}footer{align-items:flex-start;flex-direction:column;gap:1rem}}

.english-profile{margin-top:0}.english-profile-content{padding-top:1.25rem}summary:focus-visible{outline:2px solid var(--red);outline-offset:6px}
.profile-title .section-description{max-width:28rem;margin:1.5rem 0 0;color:var(--muted);font-size:1.08rem;line-height:1.8}.language-profile{padding-top:1.25rem}
.hero-japanese{margin:.1rem 0 0;font:500 clamp(1rem,1.5vw,1.35rem)/1.6 var(--serif);letter-spacing:.07em;color:var(--red-dark)}
.trial-lesson{max-width:1200px;margin:5rem auto 0;padding-top:3rem;border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw}.trial-intro h3{margin:0;font:500 clamp(2rem,3.4vw,3.4rem)/1.25 var(--serif);color:var(--red-dark)}.trial-intro>p:last-child{color:var(--muted);max-width:27rem}.trial-lesson form{display:grid;gap:1.1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.trial-lesson label{display:grid;gap:.35rem;font-size:.9rem;font-weight:500;color:var(--red-dark)}.trial-lesson input,.trial-lesson select,.trial-lesson textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);padding:.8rem .9rem;font:400 1rem/1.5 var(--sans)}.trial-lesson textarea{resize:vertical}.trial-lesson input:focus-visible,.trial-lesson select:focus-visible,.trial-lesson textarea:focus-visible,.trial-lesson button:focus-visible{outline:2px solid var(--red);outline-offset:2px}.trial-lesson .form-note,.trial-lesson .form-status{margin:0;color:var(--muted);font-size:.9rem}.trial-lesson .button{justify-self:start;cursor:pointer}.trial-lesson .form-status:empty{display:none}@media(max-width:900px){.trial-lesson{grid-template-columns:1fr;gap:2rem}}@media(max-width:560px){.form-row{grid-template-columns:1fr}}
.contact-form{display:grid;gap:1.1rem;max-width:680px;margin:0 auto;text-align:left}.contact-form label{display:grid;gap:.35rem;font-size:.9rem;font-weight:500;color:var(--red-dark)}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);padding:.8rem .9rem;font:400 1rem/1.5 var(--sans)}.contact-form textarea{resize:vertical}.contact-form .button{justify-self:start;cursor:pointer}.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-form button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.trial-lesson .single-field{grid-template-columns:1fr}
.trial-intro h3{font-size:clamp(1.1rem,2vw,1.8rem);line-height:1.45}.trial-intro h3 span{display:block;overflow-wrap:anywhere}
footer .footer-brand-line{display:flex;flex-direction:row;align-items:baseline;gap:.6rem}
.hero{grid-template-columns:42% 58%}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-media{width:88%;margin:0 auto}}
.testimonials-entry{max-width:1200px;margin:5rem auto 0;padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:2rem}.testimonials-entry h3{margin:0;font:500 clamp(1.8rem,3vw,2.6rem)/1.3 var(--serif);color:var(--red-dark)}.testimonials-entry p:last-child{margin:.6rem 0 0;color:var(--muted)}.testimonials-entry>a{flex:none;color:var(--red);border-bottom:1px solid var(--red);font-weight:500}.testimonials-entry>a span{margin-left:.35rem}.testimonials-page{min-height:calc(100vh - 220px);background:var(--ivory);padding:clamp(4rem,8vw,8rem) max(6vw,24px)}.testimonials-content{max-width:900px;margin:auto}.testimonials-back{display:inline-block;margin-bottom:4rem;color:var(--red);border-bottom:1px solid var(--red)}.testimonials-page h1{margin:0;font:500 clamp(2.6rem,6vw,5rem)/1.2 var(--serif);color:var(--red-dark)}.testimonials-lead{margin:1.2rem 0 4rem;color:var(--muted);font-size:1.12rem}.testimonials-pending{padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:3rem}.testimonials-pending p{margin:0;color:var(--muted)}
@media(max-width:700px){.testimonials-entry{align-items:flex-start;flex-direction:column;gap:1rem}.testimonials-back{margin-bottom:3rem}}
