@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@300;400;500;600&family=Noto+Serif+TC:wght@400;500;600&display=swap');
:root{--cream:#f6f3eb;--green:#334e43;--ink:#343b33;--muted:#6d7368;--line:#dbdfd3;--warm:#e7d6bf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.85 'Noto Sans TC',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}header{display:flex;align-items:center;gap:24px;padding:20px 4%;background:#f6f3ebf5;position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;white-space:nowrap;font-family:'Noto Serif TC',serif;font-size:21px}.brand small{display:block;font:8px/1.5 sans-serif;letter-spacing:2px}.mark{border:1px solid var(--green);border-radius:50%;width:43px;height:43px;display:grid;place-items:center;color:var(--green)}nav{display:flex;gap:23px;margin-left:auto;font-size:13px}nav a:hover,nav a.active{color:#698774}.nav-cta{font-size:12px;border:1px solid var(--green);padding:9px 16px;white-space:nowrap}#menu{display:none}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:99;background:white;padding:15px}.hero{min-height:650px;display:grid;grid-template-columns:48% 52%;padding:54px 4% 58px 8%;gap:0;align-items:center;position:relative}.eyebrow{font-size:11px;letter-spacing:3px;color:#718276;margin-bottom:25px}.hero h1{font-family:'Noto Serif TC',serif;font-weight:500;font-size:clamp(38px,4.7vw,70px);line-height:1.5;letter-spacing:4px;margin:0 0 25px}.hero p{color:var(--muted);max-width:400px;font-size:14px;margin-bottom:32px}.button{display:inline-block;padding:13px 26px;background:var(--green);color:white;font-size:13px;border:1px solid var(--green);transition:.2s}.button:hover{background:#526c5a;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--green)}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-photo{position:relative;padding:0 0 38px 30px}.hero-photo img{width:100%;height:470px;object-fit:cover;border-radius:160px 0 0 0}.photo-note{position:absolute;bottom:0;right:0;font-size:11px;letter-spacing:2px}.vertical{position:absolute;top:10px;left:0;writing-mode:vertical-rl;letter-spacing:4px;font-size:10px;color:var(--muted)}.leaf{position:absolute;border:1px solid #829780;border-radius:100% 0 100% 0;width:85px;height:180px;transform:rotate(-20deg);bottom:0;left:42%;pointer-events:none;opacity:.35}.section{padding:85px 8%}.tint{background:#e9ede4}.dark{background:var(--green);color:var(--cream)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:36px}.section h2,.page-head h1{font:500 34px/1.5 'Noto Serif TC',serif;letter-spacing:2px;margin:0 0 12px}.section-head p{font-size:13px;color:var(--muted);max-width:440px;margin:0}.kicker{font-size:11px;letter-spacing:2px;margin-bottom:12px;color:#798a79}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.paths{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.path{padding:28px 20px 28px 0;border-bottom:1px solid var(--line);transition:background .2s}.path:hover{background:#e9ede4}.path span{font:11px sans-serif;color:#8a998b;letter-spacing:2px}.path h3{font:500 20px 'Noto Serif TC',serif;margin:15px 0 10px}.path p{font-size:12px;color:var(--muted);margin:0}.arrow{float:right;font-size:22px!important}.card img{width:100%;height:235px;object-fit:cover}.card h3{font:500 22px 'Noto Serif TC',serif;margin:18px 0 10px}.card p{color:var(--muted);font-size:13px}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split img{width:100%;height:470px;object-fit:cover}.split p{font-size:14px;color:var(--muted)}.dark p{color:#d4dfd2}.dark .kicker{color:#bfcebb}.tags{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.tags span{border:1px solid #a4b29f;padding:6px 14px;font-size:12px}.quote{text-align:center;padding:90px 8%;background:var(--warm)}.quote h2{font:400 35px/1.6 'Noto Serif TC',serif;letter-spacing:3px}.quote p{font-size:13px;color:var(--muted)}footer{padding:55px 8% 25px;display:grid;grid-template-columns:1fr 1fr;gap:25px;border-top:1px solid var(--line);font-size:12px}footer a{display:inline-block;margin-right:15px}footer p{color:var(--muted)}footer small{align-self:end;font-size:10px}.footer-brand{font:25px 'Noto Serif TC',serif}.footer-brand span{display:block;font:12px 'Noto Sans TC',sans-serif;margin-top:14px}.page-head{padding:65px 8% 50px;border-bottom:1px solid var(--line)}.page-head p{max-width:670px;font-size:14px;color:var(--muted)}.list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 35px}.list-item{border-top:1px solid var(--line);padding:25px 0}.list-item h3{font:500 22px 'Noto Serif TC',serif}.list-item p{color:var(--muted);font-size:14px}.notice{padding:25px;border:1px solid var(--line);font-size:14px;color:var(--muted);margin:25px 0}.video{max-width:800px;margin:auto}video{width:100%;max-height:650px;background:#252c27;display:block}.filters{display:flex;gap:10px;margin:0 0 30px;flex-wrap:wrap}.filters button{border:1px solid var(--green);padding:8px 18px;background:transparent;color:var(--green)}.filters button.selected{background:var(--green);color:white}details{border-top:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-family:'Noto Serif TC',serif}details p{color:var(--muted);font-size:14px}.reveal{opacity:1}.motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.motion .reveal.visible{opacity:1;transform:none}.empty-teacher{padding:40px;background:#e9ede4;border-top:2px solid #9fac99}.empty-teacher h3{font:24px 'Noto Serif TC',serif}.breadcrumb{font-size:12px;margin-bottom:25px;color:var(--muted)}@media(min-width:1400px){main{max-width:1600px;margin:auto}}@media(max-width:1100px){header{gap:12px}nav{gap:14px;font-size:12px}.nav-cta{display:none}.hero{padding-left:6%}.hero h1{font-size:47px}}@media(max-width:760px){header{padding:14px 5%}#menu{display:block;margin-left:auto;border:0;background:none;color:var(--green);font-size:24px}nav{display:none;position:absolute;top:75px;left:0;right:0;background:var(--cream);padding:25px;flex-direction:column;border-bottom:1px solid var(--line);font-size:16px}nav.open{display:flex}.hero{grid-template-columns:1fr;padding:40px 6%;min-height:0}.hero h1{font-size:40px;letter-spacing:2px}.hero p{max-width:100%}.hero-photo{margin-top:40px;padding-left:20px}.hero-photo img{height:310px;border-radius:100px 0 0 0}.leaf{display:none}.section{padding:55px 6%}.section-head{display:block}.section-head p{margin-top:15px}.section h2,.page-head h1{font-size:29px}.paths{grid-template-columns:repeat(2,1fr)}.path{padding-right:15px}.path h3{font-size:18px}.grid,.list{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:30px}.split img{height:330px}.card img{height:260px}.page-head{padding:45px 6% 35px}.quote{padding:55px 6%}.quote h2{font-size:27px}footer{grid-template-columns:1fr;padding:40px 6%}.brand{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion .reveal{opacity:1;transform:none;transition:none}.button{transition:none}}

.simple-icon{width:38px;height:42px;color:#718773}.path-icon{float:right}.service-icon{float:right}.service-icon .simple-icon{width:26px;height:28px}.path:hover .simple-icon{color:var(--green)}.practice-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.practice-art{width:100%;border-radius:90px 5px 5px 5px}.practice-layout .list{grid-template-columns:1fr 1fr;gap:0 20px}.practice-layout .list-item h3{font-size:19px}.small-art{width:145px;height:145px;object-fit:cover;border-radius:50%;float:right;margin:0 0 20px 20px}.collaboration-card{min-height:240px}.quote{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;text-align:left}.calm-art{width:100%;border-radius:120px 120px 6px 6px}.social-links{grid-column:1 / -1;display:flex;gap:20px;flex-wrap:wrap}.social-links a{border:1px solid var(--green);padding:9px 15px;color:var(--green)}
@media(max-width:900px){.practice-layout{grid-template-columns:1fr}.practice-art{max-height:430px;object-fit:cover}.quote{gap:25px}.small-art{width:110px;height:110px}}@media(max-width:760px){.quote{grid-template-columns:1fr;text-align:center}.calm-art{max-height:320px;object-fit:cover}.practice-layout .list{grid-template-columns:1fr}.simple-icon{width:31px;height:35px}.path h3{clear:both;padding-top:10px}.small-art{float:none;width:125px;height:125px;margin:0 0 10px}.collaboration-card{min-height:0}}

.brand-logo{width:64px;height:56px;object-fit:contain;mix-blend-mode:multiply}.footer-logo{width:80px;height:65px;object-fit:contain;mix-blend-mode:multiply;vertical-align:middle;margin-right:15px}nav{gap:17px}.home-page .hero-photo img{border-radius:44% 35% 42% 23% / 28% 39% 24% 36%;height:470px;box-shadow:0 18px 45px #ac927b17;object-position:center}.home-page .card img{border-radius:65px 24px 85px 32px}.home-page .card:nth-child(2) img{border-radius:25px 85px 35px 65px}.home-page .split img{border-radius:42% 29% 34% 20% / 23% 36% 25% 34%}.home-page .practice-art{border-radius:30% 19% 28% 15% / 22% 30% 19% 25%}.home-page .calm-art{border-radius:44% 32% 23% 35% / 30% 36% 28% 24%}.home-page .small-art{border-radius:43% 37% 48% 31%}.home-page .hero-photo{padding-bottom:48px}.photo-note{letter-spacing:1px;font-size:10px}@media(max-width:1150px){header{gap:12px}nav{gap:12px;font-size:12px}.nav-cta{display:none}}@media(max-width:760px){.brand-logo{width:55px;height:48px}.home-page .hero-photo img{height:320px}.home-page .split img{height:330px}.home-page .card img{border-radius:55px 20px 65px 25px}}

.brand-logo,.footer-logo{mix-blend-mode:normal}.service-line{color:var(--green);font-size:12px;margin-top:8px}.practice-layout .list{grid-template-columns:1fr}.practice-layout .list-item{padding:16px 0}.practice-layout .list-item h3{margin:8px 0}.practice-layout .list-item p{margin:8px 0}

.teacher-section{background:#eee5dc}.teacher-layout{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:50px}.teacher-layout p{color:var(--muted);font-size:14px;max-width:440px}.teacher-layout figure{margin:0}.team-art{width:100%;border-radius:33% 20% 28% 18% / 25% 32% 20% 28%;display:block}.teacher-layout figcaption{font-size:10px;color:var(--muted);text-align:right;margin-top:12px}.home-page .maternal-layout{grid-template-columns:1.25fr 1fr;gap:45px}.home-page .maternal-layout .maternal-photo{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:65px 35px 60px 30px}.home-page .practice-art{align-self:center}.home-page .practice-layout .list-item p{font-size:13px}@media(max-width:760px){.teacher-layout,.home-page .maternal-layout{grid-template-columns:1fr;gap:30px}.teacher-layout figure{order:-1}.home-page .maternal-layout .maternal-photo{height:auto;border-radius:40px 22px 38px 22px}}

.way-section{background:#f0e9dc}.way-head{position:relative;padding-right:115px}.way-art{position:absolute;width:110px;height:110px;object-fit:contain;right:0;top:-22px}.way-section .path:hover{background:#e7e2d4}.secondary-services a{border:1px solid #a4b29f;padding:6px 14px;font-size:12px}.secondary-services a:hover{background:#dce4d7}@media(max-width:760px){.way-head{padding-right:85px}.way-art{width:82px;height:82px;top:0}.way-head p{margin-top:20px}.secondary-services{gap:8px}}

.home-page{overflow-x:clip}.motion .home-page .reveal{opacity:1;transform:none;transition:none}.motion .home-page .scroll-text{opacity:0;transition:opacity .85s ease,transform .95s cubic-bezier(.22,.65,.3,1);will-change:opacity,transform}.motion .home-page .from-left{transform:translateX(-50px)}.motion .home-page .from-right{transform:translateX(50px)}.motion .home-page .scroll-image{opacity:0;transition:opacity 1.35s ease;will-change:opacity}.motion .home-page .scroll-text.arrived{opacity:1;transform:translateX(0);will-change:auto}.motion .home-page .scroll-image.arrived{opacity:1;will-change:auto}@media(max-width:760px){.motion .home-page .from-left{transform:translateX(-25px)}.motion .home-page .from-right{transform:translateX(25px)}}@media(prefers-reduced-motion:reduce){.motion .home-page .scroll-text,.motion .home-page .scroll-image{opacity:1;transform:none;transition:none}}

.button,.nav-cta,.filters button,.social-links a{border-radius:18px}.tags span,.secondary-services a{border-radius:12px}.button,.nav-cta,.filters button{min-height:44px}.social-links{display:grid;grid-template-columns:repeat(2,minmax(0,255px));gap:16px;align-items:stretch}.social-links a{display:flex;align-items:center;gap:12px;margin:0;padding:14px 18px;min-height:68px;background:#ffffff48;transition:background .2s,transform .2s}.social-links a:hover{background:#e7ede3;transform:translateY(-2px)}.social-icon{width:30px;height:30px;flex:none}.ig-icon{color:#8e5b70}.social-links span{line-height:1.5;font-size:13px}.social-links span small{display:block;font-size:10px;color:var(--muted);margin-top:2px}@media(max-width:520px){.social-links{grid-template-columns:1fr;max-width:340px}.social-links a{min-height:64px}}

.recovery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:35px}.recovery-grid article{border-top:1px solid #bfcaba;padding-top:25px}.recovery-letter{font:42px 'Noto Serif TC',serif;color:var(--green)}.recovery-grid h3{font:20px/1.6 'Noto Serif TC',serif}.recovery-grid p{font-size:14px;color:var(--muted)}.split .about-room{height:auto;object-fit:contain;border-radius:55px 25px 60px 30px}@media(max-width:760px){.recovery-grid{grid-template-columns:1fr}}

.partnership-hero{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:center}.partnership-hero img{width:100%;max-height:240px;object-fit:contain;border-radius:35% 20% 30% 25%}.partnership-item img{width:125px;height:125px;object-fit:cover;float:right;margin:0 0 15px 20px;border-radius:40% 30% 38% 25%}.partnership-item{min-height:210px}.teacher-collaboration{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.teacher-collaboration img{width:100%;max-height:320px;object-fit:cover;border-radius:60px 30px 70px 35px}@media(max-width:760px){.partnership-hero,.teacher-collaboration{grid-template-columns:1fr;gap:25px}.partnership-hero img{max-width:220px}.partnership-item img{width:105px;height:105px}.teacher-collaboration img{max-height:none}}

@media(min-width:761px){footer>p{grid-column:1;grid-row:2;margin:0;align-self:center}footer>.social-links{grid-column:2;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;align-self:center;gap:12px}footer>small{grid-column:1 / -1;grid-row:3}footer>.social-links a{padding:12px;gap:9px}footer>.social-links span small{font-size:9px}}

.teacher-directory{max-width:950px;margin:auto}.teacher-row{display:grid;grid-template-columns:120px 1fr;gap:30px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}.teacher-row:last-child{border-bottom:1px solid var(--line)}.teacher-row img{width:120px;height:135px;object-fit:cover;object-position:center 25%;border-radius:28px 14px 30px 16px}.teacher-row h2{font-size:25px;margin-bottom:12px;letter-spacing:1px}.teacher-role{font:14px 'Noto Sans TC',sans-serif;display:inline-block;margin-left:14px;color:var(--muted)}.teacher-row p{font-size:15px;color:var(--muted);line-height:2;margin:0}@media(max-width:760px){.teacher-row{grid-template-columns:85px 1fr;gap:18px;padding:25px 0}.teacher-row img{width:85px;height:105px;border-radius:22px 12px 24px 14px}.teacher-row h2{font-size:21px}.teacher-role{display:block;margin:8px 0 0;font-size:13px}.teacher-row p{font-size:13px}}

.teachers-page .page-head{padding-top:25px;padding-bottom:20px}.teachers-page .page-head .breadcrumb{margin-bottom:12px}.teachers-page .page-head .eyebrow{margin-bottom:12px}.teachers-page .page-head p{margin-bottom:0}.teachers-page>.section{padding-top:12px}.teachers-page .teacher-row:first-child{border-top:0;padding-top:15px}@media(max-width:760px){.teachers-page .page-head{padding-top:18px;padding-bottom:15px}.teachers-page>.section{padding-top:6px}}

.recent-courses{padding-top:30px;padding-bottom:20px;background:#eee5dc}.recent-courses h2{margin:0;font-size:30px}

.recovery-intro{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:20px 35px;align-items:center}.recovery-intro>div{grid-column:1;grid-row:1}.recovery-intro>p{grid-column:1;grid-row:2;max-width:680px}.recovery-intro .recovery-art{grid-column:2;grid-row:1 / 3;width:210px;height:165px;object-fit:cover;border-radius:35% 22% 32% 24%}.recovery-intro h2{font-size:32px}@media(max-width:760px){.recovery-intro{grid-template-columns:1fr 125px;gap:18px}.recovery-intro .recovery-art{width:125px;height:125px;grid-row:1}.recovery-intro>p{grid-column:1 / -1}.recovery-intro h2{font-size:26px}}@media(min-width:761px) and (max-width:1000px){nav{gap:10px;font-size:11px}}

.recovery-step-art{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;margin:18px 0 22px;border-radius:35px 18px 40px 22px}@media(max-width:760px){.recovery-step-art{max-width:460px;margin:18px auto 22px}}

.teacher-location{display:inline-block;margin-left:14px;font:14px "Noto Sans TC",sans-serif;letter-spacing:1px;color:var(--green)}
@media(max-width:760px){.teacher-location{margin:8px 0 0;font-size:13px}}

.teacher-meta{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-left:14px}.teacher-meta .teacher-role,.teacher-meta .teacher-location{display:inline-block;margin:0}
@media(max-width:760px){.teacher-meta{display:flex;margin:8px 0 0;gap:6px 12px}.teacher-meta .teacher-role,.teacher-meta .teacher-location{display:inline-block;margin:0}}

.teacher-locations{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px}.teacher-meta .teacher-location{display:inline-block;margin:0;padding:4px 11px;border-radius:999px;background:#e7ece4;color:#36564a;font-size:12px;line-height:1.5;letter-spacing:.5px;white-space:nowrap}

.teacher-row img.teacher-lai{object-position:60% 22%}

.teachers-page{overflow-x:clip}.motion .teachers-page .reveal{opacity:1;transform:none;transition:none}.motion .teachers-page .scroll-text{opacity:0;transition:opacity .85s ease,transform .95s cubic-bezier(.22,.65,.3,1);will-change:opacity,transform}.motion .teachers-page .from-left{transform:translateX(-50px)}.motion .teachers-page .from-right{transform:translateX(50px)}.motion .teachers-page .scroll-image{opacity:0;transition:opacity 1.35s ease;will-change:opacity}.motion .teachers-page .scroll-text.arrived{opacity:1;transform:translateX(0);will-change:auto}.motion .teachers-page .scroll-image.arrived{opacity:1;will-change:auto}@media(max-width:760px){.motion .teachers-page .from-left{transform:translateX(-25px)}.motion .teachers-page .from-right{transform:translateX(25px)}}@media(prefers-reduced-motion:reduce){.motion .teachers-page .scroll-text,.motion .teachers-page .scroll-image{opacity:1;transform:none;transition:none}}

.teachers-page .page-head{display:grid;grid-template-columns:minmax(0,1fr) 320px;column-gap:42px;align-items:center}.teachers-page .page-head>.breadcrumb,.teachers-page .page-head>.eyebrow,.teachers-page .page-head>h1,.teachers-page .page-head>p{grid-column:1}.faculty-header-art{grid-column:2;grid-row:1/5;width:100%;max-height:210px;object-fit:contain;border-radius:38px 20px 42px 24px;justify-self:end}
@media(max-width:760px){.teachers-page .page-head{grid-template-columns:1fr}.faculty-header-art{grid-column:1;grid-row:auto;width:260px;max-width:100%;max-height:175px;justify-self:center;margin-top:18px}}
