@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Inter:wght@400;500;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500&display=swap');

:root{font-family:Arial,Helvetica,sans-serif;background:#fffef8;color:#373735}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}button{font:inherit}.shell{max-width:1280px;margin:auto;padding-left:28px;padding-right:28px}header{border-bottom:1px solid #e1ded4;background:#fffef8}.header-inner{text-align:center;padding-top:39px;padding-bottom:24px}.brand{display:inline-block;font-size:clamp(1.5rem,2.5vw,2.15rem);font-weight:800;letter-spacing:.045em;text-transform:uppercase;text-decoration:none}.brand span{font-weight:500;color:#816951}.navigation{display:flex;justify-content:center;align-items:center;gap:36px;margin-top:24px}nav{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(16px,3vw,43px)}nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.17em;font-size:.72rem;font-weight:700;color:#55534e;padding:8px 0}nav a[aria-current=page],nav a:hover{color:#94694a;border-bottom:1px solid #94694a}.lang{display:flex;border:1px solid #c9c4ba;border-radius:20px;padding:2px}.lang button{border:0;background:transparent;border-radius:18px;min-width:35px;min-height:30px;cursor:pointer;font-size:.75rem;color:#514d48}.lang button[aria-pressed=true]{background:#5e5951;color:#fff}.page{padding-top:75px;padding-bottom:100px;min-height:68vh}.eyebrow{color:#9a6d49;letter-spacing:.22em;font-weight:700;text-transform:uppercase;font-size:.76rem}.page h1{font:normal clamp(3.1rem,5.6vw,5.8rem)/1.12 Georgia,serif;letter-spacing:-.045em;margin:18px 0 26px}.page h2{font:normal clamp(1.9rem,3vw,2.8rem)/1.25 Georgia,serif;margin:45px 0 14px}.body{font-size:1.1rem;line-height:1.85;color:#575952}.body p{margin:0 0 20px}.bio-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,95px);align-items:start}.portrait{width:100%;aspect-ratio:4/5;background:#ede6db;border:1px solid #d5c9b8;display:flex;justify-content:center;align-items:center;text-align:center;color:#786b5d;line-height:1.7;padding:30px}.bio-details{margin-top:36px;border-top:1px solid #ddd7cc}.bio-detail{display:grid;grid-template-columns:145px 1fr;gap:22px;padding:18px 0;border-bottom:1px solid #ddd7cc;line-height:1.6}.bio-detail b{color:#8a684f;font-size:.9rem}.bio-detail span{color:#5d5c57}.intro{font-size:1.12rem;line-height:1.75;color:#5d5d57;max-width:740px}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px;margin-top:40px}.video{border:1px solid #e1d9cc;background:#fff}.video-frame{aspect-ratio:16/9;background:#e8e0d2;display:flex;justify-content:center;align-items:center;color:#7c6a56}.video-content{padding:23px}.video h2{font-size:1.5rem;margin:0 0 6px}.video p{margin:0;color:#68665f;line-height:1.6}.lesson-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px}.facts{margin:35px 0 0;padding:0;list-style:none;border-top:1px solid #d9d5ca}.facts li{padding:18px 0;border-bottom:1px solid #d9d5ca;color:#555952;line-height:1.65}.notice{background:#f0e9dc;padding:34px;align-self:start;border:1px solid #e2d6c4}.notice h2{margin:0 0 14px}.notice p{line-height:1.75;color:#5d5b54}.contact-box{background:#f0e9dc;border:1px solid #e2d6c4;max-width:620px;padding:36px;margin-top:35px;line-height:1.75;color:#635950}.footer{background:#eeeae1;color:#62625b;padding:28px 0;font-size:.85rem}.footer .shell{display:flex;justify-content:space-between;gap:20px}@media(max-width:790px){.bio-grid,.lesson-grid{grid-template-columns:1fr}.portrait{max-width:480px}.navigation{gap:16px;flex-wrap:wrap}.page{padding-top:55px}.video-grid{grid-template-columns:1fr}}@media(max-width:520px){.shell{padding-left:22px;padding-right:22px}.header-inner{padding-top:27px}.navigation{margin-top:16px}nav{gap:7px 18px}nav a{font-size:.68rem}.bio-detail{grid-template-columns:1fr;gap:5px}.footer .shell{flex-wrap:wrap}}
.featured-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:38px}.featured-video{margin-top:0;border:1px solid #e1d9cc;background:#fff}.video-embed{aspect-ratio:16/9;background:#171717}.video-embed iframe{width:100%;height:100%;display:block;border:0}.featured-video .video-content a{color:#76553d;text-underline-offset:4px}@media(max-width:800px){.featured-videos{grid-template-columns:1fr}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.portrait{padding:0;overflow:hidden}.portrait img{display:block;width:100%;height:100%;object-fit:cover}.bio-layout{display:grid;grid-template-columns:minmax(420px,520px) minmax(0,1fr);gap:clamp(34px,5vw,72px);align-items:start}.photo-gallery{position:sticky;top:28px}.photo-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:pan-x;border:1px solid #e1d9cc}.photo-slides::-webkit-scrollbar{display:none}.photo-slide{flex:0 0 100%;aspect-ratio:1;scroll-snap-align:start}.photo-slide img{display:block;width:100%;height:100%;object-fit:cover}.photo-open{display:block;width:100%;height:100%;border:0;padding:0;cursor:zoom-in;background:transparent}.photo-dialog{border:0;padding:0;background:transparent;max-width:min(92vw,920px);max-height:92vh}.photo-dialog::backdrop{background:rgba(25,24,22,.86)}.photo-dialog img{display:block;max-width:100%;max-height:88vh;object-fit:contain}.photo-dialog button{position:absolute;right:12px;top:12px;border:0;border-radius:50%;width:40px;height:40px;background:#fffef8;color:#333;cursor:pointer;font-size:1.5rem}.photo-pending{display:grid;place-items:center;background:#f1ede5;text-align:center;color:#887b6b;font-size:.9rem;padding:28px}.photo-controls{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;color:#80766a;font-size:.78rem;letter-spacing:.13em}.photo-controls button{border:1px solid #d6cbbd;background:transparent;color:#514b44;width:42px;height:42px;cursor:pointer;border-radius:50%;font-size:1.1rem}.photo-controls button:hover{background:#f1ede5}.photo-dots{display:flex;align-items:center;gap:9px}.photo-dots button{width:11px;height:11px;min-width:11px;border-radius:50%;padding:0;border:0;background:#cfc6b9}.photo-dots button[aria-current=true]{background:#705b49}.photo-dots button:hover{background:#98775e}.bio-article h1{margin-top:0;margin-bottom:32px;line-height:1.05}.bio-article .body p{margin-bottom:25px}@media(max-width:800px){.bio-layout{grid-template-columns:1fr}.photo-gallery{position:static;max-width:540px}.photo-slide{aspect-ratio:4/3}}.contact-box a,.notice a{color:#76553d;text-decoration-thickness:1px;text-underline-offset:4px}
.featured-video .video-content h2{font:500 1.05rem/1.48 Arial,Helvetica,sans-serif;letter-spacing:0;margin:0 0 10px;color:#4f4d49}.press-list{margin-top:46px;border-top:1px solid #ded6ca;max-width:960px}.press-item{padding:25px 0 28px;border-bottom:1px solid #ded6ca}.press-meta{font-size:.79rem;letter-spacing:.07em;text-transform:uppercase;color:#94694a;font-weight:700}.press-item h2{font:normal clamp(1.16rem,2vw,1.45rem)/1.38 Georgia,serif;letter-spacing:-.01em;margin:9px 0 0;color:#44413c}

.photo-slides{display:block;overflow:hidden;touch-action:pan-y;min-width:0}.photo-slide{width:100%;animation:photo-reveal .25s ease}.photo-slide[hidden]{display:none!important}.photo-open{aspect-ratio:1}.photo-slide img{width:100%;height:100%;object-fit:cover}@keyframes photo-reveal{from{opacity:.6}to{opacity:1}}@media(max-width:800px){.photo-open{aspect-ratio:4/3}}
.press-item h2 a{color:inherit;text-decoration:none;border-bottom:1px solid #bba48f}.press-item h2 a:hover{color:#94694a}.press-note{font-size:.85rem;color:#69635c;margin:8px 0 0}

.photo-slide:nth-child(2) img{object-position:center 16%}.photo-slide:nth-child(3) img{object-position:center 8%}

.press-page h1{font-size:clamp(2.2rem,4vw,3.6rem);letter-spacing:-.035em}.contact-form{max-width:680px;display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px}.contact-field{display:flex;flex-direction:column;gap:8px}.contact-field.full{grid-column:1/-1}.contact-field label{font-size:.87rem;font-weight:700;color:#55504a}.contact-field input,.contact-field select,.contact-field textarea{width:100%;padding:13px 15px;border:1px solid #cfc6b9;background:#fff;color:#34312d;font:inherit;border-radius:2px;min-height:50px}.contact-field textarea{min-height:170px;resize:vertical}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{outline:2px solid #98745a;outline-offset:2px}.contact-submit{justify-self:start;background:#76553d;border:1px solid #76553d;color:white;font:700 .92rem Arial,Helvetica,sans-serif;padding:15px 27px;cursor:pointer}.contact-submit:hover{background:#5d422f}.contact-form-note{grid-column:1/-1;font-size:.8rem;color:#66615b;margin:-8px 0 0;line-height:1.55}@media(max-width:640px){.contact-form{grid-template-columns:1fr}.contact-field.full,.contact-form-note{grid-column:1}}

.lessons-page .intro{max-width:850px}.teaching-section{max-width:850px;margin-top:52px}.teaching-section h2{font-size:clamp(1.65rem,2.7vw,2.3rem);margin:0 0 18px}.teaching-section p{font-size:1.08rem;line-height:1.82;color:#575952;margin:0 0 20px}.teaching-philosophy{border-top:1px solid #ddd7cc;padding-top:38px}.lesson-contact{max-width:850px;margin-top:52px;padding:26px 30px;background:#f0e9dc;border:1px solid #e2d6c4;display:flex;align-items:center;justify-content:space-between;gap:20px}.lesson-contact p{margin:0;color:#5d5b54}.lesson-contact a{color:#76553d;font-weight:700;text-underline-offset:4px;white-space:nowrap}@media(max-width:640px){.lesson-contact{align-items:flex-start;flex-direction:column}}

.brand{display:inline-flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap;text-transform:none;letter-spacing:normal;line-height:1}.brand [data-brand]{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2.55rem,4.4vw,3.55rem);font-weight:600;letter-spacing:-.015em;color:#39342e}.brand [data-role]{font-family:Inter,Arial,Helvetica,sans-serif;font-size:clamp(.72rem,1vw,.89rem);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:#8b6c56;line-height:1.5}@media(max-width:520px){.brand{gap:5px 12px}.brand [data-brand]{font-size:2.65rem}.brand [data-role]{font-size:.72rem}}

.page h1{font-size:clamp(2rem,3.4vw,3.15rem);line-height:1.17;margin-top:14px;margin-bottom:24px}

.lang button[data-lang=zh]{min-width:43px}html[lang=zh]{font-family:"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",Arial,sans-serif}html[lang=zh] .page h1,html[lang=zh] .page h2{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;letter-spacing:0}html[lang=zh] nav a{letter-spacing:.08em;font-size:.77rem}html[lang=zh] .eyebrow{letter-spacing:.12em}

html[lang=zh] nav a{font-size:.95rem;letter-spacing:.04em;padding:9px 1px}html[lang=zh] .brand [data-brand]{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:clamp(2.3rem,3.8vw,3.05rem);font-weight:600;letter-spacing:.015em}html[lang=zh] .brand [data-role]{font-size:.83rem;letter-spacing:.08em}html[lang=zh] .page h1{font-size:clamp(2.05rem,3.5vw,2.9rem);line-height:1.28;margin-bottom:22px}html[lang=zh] .page .body{font-size:1.08rem;line-height:1.95}html[lang=zh] .page .body p{margin-bottom:24px}html[lang=zh] .intro,html[lang=zh] .teaching-section p{font-size:1.06rem;line-height:1.9}html[lang=zh] .teaching-section h2{font-size:clamp(1.52rem,2.4vw,1.78rem);line-height:1.4}html[lang=zh] .press-item h2{font-size:1.21rem;line-height:1.55}@media(max-width:520px){html[lang=zh] nav{gap:7px 15px}html[lang=zh] nav a{font-size:.91rem}html[lang=zh] .page h1{font-size:2.05rem}}

.header-inner{position:relative}.navigation .lang{position:absolute;right:28px;top:22px}.navigation{justify-content:center}.navigation nav{margin-left:auto;margin-right:auto}@media(max-width:790px){.navigation{justify-content:center}.navigation .lang{right:28px;top:18px}}@media(max-width:640px){.header-inner{padding-top:70px}.navigation .lang{right:22px;top:15px}.navigation{margin-top:14px}}
@media(max-width:950px){.header-inner{padding-top:70px}.navigation .lang{top:15px}}

html[lang=zh] .brand [data-brand]{font-size:clamp(2.05rem,2.75vw,2.45rem);letter-spacing:.01em}html[lang=zh] nav a{font-size:1.02rem;font-weight:600}html[lang=zh] .navigation{margin-top:15px}html[lang=zh] .header-inner{padding-bottom:22px}@media(max-width:520px){html[lang=zh] .brand [data-brand]{font-size:2.16rem}html[lang=zh] nav a{font-size:.96rem}html[lang=zh] .navigation{margin-top:14px}}

html[lang=zh] .brand [data-brand]{font-family:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;font-size:clamp(1.95rem,2.6vw,2.35rem);font-weight:400;letter-spacing:.055em}html[lang=zh] .brand [data-role]{font-weight:400}html[lang=zh] nav a{font-weight:500}@media(max-width:520px){html[lang=zh] .brand [data-brand]{font-size:2.02rem}}

html[lang=zh] .brand [data-brand]{font-size:clamp(2.35rem,3.45vw,2.9rem);font-weight:400;letter-spacing:.075em;color:#312c26}@media(max-width:520px){html[lang=zh] .brand [data-brand]{font-size:2.5rem}}

html[lang=zh] .brand [data-brand]{font-family:"Noto Serif SC","Songti SC","Noto Serif CJK SC",serif;font-size:clamp(2.55rem,3.9vw,3.25rem);font-weight:400;letter-spacing:.12em;color:#302a24}
@media(max-width:520px){html[lang=zh] .brand [data-brand]{font-size:2.55rem}}

@media(max-width:800px){
  .photo-gallery{width:100%;max-width:540px;margin-inline:auto}
  .photo-slide,.photo-open{aspect-ratio:2/3}
  .photo-open{background:#f0ebe4}
  .photo-slide img,.photo-slide:nth-child(2) img,.photo-slide:nth-child(3) img{object-fit:contain;object-position:center}
}
