:root{font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#254b3c;background:#faf7ef;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;min-width:320px}a{color:inherit}a:focus-visible,summary:focus-visible{outline:3px solid #b5822f;outline-offset:5px}img{display:block;max-width:100%}p{line-height:1.8}h1,h2,h3,p{overflow-wrap:break-word}.camp-nav{position:sticky;top:0;z-index:10;background:#faf7eff5;backdrop-filter:blur(10px);border-bottom:1px solid #dbe0ce}.camp-nav-inner{max-width:1160px;margin:auto;min-height:80px;padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.camp-brand{font-family:Georgia,serif;font-size:28px;font-weight:bold;text-decoration:none;letter-spacing:-1px}.camp-links{display:flex;gap:24px;align-items:center;font-size:15px}.camp-links a{text-decoration:none}.camp-links a[aria-current]{font-weight:700;border-bottom:2px solid #a67b2b}.camp-main{max-width:1160px;margin:auto;padding:28px 28px 48px}.camp-breadcrumb{font-size:14px;color:#687660;display:flex;gap:12px;margin:0 0 20px}.camp-breadcrumb a{text-decoration:none}.camp-hero{position:relative;border-radius:22px;overflow:hidden;background:#ecebdc;min-height:650px}.camp-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.camp-hero-copy{position:relative;width:59%;padding:46px 36px 42px;min-height:650px;display:flex;flex-direction:column;align-items:flex-start}.camp-kicker{font-size:15px;letter-spacing:2px;font-weight:600;color:#916d2d;margin:0 0 27px}.camp-hero h1{font-family:"Songti SC","STSong",serif;font-size:clamp(42px,5.5vw,68px);line-height:1.15;letter-spacing:-1px;margin:0;font-weight:900}.camp-hero h1 span{display:block;font-size:clamp(26px,3.4vw,41px);line-height:1.4;letter-spacing:0;margin-top:17px}.camp-promise{font-size:20px;color:#8c682a;border-left:3px solid #bf974a;padding-left:16px;margin:25px 0 28px;line-height:1.8}.camp-teacher-name{font-family:"Songti SC","STSong",serif;font-size:34px;margin:0 0 6px}.camp-role{font-size:15px;margin:0 0 12px;color:#566c50}.camp-credentials{font-size:16px;color:#53694c;margin:0 0 23px;padding:0;list-style:none;line-height:1.8}.camp-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;min-height:48px;border-radius:10px;background:#254d3c;color:#fffdf1;text-decoration:none;font-size:16px;font-weight:650;line-height:1.5}.camp-button:hover{background:#173b2b}.camp-bio{padding:24px 30px;border:1px solid #d8ddca;border-radius:16px;background:#f0f2e7;margin-top:18px}.camp-bio p{font-size:16px;color:#617255;margin:0}.camp-bio p+p{margin-top:9px}.camp-section{margin-top:56px}.camp-section-heading{display:flex;gap:20px;align-items:baseline;justify-content:space-between;margin-bottom:24px}.camp-section-heading h2,.camp-belief h2,.camp-support h2{font-size:30px;line-height:1.4;margin:0}.camp-section-heading small{color:#778268;white-space:nowrap}.camp-belief{padding:8px 0 4px}.camp-belief>p{color:#607255;font-size:19px;margin:14px 0 0}.camp-value{color:#936d29!important;font-weight:600;border-left:3px solid #ba9146;padding:8px 16px;background:linear-gradient(90deg,#eee2c75c,transparent)}.camp-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.camp-steps li{padding:22px 20px;background:#edf0e3;border-top:3px solid #bd9647;border-radius:0 0 10px 10px}.camp-steps small{font-family:Georgia,serif;font-size:20px;color:#9b772f}.camp-steps h3{font-size:23px;margin:13px 0 9px}.camp-steps p{font-size:16px;color:#66775b;margin:0}.camp-lesson{display:grid;grid-template-columns:45% 55%;background:#254d3c;color:#fffdf1;overflow:hidden;border-radius:20px}.camp-lesson>img{width:100%;height:480px;min-height:0;object-fit:cover;object-position:center 18%}.camp-lesson-copy{padding:34px;display:flex;flex-direction:column;justify-content:center}.camp-lesson-label{font-size:16px;color:#ead399;border-bottom:1px solid #789176;padding-bottom:16px;margin:0 0 24px}.camp-quote{font-family:Georgia,serif;font-size:clamp(29px,3.6vw,43px);font-weight:bold;line-height:1.3;margin:0}.camp-translation{font-size:21px;color:#efddb4;margin:18px 0}.camp-practice{font-size:17px;color:#dae3cc;margin:0 0 24px}.camp-light-link{color:#f4dda6;text-underline-offset:5px;align-self:flex-start;line-height:1.6;font-size:16px}.camp-courses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.camp-course{border:1px solid #d6dcc9;background:#fffdf5;border-radius:14px;overflow:hidden}.camp-course>a{display:flex;flex-direction:column;height:100%;text-decoration:none}.camp-course img{width:100%;height:225px;object-fit:cover;object-position:center 20%;background:#edf0e2}.camp-course:nth-child(2) img{object-fit:contain;padding:12px}.camp-course-copy{padding:23px;flex:1}.camp-course h3{font-size:23px;margin:0 0 11px}.camp-course p{font-size:16px;line-height:1.8;color:#65755a;margin:0}.camp-course span{display:block;color:#345a40;font-size:15px;margin-top:19px}.camp-note{font-size:14px;color:#778069;margin:16px 0 0}.camp-support{display:grid;grid-template-columns:1fr 1.25fr;gap:36px;background:#f0f2e7;border:1px solid #d2d9c4;padding:30px;border-radius:16px}.camp-support h2{font-size:24px}.camp-support p{font-size:17px;color:#617355;margin:13px 0 0}.camp-support>div:first-child{border-right:1px solid #cbd4bd;padding-right:30px}.camp-contact{padding:38px;background:#254d3c;border-radius:20px;color:#fffdf1;display:grid;grid-template-columns:1fr auto;gap:38px;align-items:start}.camp-contact h2{font-family:"Songti SC","STSong",serif;font-size:36px;line-height:1.4;margin:0 0 16px}.camp-contact p{font-size:18px;color:#e2e7d6;margin:0 0 14px}.camp-contact .camp-button{background:#f1dfb5;color:#294e3b}.camp-contact .camp-note{font-size:14px;color:#d2ddc3;margin-top:15px}.camp-contact details{min-width:190px;max-width:220px;padding-top:5px}.camp-contact summary{cursor:pointer;line-height:1.6;font-size:15px;text-decoration:underline;text-underline-offset:5px}.camp-contact details img{width:200px;height:200px;background:#fff;margin-top:16px}.camp-contact details a{font-size:14px;display:inline-block;margin-top:12px}.camp-faq details{border-bottom:1px solid #d8ddca;padding:19px 0}.camp-faq summary{cursor:pointer;font-size:19px;font-weight:600;line-height:1.6}.camp-faq p{font-size:16px;color:#65755c;margin-bottom:0}.camp-footer{margin-top:40px;padding-top:22px;border-top:1px solid #d7ddc9;display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;font-size:14px;color:#728067}.camp-footer a{text-underline-offset:4px}.camp-mobile-cta{display:none}.camp-directory-heading{margin:36px 0 42px}.camp-directory-heading h1{font-family:"Songti SC","STSong",serif;font-size:48px;line-height:1.25;margin:0 0 20px}.camp-directory-heading p{font-size:20px;color:#65755c}.camp-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.camp-teacher-card{background:#f0f2e7;border:1px solid #d8ddc9;border-radius:18px;overflow:hidden}.camp-teacher-card img{width:100%;aspect-ratio:1.75;object-fit:cover;object-position:right}.camp-teacher-card>div{padding:26px}.camp-teacher-card h2{font-size:26px;line-height:1.4;margin:0 0 12px}.camp-teacher-card p{font-size:17px;color:#617355;margin:0 0 23px}
@media(max-width:800px){.camp-hero-copy{padding:30px 25px;width:62%;min-height:580px}.camp-hero{min-height:580px}.camp-hero h1{font-size:43px}.camp-hero h1 span{font-size:28px}.camp-role{max-width:250px}.camp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-courses{gap:14px}.camp-course-copy{padding:17px}.camp-course h3{font-size:20px}.camp-course img{height:190px}.camp-contact{grid-template-columns:1fr}.camp-directory-grid{grid-template-columns:1fr}}
@media(max-width:600px){html{scroll-padding-top:90px}.camp-nav-inner{padding:15px 20px;min-height:70px;gap:10px;flex-wrap:wrap}.camp-brand{font-size:23px}.camp-links{gap:13px;font-size:13px}.camp-links a:first-child{display:none}.camp-main{padding:19px 18px 102px}.camp-breadcrumb{font-size:12px;margin-bottom:17px;gap:9px;flex-wrap:wrap}.camp-hero{display:flex;flex-direction:column;min-height:0;border-radius:16px}.camp-hero-copy{order:0;width:auto;min-height:0;padding:29px 24px;background:#f3efe1}.camp-hero>img{order:1;position:static;width:100%;height:330px;object-fit:cover;object-position:right center}.camp-kicker{font-size:13px;letter-spacing:1px;margin-bottom:22px}.camp-hero h1{font-size:46px}.camp-hero h1 span{font-size:27px;margin-top:12px}.camp-promise{font-size:17px;margin:22px 0}.camp-teacher-name{font-size:29px}.camp-role{max-width:none;font-size:13px}.camp-credentials{font-size:14px;margin-bottom:20px}.camp-hero .camp-button{width:100%}.camp-bio{padding:20px;margin-top:16px}.camp-bio p{font-size:15px;line-height:1.85}.camp-section{margin-top:38px}.camp-belief h2,.camp-section-heading h2{font-size:25px}.camp-belief>p{font-size:17px}.camp-section-heading{display:block;margin-bottom:20px}.camp-section-heading small{display:block;margin-top:10px}.camp-steps{gap:12px}.camp-steps li{padding:20px 16px}.camp-steps h3{font-size:21px}.camp-steps p{font-size:15px}.camp-lesson{grid-template-columns:1fr}.camp-lesson>img{height:265px;min-height:0;object-position:center 25%}.camp-lesson-copy{padding:27px}.camp-quote{font-size:32px}.camp-courses{grid-template-columns:1fr;gap:17px}.camp-course>a{display:grid;grid-template-columns:37% 63%;align-items:stretch}.camp-course img{height:100%;min-height:236px;object-position:center}.camp-course-copy{padding:21px 19px}.camp-course h3{font-size:21px}.camp-course p{font-size:15px}.camp-course:nth-child(2) img{padding:7px}.camp-note{font-size:13px;line-height:1.8}.camp-support{grid-template-columns:1fr;gap:24px;padding:24px}.camp-support>div:first-child{padding:0 0 22px;border:0;border-bottom:1px solid #cbd4bd}.camp-support h2{font-size:23px}.camp-support p{font-size:16px}.camp-contact{padding:28px 24px;gap:22px}.camp-contact h2{font-size:29px}.camp-contact p{font-size:16px}.camp-contact details{max-width:none}.camp-faq summary{font-size:17px}.camp-mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 18px max(12px,env(safe-area-inset-bottom));background:#faf7eff5;border-top:1px solid #d1d8c4}.camp-mobile-cta span{font-size:13px;color:#637451}.camp-mobile-cta .camp-button{font-size:14px;padding:11px 18px;min-height:44px}.camp-directory-heading{margin:25px 0}.camp-directory-heading h1{font-size:34px}.camp-directory-heading p{font-size:17px}.camp-teacher-card>div{padding:22px}.camp-teacher-card h2{font-size:23px}.camp-footer{font-size:13px;gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
