@charset "UTF-8";
:root{--purple:#552182;--blue:#355698;--paper:#fff;--ink:#45433f;--line:#ddd5e2;--font:"Microsoft JhengHei",system-ui,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:#f6f6f6;color:var(--ink);font:16px/1.9 var(--font)}button,input,select,textarea{font:inherit}a{color:inherit}button{cursor:pointer}img{display:block}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c35f47;outline-offset:3px}.site-page{max-width:920.6555px;margin:0 auto;background:var(--paper)}.ai-layout{width:100%}.ai-artboard{position:relative;margin:0;padding:0;border:0;width:100%;line-height:0}.ai-slice{display:block;width:100%;margin:0;padding:0;line-height:0}.ai-slice img{display:block;width:100%;height:auto;margin:0;padding:0;border:0;vertical-align:bottom}.visually-hidden,.skip-link:not(:focus){position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:10px;left:10px;background:white;color:var(--purple);padding:10px 16px;z-index:100}.reservation{padding:70px 9%;border-top:1px solid var(--line);background:#faf8fb}.reservation-intro{margin-bottom:38px}.reservation h1,.reservation h2{font-family:"PMingLiU",serif;font-weight:400;letter-spacing:.08em;color:var(--purple);line-height:1.6}.reservation h1{font-size:30px;margin:0 0 24px}.reservation h2{font-size:28px;margin:0 0 20px}.rich-copy{line-height:2.1}.rich-copy p{margin:0 0 16px}.rich-copy a{color:var(--purple)}.form-panel{padding:36px 40px;background:#fff;border:1px solid #e6e0eb}#form-description{font-size:15px;margin:0 0 25px;white-space:pre-line}.required-note{font-size:12px;color:#817183;text-align:right;margin:0 0 20px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:20px}input,select,textarea{display:block;width:100%;padding:11px 13px;margin-top:7px;border:1px solid #cfc9d5;background:#fff;color:var(--ink);border-radius:0;font-size:16px;line-height:1.6}textarea{resize:vertical}.referral-note{font-size:12px;color:#76637e}.consent{display:flex;gap:12px;font-size:12px;line-height:1.9}.consent input{width:17px;height:17px;margin-top:4px;flex-shrink:0;accent-color:var(--purple)}.consent a{color:var(--purple)}.submit-button{width:100%;padding:14px 20px;border:0;background:var(--purple);color:#fff;font-size:16px;letter-spacing:.12em}.submit-button:hover{background:#40165f}.submit-button:disabled{opacity:.65;cursor:default}#form-feedback{font-size:14px;line-height:1.9;color:var(--purple);white-space:pre-line;margin:18px 0 0}.honeypot{position:absolute;left:-9999px}.site-footer{padding:35px 9% 85px;font-size:12px;border-top:1px solid var(--line);background:#fff}.site-footer p{margin:0 0 20px;white-space:pre-line}.site-footer>div{display:flex;justify-content:space-between;gap:20px;color:#807685}.site-footer a{color:var(--purple)}.quick-actions{position:fixed;right:22px;bottom:20px;z-index:15;display:flex;gap:6px;font-size:13px;line-height:1.5}.quick-actions a{display:flex;align-items:center;justify-content:center;padding:12px 20px;color:white;background:var(--purple);text-decoration:none;box-shadow:0 2px 15px #0002;border:1px solid #ffffff66}.quick-actions .to-top,.quick-actions .to-reserve{width:46px;height:46px;padding:0;font-size:20px}.quick-actions a[hidden]{display:none}.inline-cta{display:flex;justify-content:center;padding:26px 20px;background:#fff;line-height:1.5}.inline-cta a{padding:12px 46px;border:1px solid var(--purple);color:var(--purple);text-decoration:none;font-size:15px;letter-spacing:.2em;transition:background .2s,color .2s}.inline-cta a:hover{background:var(--purple);color:#fff}.text-dialog{width:min(620px,92vw);max-height:85svh;border:0;padding:35px;background:#fff;color:var(--ink)}.text-dialog::backdrop{background:#171321b3}.success-dialog{width:min(420px,90vw);text-align:center;padding:40px 32px 32px}.success-dialog h2{margin:0 0 14px}.success-dialog p{font-size:15px;line-height:1.9;margin:0 0 28px;white-space:pre-line}.success-mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--purple);color:#fff;font-size:28px;line-height:56px}.success-dialog .dialog-close{position:absolute;top:14px;right:14px;margin:0;float:none}.text-dialog h2{font-size:24px;font-family:"PMingLiU",serif;font-weight:400;color:var(--purple);margin:0 0 25px}.text-dialog p{font-size:14px}.dialog-close{float:right;border:0;background:none;color:var(--purple);font-size:28px;padding:0 8px;margin:-12px -12px 8px 12px;line-height:1.5}
@media(max-width:600px){body{background:white}.reservation{padding:40px 6%}.reservation h1{font-size:25px}.reservation h2{font-size:24px}.form-panel{padding:24px 18px}.field-grid{gap:12px}label{font-size:13px}.rich-copy,#form-description{font-size:14px}.quick-actions{right:12px;bottom:12px;font-size:12px}.quick-actions a{padding:10px 13px}.inline-cta{padding:20px 16px}.inline-cta a{padding:10px 36px;font-size:14px}.quick-actions .to-top,.quick-actions .to-reserve{width:42px;height:42px;padding:0}.site-footer{padding:30px 7% 85px}.text-dialog{padding:26px}.reservation-intro{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
