@import "https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@600;700&family=Noto+Sans+TC:wght@400;500;700;800&display=swap";:root{color:#2b2228;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff5f6;font-family:Noto Sans TC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #b05f4785}main{color:#2b2228;background-color:#fff5f6;background-image:linear-gradient(90deg,#8e485c14 1px,#0000 1px),linear-gradient(#8e485c14 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:88px 88px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:100vh;overflow:hidden}.nav{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff9f9db;border:1px solid #8e485c29;border-radius:999px;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1120px,100% - 28px);padding:10px 12px 10px 22px;display:grid;position:fixed;top:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 60px #602c3d1f}.brand,.nav a{color:inherit;text-decoration:none}.brand{align-items:baseline;gap:10px;font-weight:700;display:inline-flex}.brand span{font-size:1.18rem}.brand small{color:#8b6e75;font-size:.78rem;font-weight:500}.nav-links{background:#ffffff94;border-radius:999px;align-items:center;gap:6px;padding:4px;display:flex}.nav-links a{color:#6f515b;border-radius:999px;padding:8px 14px;font-size:.92rem}.nav-cta,.primary-button,.secondary-button{min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.nav-cta{color:#fff;background:#8e485c;justify-self:end}.primary-button{color:#fff;background:#8e485c;text-decoration:none;box-shadow:0 14px 28px #8e485c3d}.secondary-button{color:#8e485c;background:#ffffffad;border:1px solid #8e485c33;text-decoration:none}.nav-cta:hover,.primary-button:hover,.secondary-button:hover,.class-card:hover{transform:translateY(-2px)}.hero-section{grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr);align-items:center;gap:clamp(28px,5vw,72px);width:min(1180px,100% - 40px);min-height:92vh;margin:0 auto;padding:118px 0 52px;display:grid}.hero-copy{max-width:650px}.eyebrow{color:#b76e79;letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.8rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:#2b2228;letter-spacing:0;max-width:680px;margin-bottom:24px;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(4.4rem,9vw,8.6rem);font-weight:700;line-height:.98}h2{color:#2b2228;letter-spacing:0;margin-bottom:18px;font-family:Noto Serif TC,Songti TC,serif;font-size:clamp(2.1rem,4vw,4rem);line-height:1.08}h3{color:#2b2228;letter-spacing:0;margin-bottom:10px;font-size:1.2rem}.hero-text,.section-copy p,.flow-card p,.class-card p,footer span{color:#6f5b62;font-size:1.04rem;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.hero-media{border-radius:0;min-height:680px;position:relative;overflow:hidden;box-shadow:0 32px 80px #602c3d2e}.hero-media img,.booking-section img,.gallery-photo{object-fit:cover;width:100%;height:100%;display:block}.availability-panel{color:#2b2228;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f3ecd1;border:1px solid #ffffff57;border-radius:8px;gap:2px;min-width:190px;padding:18px;display:grid;position:absolute;bottom:22px;right:22px}.availability-panel span,.availability-panel small,.status-dot,.class-time,.seat-pill{color:#8b6e75;font-size:.82rem;font-weight:700}.availability-panel strong{color:#b76e79;font-size:3.4rem;line-height:1}.intro-band{color:#fff;background:#7d5363;border-block:1px solid #8e485c29;grid-template-columns:repeat(3,1fr);display:grid}.intro-band div{justify-content:center;align-items:center;gap:12px;min-height:112px;padding:22px;display:flex}.intro-band div+div{border-left:1px solid #ffffff2e}.split-section,.founder-section,.schedule-section,.gallery-section,.booking-section{width:min(1180px,100% - 40px);margin:0 auto}.founder-section{background:#fffafb;border:1px solid #8e485c29;grid-template-columns:.88fr 1.12fr;align-items:stretch;gap:0;display:grid;overflow:hidden}.founder-section img{object-fit:cover;width:100%;min-height:520px;display:block}.founder-copy{flex-direction:column;justify-content:center;padding:clamp(32px,6vw,72px);display:flex}.founder-copy p:last-child{color:#6f5b62;font-size:1.08rem;line-height:1.9}.split-section{grid-template-columns:.8fr 1.2fr;align-items:start;gap:36px;padding:112px 0 72px;display:grid}.section-copy{position:sticky;top:118px}.flow-grid{gap:14px;display:grid}.flow-card,.class-card,.booking-preview{background:#ffffffb8;border:1px solid #8e485c26;border-radius:8px;box-shadow:0 18px 48px #602c3d14}.flow-card{padding:28px}.flow-card span{color:#b76e79;margin-bottom:36px;font-weight:800;display:inline-flex}.schedule-section{padding:52px 0 88px}.section-heading{max-width:760px;margin-bottom:34px;display:grid}.class-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.class-card{text-align:left;justify-items:start;min-height:268px;padding:24px;display:grid}.class-card.active{background:#fff7f8;border-color:#b76e798c;box-shadow:0 22px 60px #b76e7929}.class-time,.seat-pill{align-items:center;gap:7px;margin-bottom:18px;display:inline-flex}.class-card strong{color:#2b2228;margin-bottom:12px;font-size:1.38rem}.seat-pill{color:#8e485c;background:#f7e5e8;border-radius:999px;align-self:end;margin:20px 0 0;padding:7px 12px}.booking-section{background:#4a2834;border:1px solid #8e485c29;grid-template-columns:minmax(310px,.74fr) 1fr;min-height:560px;display:grid;overflow:hidden}.booking-preview{color:#fff;box-shadow:none;background:#4a2834;border:0;border-radius:0;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,56px);display:flex}.booking-preview h2{color:#fff}.status-dot{color:#f1c1ca;margin-bottom:18px}dl{gap:14px;margin:8px 0 30px;display:grid}dl div{border-bottom:1px solid #ffffff24;justify-content:space-between;gap:18px;padding-bottom:14px;display:flex}dt{color:#e7ccd2}dd{color:#fff;margin:0;font-weight:800}.full{width:100%}.gallery-section{padding:110px 0 72px}.gallery-grid{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:stretch;gap:clamp(18px,3vw,32px);display:grid}.gallery-frame{background:#fffafbd1;border-radius:8px;align-items:center;min-width:0;margin:0;display:grid;overflow:hidden;box-shadow:0 18px 46px #602c3d26}.gallery-photo{object-fit:contain;width:100%;height:100%}.frame-1{aspect-ratio:16/9;grid-column:1/-1}.frame-1 .gallery-photo,.frame-2 .gallery-photo{object-fit:cover;object-position:center center}.frame-2{aspect-ratio:16/9;grid-column:1/-1}.frame-3,.frame-4{aspect-ratio:4/7;align-self:start}.frame-3 .gallery-photo,.frame-4 .gallery-photo{object-fit:contain}footer{background:#fffafb;border-top:1px solid #8e485c29;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:32px max(20px,50vw - 590px);display:flex}footer strong{color:#2b2228}@media (width<=900px){.nav{border-radius:24px;grid-template-columns:1fr auto;top:10px}.nav-links,.brand small{display:none}.hero-section,.split-section,.founder-section,.booking-section{grid-template-columns:1fr}.hero-section{min-height:auto;padding-top:104px}.hero-media{min-height:470px}.intro-band,.class-grid,.gallery-grid{grid-template-columns:1fr}.intro-band div+div{border-top:1px solid #ffffff2e;border-left:0}.split-section{padding-top:76px}.founder-section img{min-height:420px}.section-copy{position:static}.class-card{min-height:220px}.booking-section img{min-height:360px}.gallery-grid{grid-template-columns:1fr}.frame-1,.frame-2,.frame-3,.frame-4{aspect-ratio:auto;grid-column:auto}.frame-1 .gallery-photo,.frame-2 .gallery-photo{object-fit:contain}}@media (width<=560px){.hero-section,.split-section,.schedule-section,.gallery-section,.booking-section{width:min(100% - 28px,1180px)}h1{font-size:3.7rem}h2{font-size:2.25rem}.hero-actions,.primary-button,.secondary-button{width:100%}.availability-panel{min-width:154px;bottom:14px;right:14px}}
