:root{--paper:#fff;--ink:#222;--muted:#777;--gold:#555;--line:#e7e7e7;--green:#252525}body{background:#fff;color:#222}a,button,input,select{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #555;outline-offset:4px}header{border-bottom:1px solid #eee;background:#fff}header nav{gap:28px}.hero{height:690px;min-height:0;max-height:850px;background:#f6f6f5;color:#222;position:relative;overflow:hidden}.hero .hero-image{position:absolute;left:48%;width:52%;height:100%;object-fit:cover;object-position:60% center}.hero .hero-shade{display:none}.hero .hero-copy{position:relative;width:48%;padding:115px 4% 110px 8%;box-sizing:border-box}.hero h1{font-size:clamp(34px,3.6vw,58px);line-height:1.55;letter-spacing:1px;font-weight:400}.hero .eyebrow{color:#777;font-size:10px;letter-spacing:3px}.hero .hero-description{color:#777;font-size:14px;line-height:2}.hero .light-button{border:1px solid #444;color:#222;background:transparent;font-size:13px;padding:14px 22px;display:inline-flex;gap:22px;margin-top:22px}.hero-foot{color:#888;font-size:10px;letter-spacing:1px;left:8%;bottom:30px}.hero-foot span:last-child{display:none}.hero .image-note{background:#ffffffd9;color:#555}.intro{padding-top:85px;padding-bottom:60px}.intro h2{font-size:30px}.intro p:not(.eyebrow){color:#777}.fine-line{background:#aaa}.services{background:#f7f7f6}.service-list,.service-list details{border-color:#ddd}.visit{background:#252525}.visit .eyebrow,.address>span{color:#bbb}.story-sign{color:#777}.dark-button{background:#222}.filters button.active{border-color:#222;color:#222}.photo{aspect-ratio:4/5}.gallery{gap:28px}.photo img{filter:saturate(.72)}.mobile-bottom{background:#fffffff5;border-color:#ddd}.customer-header{background:#fff;border-color:#eee}.customer-tabs button.active,.primary{background:#252525!important;color:white!important;border-color:#252525!important}.customer-main .panel,.gown{border-radius:2px;box-shadow:none}.customer-main .notice{background:#f5f5f5;border-color:#ddd;color:#555}.customer-main .tag{background:#eee;color:#555}
.availability-page{margin:0;font:15px/1.75 Arial,"Microsoft YaHei",sans-serif}.availability-page *{box-sizing:border-box}.availability-page a{color:inherit;text-decoration:none}.availability-page button,.availability-page input,.availability-page select{font:inherit;border:1px solid #ddd;background:#fff;padding:12px;color:#222;border-radius:0}.availability-page button{cursor:pointer}.availability-header{display:flex;justify-content:space-between;align-items:center;padding:24px 7%;gap:24px}.availability-header nav{display:flex;gap:28px;font-size:13px}.availability-page .brand{font:28px Georgia,"Songti SC",serif;letter-spacing:4px}.availability-page .brand span{display:block;font:8px Arial;letter-spacing:3px;margin-top:9px}.availability-main{max-width:1250px;margin:auto;padding:70px 35px}.availability-page .eyebrow{font-size:10px;letter-spacing:3px;color:#888}.availability-main h1{font-family:Georgia,"Songti SC",serif;font-weight:400;font-size:55px;line-height:1.45;letter-spacing:3px;margin:20px 0}.availability-page .lead{color:#777;margin-bottom:45px}.schedule-query{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:18px;padding:28px;background:#f6f6f5;align-items:end}.schedule-query label{display:grid;gap:9px;font-size:12px;color:#666}.schedule-query input{width:100%;min-width:0}.schedule-query button{background:#252525;color:#fff;border-color:#252525}.day-shortcuts{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 55px}.day-shortcuts button{font-size:12px;padding:8px 16px}.day-shortcuts [aria-pressed=true]{background:#222;color:#fff;border-color:#222}.schedule-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.schedule-toolbar h2{font-size:25px;font-weight:400}.schedule-toolbar label{font-size:12px;color:#777;display:flex;align-items:center;gap:12px}.teacher-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.teacher-card{border:1px solid #e4e4e4;padding:28px;position:relative}.teacher-monogram{display:grid;place-items:center;width:64px;height:64px;background:#f2f2f1;border-radius:50%;font:28px Georgia,serif;margin-bottom:26px}.availability-badge{position:absolute;top:28px;right:24px;padding:4px 10px;background:#f1f1f1;font-size:11px;color:#777}.availability-badge.available{background:#252525;color:#fff}.teacher-card h3{font-size:23px;font-weight:400;margin:8px 0}.teacher-card p{color:#777}.teacher-card .maintained{font-size:11px;margin-top:24px}.teacher-card>a{display:block;border-top:1px solid #eee;padding-top:18px;margin-top:22px;font-size:13px}.schedule-note,.muted{font-size:12px;color:#888}.schedule-note{margin-top:24px;max-width:850px}.schedule-empty{grid-column:1/-1;text-align:center;padding:60px 20px;background:#fafafa;border:1px solid #eee;color:#777}.schedule-empty h3{font-size:22px;font-weight:400;color:#333}.schedule-empty a{display:inline-block;border-bottom:1px solid #aaa;padding:8px}.schedule-contact{margin-top:80px;padding:35px 0;border-top:1px solid #ddd;display:flex;justify-content:space-between;align-items:center;gap:25px}.schedule-contact h2{font-size:24px;font-weight:400}.schedule-contact p:not(.eyebrow){font-size:13px;color:#888}.schedule-contact>a{border:1px solid #bbb;padding:13px 20px;font-size:13px;white-space:nowrap}.availability-footer{display:flex;justify-content:space-between;gap:20px;padding:30px 7%;border-top:1px solid #eee;font-size:12px;color:#888}
@media(max-width:760px){.hero{height:auto;max-height:none;display:flex;flex-direction:column;padding-bottom:0}.hero .hero-image{position:relative;left:auto;width:100%;height:340px;order:2;object-position:center 40%}.hero .hero-copy{width:100%;padding:48px 7% 44px;order:1}.hero h1{font-size:37px;margin:15px 0}.hero .hero-description{font-size:13px}.hero-foot{display:none}.hero .image-note{bottom:10px}.intro h2{font-size:24px}.intro{padding-top:55px}.availability-header{padding:20px 6%;font-size:12px}.availability-header nav{display:none}.availability-main{padding:38px 6%}.availability-main h1{font-size:38px}.schedule-query{grid-template-columns:1fr 1fr;padding:18px;gap:14px}.schedule-query label:first-child{grid-column:1/-1}.schedule-query button{grid-column:1/-1}.teacher-grid{grid-template-columns:1fr}.day-shortcuts{gap:6px;margin-bottom:30px}.day-shortcuts button{padding:7px 10px}.schedule-toolbar{align-items:flex-start}.schedule-toolbar label{display:grid;gap:2px}.schedule-contact{display:block;margin-top:45px}.schedule-contact>a{display:inline-block;margin-top:15px}.availability-footer{flex-wrap:wrap}.availability-footer span:nth-child(2){order:3;width:100%}}

.type-hero .block-hero{display:grid;grid-template-columns:48% 52%;min-height:620px;align-items:stretch}.type-hero .block-hero>img{position:absolute;inset:0 0 0 48%;width:52%;height:100%;object-fit:cover;object-position:center}.type-hero .block-shade{display:none}.type-hero .block-hero-copy{grid-column:1;padding:110px 12% 95px 16%;width:auto;align-self:center}.type-hero .block-hero-copy h2{font-size:clamp(30px,3.4vw,54px)!important;line-height:1.65;letter-spacing:.04em}.type-hero .block-credit{background:#ffffffe6;color:#555;padding:6px 10px;font-size:12px}.block-service,.block-faq{border-color:#d8d8d8}.block-card img{filter:saturate(.6)}
.xiyue-intro{position:fixed;inset:0;z-index:10000;background:#fff;color:#252525;display:grid;place-items:center;animation:intro-exit .4s ease 1s forwards;pointer-events:none}.xiyue-intro-inner{text-align:center;animation:intro-enter .65s ease both}.xiyue-intro strong{display:block;font:400 48px/1.7 SimSun,serif;letter-spacing:.3em;padding-left:.3em}.xiyue-intro small{font:12px/2 Arial,sans-serif;letter-spacing:.3em}.xiyue-intro p{font-size:14px;margin-top:28px;color:#777}.xiyue-intro button{pointer-events:auto;position:absolute;right:28px;bottom:30px;background:none;border:0;border-bottom:1px solid #aaa;padding:10px;color:#666;font-size:14px;cursor:pointer}@keyframes intro-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes intro-exit{to{opacity:0;visibility:hidden}}
@media(max-width:760px){.type-hero .block-hero{display:flex;flex-direction:column;min-height:0!important}.type-hero .block-hero>img{position:relative;inset:auto;width:100%;height:440px;order:2}.type-hero .block-hero-copy{padding:52px 7%;align-self:stretch;order:1}.type-hero .block-hero-copy h2{font-size:32px!important}.type-hero .block-credit{z-index:2}.block-body,.block-subtitle{font-size:16px}}@media(prefers-reduced-motion:reduce){.xiyue-intro{display:none}}

@font-face{font-family:'Xiyue Serif';src:url('/assets/fonts/xiyue-serif.ttf?v=8') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{--xiyue-serif:'Xiyue Serif','Songti SC','STSong','Noto Serif CJK SC','SimSun',serif;--xiyue-sans:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--xiyue-sans)}
.brand,h1,h2,h3,.custom-block h2,.block-card h3,.availability-page .brand,.availability-main h1{font-family:var(--xiyue-serif)}
.builder-sans .custom-block h2,.builder-sans .brand{font-family:var(--xiyue-sans)}button,input,select,textarea{font-family:inherit}
@media(max-width:760px){.brand{letter-spacing:3px}.hero h1,.block-hero-copy h2{font-size:clamp(28px,7.7vw,36px)!important;line-height:1.65;letter-spacing:1px}.block-inner,.block-hero-copy{min-width:0}.custom-block h2,.block-body,.block-subtitle{overflow-wrap:break-word}.block-body,.block-subtitle{font-size:15px;line-height:1.9}}
