/* Erika Toda Guitar Lessons — Studio Edition
   Designed as an editorial identity for an independent Brooklyn musician.
   Photography rule: NEVER crop, mask or distort supplied photographs.
   All photos use intrinsic aspect ratios, height:auto and contain their full frames.
*/
:root{
 --paper:#f7f4ee;--white:#fffdf9;--ink:#25211d;--soft:#514b45;
 --muted:#746e65;--line:#d9d2c8;--accent:#8b4939;--accent-dark:#703729;
 --sand:#eee7dc;--sage:#e7e7db;--night:#272825;
 --serif: 'Iowan Old Style','Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;
 --sans: 'Inter','Helvetica Neue',Arial,sans-serif;
 --label:'Inter','Helvetica Neue',Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--accent)}
button,input,textarea,select{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
img{display:block;max-width:100%;height:auto}
.container{width:min(1240px,calc(100% - 104px));margin:0 auto}
.narrow{max-width:1020px}
.reading-width{max-width:800px;margin-left:auto;margin-right:auto}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.049em}
h1,h2{line-height:1.08}
p{color:var(--soft);line-height:1.85}
em{font-weight:400;font-style:italic;color:var(--accent)}
::selection{background:#d4beaf}
.i{width:18px;height:18px;flex:none;vertical-align:middle}
.skip-link{position:absolute;left:14px;top:-80px;background:var(--ink);color:white;z-index:100;padding:12px}
.skip-link:focus{top:8px}
/* Navigation */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:50}
.nav-shell{height:91px;width:min(1390px,calc(100% - 104px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}
.wordmark{display:inline-flex;align-items:center;gap:13px;color:var(--ink);min-width:max-content}
.mark{font:italic 53px/.85 var(--serif);letter-spacing:-.14em;color:var(--accent);padding-right:6px}
.mark-dot{font-style:normal}
.brand-words{display:flex;flex-direction:column;font:400 27px/.95 var(--serif);letter-spacing:-.045em;text-transform:none}
.brand-words small{font:500 9px/1 var(--label);margin-top:9px;letter-spacing:.22em;color:var(--muted)}
.nav-links{display:flex;align-items:center;gap:clamp(13px,1.45vw,25px)}
.nav-links>a:not(.nav-cta){font:500 11px/1.2 var(--label);letter-spacing:.015em;color:var(--ink);white-space:nowrap}
.nav-links>a:not(.nav-cta):hover{color:var(--accent)}
.nav-links .lang-switch{padding-left:14px;border-left:1px solid #c8c0b6;color:var(--accent)!important;font-size:12px!important}
.nav-cta{background:var(--ink);color:var(--white);padding:15px 19px;white-space:nowrap;font:500 11px/1 var(--label);letter-spacing:.03em;display:inline-flex;align-items:center;gap:15px;transition:background .2s}
.nav-cta:hover{background:var(--accent);color:#fff}
.nav-cta .i{height:13px;width:13px}
.nav-toggle{display:none;border:0;background:transparent;cursor:pointer;padding:10px;color:var(--ink)}
/* Shared visual elements */
.eyebrow{display:block;font:600 10px/1.5 var(--label);letter-spacing:.19em;text-transform:uppercase;color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;padding:16px 21px;min-height:53px;max-width:100%;font:600 11px/1.25 var(--label);letter-spacing:.045em;transition:background .18s,color .18s,border-color .18s}
.btn span{font-size:17px;font-weight:400;line-height:1}
.btn-dark{background:var(--ink);color:#fff;border:1px solid var(--ink)}
.btn-dark:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-outline{border:1px solid #b5a99e;color:var(--ink);background:transparent}
.btn-outline:hover{border-color:var(--accent);color:var(--accent)}
.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.text-link{color:var(--accent);font:600 11px/1.5 var(--label);letter-spacing:.035em}
/* Homepage / opening spread */
.hero{background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:clamp(42px,5.4vw,95px);padding:76px 0 78px}
.hero-copy{padding:0 0 3px}
.hero-copy>.eyebrow{margin-bottom:30px}
.hero-copy h1{font-size:clamp(67px,6.55vw,110px);line-height:.99;margin:0 0 30px;letter-spacing:-.062em}
.hero-copy h1 em{display:inline-block;white-space:nowrap}
.hero-lead{font:400 clamp(16px,1.4vw,19px)/1.7 var(--sans);color:var(--soft);max-width:490px;margin-bottom:19px}
.hero-langs{font:600 11px/1.6 var(--label);text-transform:uppercase;letter-spacing:.09em;color:var(--accent);margin-bottom:29px}
.hero-location{display:flex;align-items:flex-start;gap:9px;margin-top:29px;padding-top:22px;border-top:1px solid var(--line);font:400 11px/1.8 var(--label);color:var(--muted);letter-spacing:.01em}
.hero-location .i{width:15px;height:15px;color:var(--accent);margin-top:2px}
.hero-art.photo-hero{display:block;width:100%;min-height:0;position:relative;background:transparent;padding:0}
.photo-hero picture{display:block;width:100%}
.hero-photo{width:100%;max-width:100%;height:auto!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center!important;filter:none!important}
.photo-hero::after{content:none!important}
.photo-credit{display:block;position:static;font:600 9px/1.5 var(--label);color:var(--muted);text-shadow:none;letter-spacing:.18em;padding-top:13px;text-align:right}
/* Small unboxed proof strip */
.proof-strip{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}
.proof-grid>div{display:flex;flex-direction:column;gap:4px;padding:3px 12px 3px 28px;border-left:1px solid var(--line)}
.proof-grid>div:first-child{padding-left:0;border-left:0}
.proof-grid strong{font:400 clamp(20px,2vw,28px)/1.2 var(--serif);letter-spacing:-.03em}
.proof-grid span{font:400 10px/1.5 var(--label);color:var(--muted);letter-spacing:.03em}
/* Section framework */
.section{padding:116px 0;background:var(--paper)}
.section.cream{background:#f0ebe3}
.section.pale{background:var(--sage)}
.section-head{max-width:940px;margin-bottom:51px}
.section-head .eyebrow{margin-bottom:19px}
.section-head h2,.intro-copy h2,.two-col-heading h2,.cta-band h2{font-size:clamp(51px,5.4vw,84px);margin:0 0 22px;line-height:1.08}
.section-head p{font-size:17px;max-width:630px;margin:0}
/* Lessons: open editorial columns, not pastel cards */
.three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #c7bdb1;border-bottom:1px solid #c7bdb1}
.feature-card{display:flex;flex-direction:column;align-items:flex-start;padding:33px 33px 29px 32px;min-height:375px;border-right:1px solid #c7bdb1;background:transparent;transition:background .2s}
.feature-card:first-child{padding-left:0}
.feature-card:last-child{border-right:0}
.feature-card:hover{background:#ffffff4c;color:var(--ink)}
.feature-icon,.mini-kicker{order:0;font:600 10px/1.5 var(--label);letter-spacing:.18em;color:var(--accent)}
.feature-card h3{font:400 clamp(34px,3vw,48px)/1.08 var(--serif);letter-spacing:-.05em;margin:24px 0 14px}
.feature-card p{font:400 13px/1.8 var(--sans);max-width:330px;margin:0 0 25px}
.feature-card .text-link{margin-top:auto;border-bottom:1px solid currentColor;padding-bottom:3px}
.has-kids-photo{padding-top:33px}
.kids-card-image{order:1;display:block;width:min(185px,100%);height:auto!important;max-height:none;object-fit:contain!important;object-position:initial!important;margin:24px 0 0}
.has-kids-photo h3{order:2;margin-top:19px}
.has-kids-photo p{order:3}
.has-kids-photo .text-link{order:4}
/* About portrait: full, uncropped source */
.intro-section{background:var(--paper)}
.split-intro{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(68px,10vw,170px);align-items:center}
.teacher-portrait{margin:0;background:none;min-height:0!important;overflow:visible;position:relative}
.teacher-portrait img{width:100%;height:auto!important;min-height:0!important;object-fit:contain!important;object-position:center!important;filter:none}
.teacher-portrait figcaption{position:static;background:none!important;color:var(--muted);font:600 9px/1.6 var(--label);letter-spacing:.16em;padding:13px 0 0}
.intro-copy>.eyebrow{margin-bottom:24px}
.intro-copy h2{margin-bottom:31px}
.intro-copy>p{font-size:16px;line-height:1.85;max-width:545px;margin-bottom:20px}
.micro-stat{display:flex;gap:25px;flex-wrap:wrap;padding:24px 0;margin:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.micro-stat span{font:600 9px/1.5 var(--label);color:var(--accent);letter-spacing:.12em}
.intro-copy .btn{margin-top:8px}
/* Neighborhoods: directory-like rows */
.areas-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;border-top:1px solid #bdbcae}
.area-link{display:grid;grid-template-columns:34px 1fr auto;gap:18px;align-items:center;padding:29px 0;border-bottom:1px solid #bdbcae;min-height:96px;transition:padding .2s}
.area-link:hover{padding-left:8px;color:var(--accent)}
.area-num{font:500 10px/1 var(--label);color:var(--accent)}
.area-link strong{font:400 clamp(24px,2.6vw,36px)/1.2 var(--serif);letter-spacing:-.045em}
.area-cta{font:600 10px/1.4 var(--label);color:var(--muted);white-space:nowrap}
.area-note{font-size:11px;line-height:1.7;margin:26px 0 0;color:var(--muted)}
/* English / Japanese highlight */
.two-col-heading{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:95px}
.two-col-heading h2{margin-bottom:0}
.two-col-heading .eyebrow{margin-bottom:20px}
.two-col-heading p{font-size:17px;line-height:1.9;max-width:500px;margin-bottom:24px}
.two-col-heading .btn{font-size:11px}
/* Journal: editorial reading list */
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid #c7bdb1;border-bottom:1px solid #c7bdb1}
.journal-teaser{display:flex;flex-direction:column;padding:30px 31px 31px;border-right:1px solid #c7bdb1;min-height:275px}
.journal-teaser:first-child{padding-left:0}
.journal-teaser:last-child{border-right:none}
.journal-teaser span:first-child{font:600 9px/1.6 var(--label);letter-spacing:.12em;color:var(--accent)}
.journal-teaser h3{font:400 clamp(24px,2.4vw,35px)/1.23 var(--serif);letter-spacing:-.042em;margin:37px 0 20px}
.journal-teaser .text-link{margin-top:auto}
.section-bottom{margin-top:34px;text-align:right}
/* Closing CTA, restrained high contrast */
.cta-band{padding:95px 0 103px;background:var(--night);color:var(--paper)}
.cta-grid{display:grid;grid-template-columns:1fr auto;gap:70px;align-items:end}
.cta-band h2{font-size:clamp(55px,6vw,92px);margin:18px 0}
.cta-band h2 em{color:#d2ac95}
.cta-band p{color:#c7c4bc;font-size:15px;max-width:530px;margin:0}
.cta-band .eyebrow{color:#cf9d86}
.cta-band .btn{background:var(--paper);border:1px solid var(--paper);color:var(--ink)}
.cta-band .btn:hover{background:#e1d4c6;color:var(--ink)}
/* Footer */
.site-footer{background:#e9e3d8;padding:75px 0 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:55px}
.footer-logo{font:italic 46px/1 var(--serif);letter-spacing:-.07em;color:var(--ink)}
.footer-logo span{color:var(--accent)}
.footer-grid p{font-size:13px;margin:21px 0;line-height:1.75;color:var(--soft)}
.footer-grid h3{font:600 10px/1.4 var(--label);text-transform:uppercase;letter-spacing:.15em;margin:9px 0 21px}
.footer-grid a:not(.footer-email),.footer-grid span:not(.footer-logo span){display:block;font-size:12px;color:var(--soft);margin:0 0 12px}
.footer-grid a:hover{color:var(--accent)}
.footer-grid .footer-email{font-size:12px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{border-top:1px solid #cfc6bb;margin-top:72px;padding:22px 0;display:flex;justify-content:space-between;gap:20px;font:400 10px/1.5 var(--label);color:var(--muted);letter-spacing:.025em}
/* Interior pages */
.detail-hero,.article-hero{background:#eee8df;padding:70px 0 87px;border-bottom:1px solid var(--line)}
.detail-hero h1,.article-hero h1{font-size:clamp(55px,6.9vw,98px);max-width:970px;margin:24px 0 24px;line-height:1.08}
.detail-lede{font-size:19px;max-width:760px;line-height:1.8;margin:0;color:var(--soft)}
.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font:500 10px/1.5 var(--label);color:var(--muted);margin-bottom:41px}
.breadcrumbs a:hover{color:var(--accent)}
.detail-hero .eyebrow{margin-bottom:18px}
.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(55px,7vw,115px);align-items:start}
.article-body{max-width:775px}
.prose-section{margin-bottom:66px}
.prose-section:last-child{margin-bottom:0}
.prose-section h2,.article-copy h2{font:400 clamp(34px,3.1vw,49px)/1.16 var(--serif);letter-spacing:-.04em;margin:0 0 22px}
.prose-section p,.article-copy p{font-size:16px;line-height:1.95;color:var(--soft);margin:0 0 21px}
.prose-section a,.article-copy a:not(.btn){color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.check-list{list-style:none;margin:29px 0 0;padding:0}
.check-list li{display:flex;gap:13px;margin-bottom:13px;font-size:14px;line-height:1.7}
.check-list .i{width:17px;height:17px;color:var(--accent);margin-top:3px}
.sidebar-card{background:#eee8df;padding:31px;position:sticky;top:28px;border-top:2px solid var(--accent)}
.sidebar-card h3{font:400 36px/1.12 var(--serif);letter-spacing:-.045em;margin:21px 0}
.sidebar-card p{font-size:13px;line-height:1.8;margin:0 0 25px}
.sidebar-card .btn{width:100%;gap:8px}
.sidebar-email{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;flex-direction:column;gap:7px}
.sidebar-email span{font:600 10px var(--label);letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.sidebar-email a{font-size:12px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
.sidebar-photo{width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;margin-bottom:29px}
.neighborhood-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.neighborhood-card{background:transparent;border-bottom:1px solid var(--line);padding:40px 50px 42px 0;min-height:265px;transition:background .2s}
.neighborhood-card:nth-child(even){padding-left:50px;border-left:1px solid var(--line)}
.neighborhood-card:hover{background:#fff8ed7d;color:var(--ink)}
.neighborhood-card h3{font:400 42px/1.1 var(--serif);margin:0 0 20px}
.neighborhood-card p{font-size:14px;margin-bottom:20px}
.faq-wrap{max-width:900px;margin:0 auto}
.faq{border-bottom:1px solid var(--line)}
.faq:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;position:relative;padding:24px 39px 24px 0;font:400 26px/1.25 var(--serif);letter-spacing:-.03em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:0;top:21px;color:var(--accent);font:26px var(--sans)}
.faq[open] summary::after{content:'−'}
.faq>div{padding:0 38px 23px 0;color:var(--soft);font-size:15px}
.faq-end{margin-top:73px}
.faq-end h2{font:400 50px/1.1 var(--serif)}
.faq-end p{max-width:560px}
.faq-end .btn{margin-top:12px}
/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.7fr);gap:90px;align-items:start}
.contact-grid h2{font:400 48px/1.12 var(--serif);letter-spacing:-.04em;margin-bottom:10px}
.muted{font-size:14px;color:var(--muted)}
.contact-form{margin-top:40px}
.contact-form label{display:block;font:600 11px/1.6 var(--label);letter-spacing:.025em;margin-bottom:25px}
.contact-form label>span{color:var(--accent)}
.contact-form input,.contact-form select,.contact-form textarea{display:block;width:100%;margin-top:9px;padding:15px;border:1px solid #c9c0b6;background:#fffcf6;border-radius:0;color:var(--ink);font:400 15px/1.5 var(--sans);min-height:51px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid #b78a7a;outline-offset:1px}
.contact-form textarea{min-height:155px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form button{cursor:pointer;margin-top:5px}
.form-disclaimer{font-size:11px;line-height:1.8;color:var(--muted);max-width:530px;margin-top:22px}
.hidden-field{position:absolute;left:-9999px;top:0}
.contact-aside{padding:38px;background:var(--sage)}
.contact-aside h3{font:400 36px/1.25 var(--serif)}
.contact-aside p{font-size:14px}
.direct-email{font-size:14px;overflow-wrap:anywhere;color:var(--accent)}
.contact-sep{height:1px;background:var(--line);margin:28px 0}
.contact-aside h4{font:600 10px var(--label);text-transform:uppercase;letter-spacing:.13em;margin:0 0 11px}
.thanks{text-align:center;padding:120px 0}
.thanks h1{font:400 65px/1.1 var(--serif);margin:20px 0}
.thanks p{font-size:17px}
.thanks .btn{margin-top:20px}
/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.blog-card{min-height:310px;padding:29px 26px 29px 0;background:transparent;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;transition:background .2s}
.blog-card:nth-child(3n+2),.blog-card:nth-child(3n+3){padding-left:26px}
.blog-card:nth-child(3n){border-right:0}
.blog-card:hover{background:#ffffff55;color:var(--ink)}
.blog-card-mark{font:600 10px/1.5 var(--label);letter-spacing:.14em;color:var(--accent);display:flex;justify-content:space-between}
.blog-card h3{font:400 32px/1.19 var(--serif);letter-spacing:-.035em;margin:37px 0 17px}
.blog-card p{font-size:13px;line-height:1.8}
.blog-card .text-link{margin-top:auto}
.article-hero{background:#eee8df}
.article-hero h1{font-size:clamp(52px,6vw,84px)}
.post-byline{margin-top:25px;color:var(--muted);font:600 10px/1.5 var(--label);letter-spacing:.1em}
.post-byline span{padding:0 7px}
.article-copy{padding-top:90px;padding-bottom:115px}
.article-copy h2{margin-top:49px}
.article-copy h2:first-child{margin-top:0}
.article-copy p{font-size:17px}
.author-note{display:flex;gap:22px;align-items:flex-start;background:#eee8df;padding:28px;margin-top:65px}
.author-initial{width:68px;height:68px;flex:none;background:var(--accent);color:#fff;display:grid;place-items:center;font:italic 24px var(--serif)}
.author-avatar{display:block;width:82px;height:auto!important;border-radius:0!important;object-fit:contain!important;object-position:center!important;flex:none}
.author-note strong{font-size:13px}
.author-note p{font-size:13px;margin:7px 0}
.author-note a{font-size:12px}
.back-link{display:inline-block;margin-top:30px;font-size:12px;color:var(--accent);font-weight:600}
/* Japanese */
html[lang="ja"] body{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',var(--sans)}
html[lang="ja"] h1,html[lang="ja"] h2,html[lang="ja"] h3{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',var(--serif);letter-spacing:-.055em}
html[lang="ja"] .hero-copy h1{font-size:clamp(47px,4.5vw,70px);line-height:1.35}
html[lang="ja"] .hero-copy h1 em{white-space:normal}
html[lang="ja"] .hero-lead{font-size:16px;line-height:2}
html[lang="ja"] .section-head h2,html[lang="ja"] .intro-copy h2,html[lang="ja"] .cta-band h2{font-size:clamp(39px,4vw,63px);line-height:1.4}
html[lang="ja"] .detail-hero h1{font-size:clamp(43px,4.8vw,73px);line-height:1.35}
html[lang="ja"] .feature-card h3{font-size:34px;line-height:1.45}
html[lang="ja"] .article-copy p{line-height:2.1}
/* Responsive */
@media(max-width:1270px){.nav-shell{width:calc(100% - 60px)}.container{width:calc(100% - 80px)}.nav-links{gap:14px}.nav-links>a:not(.nav-cta){font-size:10px}.brand-words{font-size:23px}.hero-grid{gap:50px}.hero-copy h1{font-size:clamp(60px,6.2vw,86px)}}
@media(max-width:1030px){
 .nav-shell{height:78px}.nav-toggle{display:block}
 .nav-links{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 30px 27px;box-shadow:0 20px 24px #25211d12;flex-direction:column;align-items:stretch;gap:0}
 .nav-links.is-open{display:flex}.nav-links>a:not(.nav-cta){font-size:14px;padding:11px 0}
 .nav-links .lang-switch{padding-left:0;border-left:0}.nav-cta{margin-top:13px;justify-content:center}
 .hero-grid{gap:34px}.hero-copy h1{font-size:clamp(50px,6.5vw,72px)}
 .hero-lead{font-size:15px}.hero-copy .button-row{gap:8px}.hero-copy .btn{gap:18px}
 .split-intro{gap:58px}.content-grid{gap:37px;grid-template-columns:minmax(0,1fr) 280px}
 .section{padding:88px 0}.feature-card{padding-right:20px;padding-left:20px}.three-grid{gap:0}
 .areas-grid{column-gap:32px}.journal-teaser{padding-left:22px;padding-right:22px}
 .footer-grid{gap:35px}
}
@media(max-width:720px){
 .container,.nav-shell{width:calc(100% - 40px)}
 .nav-shell{height:72px}.nav-links{top:72px}.mark{font-size:43px}.brand-words{font-size:23px}.brand-words small{font-size:8px;margin-top:6px}
 .hero-grid{grid-template-columns:1fr;gap:30px;padding:45px 0 43px}
 .hero-copy>.eyebrow{font-size:9px;margin-bottom:19px}
 .hero-copy h1{font-size:clamp(58px,12.2vw,83px);margin-bottom:20px}
 .hero-lead{font-size:16px;line-height:1.65;max-width:580px;margin-bottom:13px}
 .hero-langs{font-size:10px;letter-spacing:.045em;margin-bottom:22px}
 .hero-location{margin-top:23px;padding-top:19px}
 .photo-credit{font-size:9px;padding-top:9px}
 .proof-grid{grid-template-columns:repeat(2,1fr);row-gap:21px;padding:26px 0}
 .proof-grid>div{padding:0 0 0 18px}.proof-grid>div:first-child{padding:0}
 .proof-grid>div:nth-child(3){padding-left:0;border-left:0}
 .proof-grid strong{font-size:24px}
 .section{padding:76px 0}.section-head{margin-bottom:34px}
 .section-head h2,.intro-copy h2,.two-col-heading h2,.cta-band h2{font-size:clamp(46px,9.7vw,66px)}
 .section-head p{font-size:15px}
 .three-grid,.journal-grid{grid-template-columns:1fr}
 .feature-card,.feature-card:first-child{min-height:0;display:flex;padding:26px 0 29px;border-right:0;border-bottom:1px solid #c7bdb1}
 .feature-card:last-child{border-bottom:0}
 .feature-card h3{font-size:42px;margin:19px 0 11px}.feature-card p{font-size:14px;margin-bottom:19px}
 .kids-card-image{width:150px;margin-top:16px}
 .split-intro{grid-template-columns:1fr;gap:47px}.teacher-portrait{max-width:560px}
 .intro-copy h2{font-size:clamp(45px,9vw,63px)}.intro-copy>p{font-size:15px}
 .areas-grid{grid-template-columns:1fr;gap:0}
 .area-link{grid-template-columns:30px 1fr auto;gap:10px;min-height:75px;padding:22px 0}
 .area-link strong{font-size:29px}.area-cta{font-size:9px}
 .two-col-heading{grid-template-columns:1fr;gap:24px}.two-col-heading p{font-size:15px}
 .journal-teaser,.journal-teaser:first-child{min-height:195px;padding:25px 0;border-right:0;border-bottom:1px solid #c7bdb1}
 .journal-teaser:last-child{border-bottom:0}.journal-teaser h3{font-size:31px;margin:20px 0}
 .cta-band{padding:76px 0}.cta-grid{grid-template-columns:1fr;gap:33px}.cta-band h2{font-size:clamp(52px,10vw,70px)}
 .footer-grid{grid-template-columns:repeat(2,1fr);gap:38px 22px}.footer-grid>div:first-child{grid-column:1/-1}.site-footer{padding-top:55px}.footer-bottom{flex-direction:column;margin-top:43px;gap:8px}
 .detail-hero,.article-hero{padding:47px 0 59px}.detail-hero h1,.article-hero h1{font-size:clamp(48px,10vw,72px)}.detail-lede{font-size:16px}
 .breadcrumbs{margin-bottom:27px}.content-grid{grid-template-columns:1fr;gap:45px}
 .sidebar-card{position:static;max-width:600px}.neighborhood-grid,.blog-grid{grid-template-columns:1fr}
 .neighborhood-card,.neighborhood-card:nth-child(even){border-left:0;padding:29px 0;min-height:0}.neighborhood-card h3{font-size:37px}
 .blog-card,.blog-card:nth-child(3n+2),.blog-card:nth-child(3n+3){border-right:0;padding:28px 0;min-height:240px}
 .blog-card h3{font-size:33px;margin:20px 0 14px}
 .contact-grid{grid-template-columns:1fr;gap:36px}.form-row{grid-template-columns:1fr;gap:0}
 .article-copy{padding-top:59px;padding-bottom:67px}.article-copy p{font-size:16px}
 .author-note{padding:20px}.faq summary{font-size:22px}.thanks{padding:90px 0}
 html[lang="ja"] .hero-copy h1{font-size:clamp(43px,9.2vw,59px)}
 html[lang="ja"] .section-head h2,html[lang="ja"] .intro-copy h2,html[lang="ja"] .cta-band h2{font-size:clamp(35px,8vw,49px)}
}
@media(max-width:390px){.container,.nav-shell{width:calc(100% - 32px)}.hero-copy h1{font-size:53px}.hero-copy .btn{min-height:49px;padding:13px 14px;font-size:10px;gap:11px}.nav-links{padding-left:16px;padding-right:16px}.area-link strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Readability and keyboard refinements */
.area-cta,.area-note{color:#514b45}
.footer-bottom{color:#514b45}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #703729;outline-offset:4px}
.nav-toggle{min-width:44px;min-height:44px}
.inquiry-guide{margin-top:32px;margin-bottom:32px}
.inquiry-guide h2{font-size:32px}

/* Student feedback: readable on phones and larger screens. */
.reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 56px}
.student-review{margin:0;padding:26px 0;border-top:1px solid var(--line)}
.student-review blockquote{margin:0}
.student-review blockquote p{font-size:18px;line-height:1.8;color:var(--ink)}
.student-review figcaption{font-size:12px;line-height:1.7;color:var(--soft)}
@media(max-width:720px){.reviews-grid{grid-template-columns:1fr;gap:16px}.student-review blockquote p{font-size:16px}}

/* Personal teaching approach and full-frame photographs. */
.teaching-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.teaching-photo{margin:0;min-width:0}
.teaching-photo img{display:block;width:100%;height:auto;object-fit:contain}
.teaching-photo figcaption{font-size:10px;color:var(--soft);margin-top:10px}
.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.feedback-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
.feedback-stats strong{font:400 clamp(48px,6vw,76px)/1.1 var(--serif);color:var(--accent)}
.feedback-stats p{margin:16px 0 8px;font-size:15px}
.feedback-stats small{color:var(--soft)}
.feedback-method{font-size:12px;line-height:1.8;max-width:920px;margin:32px 0 0}
@media(max-width:720px){.teaching-split,.photo-pair,.feedback-stats{grid-template-columns:1fr;gap:32px}.feedback-stats>div{padding-bottom:22px;border-bottom:1px solid var(--line)}.teaching-split .intro-copy h2{overflow-wrap:break-word}}
