@font-face{font-family:'Tenor Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/tenor-sans.ttf') format('truetype')}
:root{--olive:#646a51;--deep:#353b2d;--pink:#eec3dd;--paper:#f7f5ef;--ink:#30352c;--line:#d7d8cd;--muted:#696c61;--sans:Avenir,'Noto Sans TC',sans-serif;--display:'Tenor Sans',Avenir,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.75}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.25}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a,button,select{touch-action:manipulation}:focus-visible{outline:3px solid #bc70a0;outline-offset:5px}img{display:block;max-width:100%}button{color:inherit}.skip-link{position:fixed;left:10px;top:-100px;z-index:100;background:var(--pink);padding:12px}.skip-link:focus{top:10px}.site-header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);gap:28px}.brand{width:206px;flex-shrink:0}.brand img{width:100%}.site-header nav{display:flex;align-items:center;gap:30px;margin-left:auto}.site-header nav a{font-size:15px;white-space:nowrap;position:relative}.site-header nav a:not(.nav-contact):after{content:'';position:absolute;height:1px;bottom:-6px;left:0;right:0;background:var(--olive);transform:scaleX(0);transition:transform .2s}.site-header nav a:hover:after,.site-header nav a[aria-current]:after{transform:scaleX(1)}.nav-contact{background:var(--olive);color:#fff;padding:12px 24px}.header-actions{display:flex;align-items:center;gap:18px}.language{border:0;background:transparent;padding:8px;font-size:14px;min-height:44px}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:8px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:8px 0;transition:transform .2s}.eyebrow{display:block;font-size:12px;letter-spacing:.17em;font-weight:600;line-height:1.5}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--olive);color:white;padding:15px 30px;min-height:52px;font-size:15px;border:1px solid var(--olive);transition:background .2s,color .2s}.button:hover{background:var(--deep);border-color:var(--deep)}.button.outline{background:transparent;color:var(--olive)}.button.outline:hover{background:var(--olive);color:#fff}.button.glass{background:transparent;border-color:#fff;color:#fff}.button.glass:hover{background:#ffffff20}.button-row{display:flex;gap:16px;flex-wrap:wrap}.text-link{font-size:15px;display:inline-block;padding:9px 0;border-bottom:1px solid var(--olive);width:fit-content}.text-link:hover{color:#a25787}.hero{position:relative;min-height:690px;height:calc(100svh - 104px);max-height:960px;display:flex;align-items:center;background:var(--deep);color:white;overflow:hidden}.hero video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{background:linear-gradient(90deg,#161d18ba,#10170f38 85%),linear-gradient(0deg,#12190c60,transparent 40%)}.hero-content{position:relative;padding:50px 8%;max-width:1060px}.hero h1{font-size:clamp(48px,5.6vw,88px);line-height:1.3;margin:24px 0}.hero:lang(en) h1{font-family:var(--display);line-height:1.08}.hero p{font-size:18px;line-height:1.8;margin-bottom:32px;color:#fff}.hero .button:not(.glass){background:var(--pink);border-color:var(--pink);color:var(--deep)}.hero .button:not(.glass):hover{background:#f7ddee}.hero-foot{position:absolute;bottom:28px;left:8%;right:8%;display:flex;align-items:center;justify-content:space-between;font-size:12px;letter-spacing:.13em;gap:18px}.hero-foot>a{border-bottom:1px solid #ffffff70;padding-bottom:4px}.video-toggle{margin-left:auto;color:white;border:1px solid #ffffff70;background:#0002;border-radius:50%;width:44px;height:44px;font-size:18px;line-height:1}.section{padding:100px 8%}.welcome{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;border-bottom:1px solid var(--line)}.section h2{font-size:clamp(32px,3.3vw,52px);margin-top:18px}.section:lang(en) h2,.page-intro:lang(en) h1,.teaser-copy:lang(en) h2{font-family:var(--display)}.welcome-copy{padding-top:18px}.welcome-copy p{max-width:520px;line-height:1.9}.welcome-copy .text-link{margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{min-height:350px;background:var(--olive);color:white;padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .3s}.feature-card:hover{transform:translateY(-6px)}.feature-card:nth-child(2){background:var(--pink);color:var(--deep)}.feature-card:nth-child(3){background:var(--deep)}.feature-index{font-size:12px;letter-spacing:.15em}.feature-card h3{font-size:32px;margin-bottom:8px}.feature-card p{font-size:12px;letter-spacing:.12em}.feature-bottom{font-size:14px;border-top:1px solid #ffffff55;padding-top:20px}.feature-card:nth-child(2) .feature-bottom{border-color:#353b2d44}.crew-teaser{display:grid;grid-template-columns:1fr 1fr;background:#e7e8df;min-height:580px}.teaser-photo{overflow:hidden;min-height:580px}.teaser-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}.teaser-copy{align-self:center;padding:70px 14% 70px 12%}.teaser-copy h2{font-size:clamp(32px,3.1vw,48px);margin:22px 0}.teaser-copy p{margin-bottom:30px;line-height:1.9}.cta{text-align:center;background:var(--pink)}.cta h2{margin:18px 0 22px}.cta p{max-width:640px;margin:0 auto 28px}.cta .button-row{justify-content:center}.page-intro{padding:80px 8% 60px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:clamp(42px,5vw,74px);line-height:1.3;margin:22px 0}.page-intro:lang(en) h1{line-height:1.13}.page-intro p{max-width:660px;color:var(--muted);font-size:17px}.about-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:8%;align-items:start}.about-visual{position:sticky;top:140px;background:var(--olive);color:white}.about-visual img{width:100%;height:480px;object-fit:cover;object-position:60%}.about-visual span{display:block;letter-spacing:.12em;font-size:12px;padding:25px}.about-copy p{margin-bottom:28px;line-height:1.95}.about-copy strong{font-size:23px;display:block;color:var(--olive);margin-top:40px;font-weight:500}.coach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px 30px}.portrait{position:relative;aspect-ratio:4/5;overflow:hidden;background:#d6d9cc}.portrait img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.coach-card:hover .portrait img{transform:scale(1.025)}.portrait span{position:absolute;bottom:17px;left:22px;color:#fff;letter-spacing:.18em;font-size:12px}.coach-body{padding:28px 0 0}.coach-body .eyebrow{color:var(--muted)}.coach-body h2{font-family:var(--display);font-size:32px;margin:10px 0 18px}.coach-body p{font-size:15px;line-height:1.85}.coach-body .coach-quote{color:var(--olive);font-size:17px;margin-bottom:12px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.tags a{font-size:13px;padding:4px 10px;background:#e7e8df}.tags a:hover{background:var(--pink)}.course-directory{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--line)}.course-directory a{font-size:14px;padding:9px 16px;border:1px solid var(--line)}.course-directory a:hover{background:var(--pink)}.class-detail{display:grid;grid-template-columns:70px minmax(0,1fr) 230px;gap:40px;padding:50px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}.class-number{font-family:var(--display);font-size:38px;color:var(--olive)}.class-detail h2{font-size:32px;margin:12px 0 18px}.class-detail p{max-width:620px;line-height:1.9}.class-action{display:flex;align-items:start;flex-direction:column;justify-content:center;gap:20px}.class-action>span{font-size:14px;color:var(--muted)}.class-action .button{padding:12px 20px;min-height:48px}.schedule-section{padding-top:48px}.schedule-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.schedule-toolbar label{display:flex;align-items:center;gap:18px;font-size:14px}.schedule-toolbar select{min-width:230px;padding:10px 30px 10px 14px;background:transparent;border:1px solid var(--olive);border-radius:0;max-width:100%;color:var(--ink)}.filter-note{margin:20px 0}.filter-note a{text-decoration:underline;margin-left:16px}.day-tabs,.day-panel,.mobile-day-label{display:none}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.week-column h2{background:var(--olive);color:#fff;font-size:20px;padding:15px 12px;margin:0 0 14px}.week-column:nth-last-child(-n+2) h2{background:var(--pink);color:var(--ink)}.week-column h2 small{display:block;font-size:12px;margin-top:8px;letter-spacing:.02em}.session-card{border-left:3px solid var(--olive);background:white;padding:12px 10px;margin-bottom:12px;min-height:156px}.session-card.women,.session-card.sculpt,.session-card.aging{border-color:#c888af}.session-card time{font-size:14px;background:var(--pink);padding:2px 6px;display:inline-block;line-height:1.5;margin-bottom:10px;font-weight:600}.session-title{font-size:16px;display:block;line-height:1.45;overflow-wrap:anywhere}.session-title:hover{color:#a25787}.session-en{font-size:12px;line-height:1.4;display:block;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}.session-coach{font-size:13px;display:block;margin-top:12px;color:var(--olive)}.session-coach:hover{text-decoration:underline}.week-empty{font-size:14px;color:var(--muted);padding:12px}.schedule-note{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:30px;margin-top:25px;border-top:1px solid var(--line)}.schedule-note p{max-width:700px;font-size:14px}.schedule-note .button{flex-shrink:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact-card{padding:50px;background:#e7e8df;display:flex;align-items:flex-start;flex-direction:column}.contact-card h2{margin:20px 0;font-family:var(--display);font-size:44px}.contact-card p{margin-bottom:24px;max-width:420px}.contact-card .qr{margin:36px auto 0;width:250px;max-width:100%}.contact-card .qr img{width:100%;height:auto}.contact-card.instagram{background:var(--pink)}.instagram-word{font-family:Georgia,serif;font-size:clamp(64px,8vw,110px);line-height:1.05;margin-top:auto;padding-top:60px;letter-spacing:-.05em}footer{padding:65px 8% 25px;background:var(--deep);color:white}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{width:280px}.footer-brand img{filter:brightness(0) invert(1)}.footer-top p{font-size:17px}.footer-links{display:flex;gap:26px;flex-wrap:wrap;margin:48px 0}.footer-links a{font-size:14px}.footer-links a:hover{color:var(--pink)}.footer-bottom{border-top:1px solid #ffffff30;display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:12px;letter-spacing:.06em;color:#fff9}.line-float{position:fixed;bottom:28px;right:28px;z-index:40;display:flex;align-items:center;gap:8px;padding:11px 18px;background:#fff;color:var(--deep);border-radius:50px;box-shadow:0 4px 18px #0002;font-size:14px;border:1px solid var(--line)}.line-float svg{width:25px;height:25px}.line-float:hover{background:var(--pink)}
@media(min-width:1400px){.section,.page-intro,footer{padding-left:max(8%,calc((100vw - 1280px)/2));padding-right:max(8%,calc((100vw - 1280px)/2))}.hero-content{padding-left:max(8vw,calc((100vw - 1280px)/2))}}
@media(max-width:1150px){.site-header nav{gap:17px}.site-header{padding:0 4%;gap:18px}.brand{width:178px}.nav-contact{padding:11px 16px}.section,.page-intro{padding-left:6%;padding-right:6%}.coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-grid{display:none}.day-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.day-tabs button{background:transparent;border:1px solid var(--line);padding:12px 4px;font-size:16px}.day-tabs button[aria-selected=true]{background:var(--olive);color:#fff;border-color:var(--olive)}.day-tabs small{display:block;font-size:12px;line-height:1.3;margin-top:5px}.mobile-day-label{display:block;font-size:22px;margin:28px 0 20px}.day-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.day-panel .session-card{padding:20px;min-height:160px;margin:0}.day-panel .session-title{font-size:20px}.day-panel .session-en{font-size:13px}.day-panel .session-coach{font-size:14px}.class-detail{grid-template-columns:45px minmax(0,1fr) 190px;gap:24px}}
@media(max-width:900px){.site-header{height:88px}.brand{width:174px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:28px 7% 40px;border-bottom:1px solid var(--line);max-height:calc(100svh - 88px);overflow:auto}.menu-open .site-header nav{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-header nav a{font-size:18px;padding:16px 0}.site-header nav .nav-contact{text-align:center;padding:15px;margin-top:20px}.menu-open .menu-toggle span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.hero{height:calc(100svh - 88px);min-height:620px}.hero-content{padding:40px 7%}.hero h1{font-size:58px}.hero-foot{left:7%;right:7%}.section{padding-top:70px;padding-bottom:70px}.welcome{gap:6%}.feature-grid{gap:14px}.feature-card{padding:22px;min-height:320px}.feature-card h3{font-size:26px}.feature-bottom{font-size:13px}.crew-teaser{min-height:500px}.teaser-photo{min-height:500px}.teaser-copy{padding:45px 10%}.teaser-copy h2{font-size:34px}.page-intro{padding-top:65px}.about-layout{grid-template-columns:1fr;gap:40px}.about-visual{position:static;display:none}.about-copy{max-width:730px}.contact-card{padding:32px}.class-action .button{font-size:14px;padding:11px 16px}.footer-bottom span:last-child{display:none}}
@media(max-width:600px){html{scroll-padding-top:96px}.site-header{height:78px;padding:0 5%;gap:12px}.brand{width:161px}.header-actions{gap:8px}.site-header nav{top:78px}.hero{height:calc(100svh - 78px);min-height:620px;max-height:900px}.hero video{object-position:56% center}.hero-shade{background:linear-gradient(0deg,#12180edb 0%,#141a1180 55%,#111a1130 100%)}.hero-content{padding:35px 7% 70px;align-self:center;margin-top:55px}.hero h1{font-size:43px;line-height:1.4;margin:20px 0}.hero:lang(en) h1{font-size:49px;line-height:1.12}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero p{font-size:16px;margin-bottom:28px}.hero .button-row{gap:11px}.hero .button{padding:12px 18px;font-size:14px;min-height:49px}.hero-foot{bottom:22px;font-size:10px;letter-spacing:.08em;gap:10px}.hero-foot>a{display:none}.section{padding:58px 7%}.welcome{grid-template-columns:1fr;gap:24px}.section h2{font-size:32px;line-height:1.4}.section:lang(en) h2{line-height:1.18}.welcome-copy{padding:0}.section-heading{display:block;margin-bottom:30px}.section-heading .text-link{margin-top:18px}.feature-grid{grid-template-columns:1fr;gap:16px}.feature-card{min-height:245px;padding:26px}.feature-card h3{font-size:32px}.crew-teaser{display:flex;flex-direction:column}.teaser-photo{min-height:0;height:420px}.teaser-photo img{object-position:center 24%}.teaser-copy{padding:48px 7%}.teaser-copy h2{font-size:32px;line-height:1.4}.cta .button-row{flex-direction:column}.cta .button{width:100%}.cta p{margin-bottom:25px}.page-intro{padding:48px 7% 40px}.page-intro h1{font-size:37px;line-height:1.4}.page-intro:lang(en) h1{font-size:43px;line-height:1.16}.page-intro p{font-size:16px}.eyebrow{font-size:12px;letter-spacing:.1em}.about-copy p{font-size:16px;line-height:1.9}.coach-grid{grid-template-columns:1fr;gap:50px}.coach-body h2{font-size:34px}.coach-body p{font-size:16px}.portrait{aspect-ratio:4/4.4}.coach-body .eyebrow{font-size:12px}.tags a{font-size:14px}.course-directory{gap:8px;padding-bottom:30px}.course-directory a{font-size:14px;padding:8px 12px}.class-detail{grid-template-columns:32px minmax(0,1fr);gap:16px;padding:34px 0}.class-number{font-size:26px}.class-detail h2{font-size:26px;line-height:1.35;margin-top:9px}.class-detail .eyebrow{font-size:11px;letter-spacing:.05em}.class-detail p{font-size:16px}.class-action{grid-column:2;gap:12px;align-items:stretch}.class-action .button{font-size:15px}.schedule-toolbar{align-items:start;flex-direction:column;gap:15px}.schedule-toolbar label{display:block;width:100%;font-size:14px}.schedule-toolbar select{display:block;margin-top:8px;width:100%;font-size:16px;min-height:48px}.schedule-toolbar .text-link{font-size:14px}.day-tabs{gap:4px}.day-tabs button{font-size:14px;padding:11px 2px;min-height:48px;line-height:1.5}.day-tabs small{display:none}.day-panel{grid-template-columns:1fr;gap:13px}.day-panel .session-card{display:grid;grid-template-columns:68px minmax(0,1fr);gap:3px 14px;min-height:0;padding:18px 14px}.day-panel .session-card time{grid-column:1;grid-row:1/4;align-self:start;text-align:center;margin:0;font-size:15px}.day-panel .session-title{grid-column:2;font-size:18px;line-height:1.5}.day-panel .session-en{grid-column:2;margin-top:2px;font-size:12px}.day-panel .session-coach{grid-column:2;margin-top:5px;font-size:14px}.mobile-day-label{font-size:20px;margin:24px 0 16px}.schedule-note{flex-direction:column;align-items:stretch}.schedule-note p{font-size:14px}.empty-day{font-size:16px;padding:20px 0}.contact-grid{grid-template-columns:1fr;gap:22px}.contact-card{padding:30px}.contact-card h2{font-size:38px}.contact-card .button{width:100%}.instagram-word{font-size:85px}.contact-card p{font-size:16px}.contact-card .qr{width:230px}.footer-top{flex-direction:column;align-items:start;gap:25px}.footer-brand{width:240px}.footer-top p{font-size:16px}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:35px 0}.footer-links a{font-size:15px}.footer-bottom{font-size:11px;gap:10px;padding-bottom:55px}.line-float{right:16px;bottom:18px;padding:10px 15px;font-size:14px}footer{padding:50px 7% 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
