html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.clinic-footer{--ci-ivory: #f4f5f0;--ci-taupe: #d7cfc4;--ci-umber: #524a40;--ci-slate: #5d6770;--ci-gold: #c4ae7a;--font-en: "Helvetica Now", Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-th: "Mero Thai", "Helvetica Thai", "Noto Sans Thai", Lato, sans-serif;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid color-mix(in srgb,var(--ci-taupe) 85%,var(--ci-umber))}.clinic-footer__inner{text-align:center;max-width:36rem;margin:0 auto}.clinic-footer__name{margin:0 0 .65rem;font-family:var(--font-en);font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ci-umber)}.clinic-footer__address{margin:0;font-style:normal;font-family:var(--font-th);font-size:clamp(.78rem,2.4vw,.86rem);line-height:1.75;color:var(--ci-slate)}.clinic-footer__map{display:inline-block;margin-top:.75rem;font-family:var(--font-en);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ci-gold);text-decoration:none;transition:color .3s cubic-bezier(.22,1,.36,1)}.clinic-footer__map:hover{color:var(--ci-umber)}.clinic-footer__legal{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .15rem;margin:1rem 0 0}.clinic-footer__legal-link{font-family:var(--font-th);font-size:.74rem;line-height:1.4;color:var(--ci-slate);text-decoration:none;transition:color .3s cubic-bezier(.22,1,.36,1)}.clinic-footer__legal-link:hover{color:var(--ci-umber);text-decoration:underline;text-underline-offset:.22em}.clinic-footer__legal-sep{margin:0 .35rem;font-family:var(--font-en);font-size:.7rem;color:color-mix(in srgb,var(--ci-taupe) 70%,var(--ci-slate));-webkit-user-select:none;user-select:none}.clinic-footer__copy{margin:1rem 0 0;font-family:var(--font-en);font-size:.72rem;letter-spacing:.06em;color:color-mix(in srgb,var(--ci-slate) 75%,transparent)}@media (min-width: 720px){.clinic-footer{margin-top:2.75rem;padding-top:1.75rem}}:root{--ci-ivory: #f4f5f0;--ci-taupe: #d7cfc4;--ci-umber: #524a40;--ci-muted: color-mix(in srgb, var(--ci-umber) 68%, var(--ci-taupe));--ci-deep: color-mix(in srgb, var(--ci-umber) 82%, black);--ci-deep-mid: color-mix(in srgb, var(--ci-umber) 88%, black);--font-en: "Helvetica Now", Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-th: "Mero Thai", "Helvetica Thai", "Noto Sans Thai", Lato, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--max: 1120px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ci-ivory);color:var(--ci-umber);font-family:var(--font-en);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.landing{min-height:100vh;overflow-x:clip}.landing :where(h1,h2,h3,p,ul,ol){margin:0}.landing a{color:inherit;text-decoration:none}.landing__nav{position:absolute;inset:0 0 auto;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem clamp(1.25rem,4vw,3rem);color:var(--ci-ivory)}.landing__nav:before{content:"";position:absolute;inset:0 0 auto;height:calc(100% + 2.75rem);z-index:-1;pointer-events:none;background:linear-gradient(to bottom,color-mix(in srgb,var(--ci-deep) 72%,transparent) 0%,color-mix(in srgb,var(--ci-umber) 42%,transparent) 55%,transparent 100%);-webkit-backdrop-filter:blur(10px) saturate(1.05);backdrop-filter:blur(10px) saturate(1.05);mask-image:linear-gradient(to bottom,#000 40%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 40%,transparent 100%)}@supports not ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))){.landing__nav:before{background:linear-gradient(to bottom,color-mix(in srgb,var(--ci-deep) 82%,transparent) 0%,color-mix(in srgb,var(--ci-umber) 55%,transparent) 50%,transparent 100%)}}.landing__nav-brand{display:inline-flex;align-items:center;line-height:0}.landing__nav-brand img{display:block;width:auto;height:clamp(1.35rem,3.2vw,1.75rem)}.landing__nav-links{display:flex;align-items:center;gap:clamp(1rem,3vw,2rem);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--ci-ivory) 82%,transparent)}.landing__nav-links a{transition:color .3s var(--ease-out)}.landing__nav-links a:hover{color:var(--ci-taupe)}.landing__nav-cta{border:1px solid color-mix(in srgb,var(--ci-ivory) 55%,transparent);padding:.55rem 1rem;letter-spacing:.16em;font-size:.72rem;text-transform:uppercase;color:var(--ci-ivory);background:color-mix(in srgb,var(--ci-deep) 35%,transparent);transition:background .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out)}.landing__nav-cta:hover{background:var(--ci-ivory);border-color:var(--ci-ivory);color:var(--ci-umber)}.landing__nav-user{display:inline-flex;align-items:center;gap:.65rem;max-width:min(42vw,16rem);text-transform:none;letter-spacing:.02em;color:var(--ci-ivory);text-decoration:none}.landing__nav-user:hover{color:var(--ci-taupe)}.landing__nav-avatar{width:2rem;height:2rem;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid color-mix(in srgb,var(--ci-taupe) 55%,transparent);background:color-mix(in srgb,var(--ci-umber) 55%,transparent)}.landing__nav-avatar--fallback{display:inline-grid;place-items:center;font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--ci-ivory)}.landing__nav-welcome{display:flex;flex-direction:column;min-width:0;line-height:1.25}.landing__nav-welcome-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;letter-spacing:.02em}.landing__nav-welcome-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-en, "Helvetica Now", Lato, sans-serif);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,var(--ci-ivory) 68%,transparent)}.landing__nav-links .lang-switch{margin-left:.15rem}.lang-switch--landing{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb,var(--ci-ivory) 70%,transparent)}.lang-switch--landing .lang-switch__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:0;margin:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;transition:color .3s var(--ease-out)}.lang-switch--landing .lang-switch__btn:hover,.lang-switch--landing .lang-switch__btn.is-active{color:var(--ci-taupe)}.lang-switch--landing .lang-switch__sep{opacity:.45;-webkit-user-select:none;user-select:none}.hero{position:relative;min-height:100svh;display:grid;place-items:end start;padding:clamp(5.5rem,12vh,8rem) clamp(1.25rem,5vw,5rem) clamp(3rem,8vh,5rem);color:var(--ci-ivory);isolation:isolate;overflow:hidden}.hero__media{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(ellipse 70% 55% at 72% 28%,color-mix(in srgb,var(--ci-taupe) 28%,transparent),transparent 55%),radial-gradient(ellipse 50% 40% at 18% 70%,color-mix(in srgb,var(--ci-ivory) 14%,transparent),transparent 50%),linear-gradient(160deg,var(--ci-deep) 0%,var(--ci-umber) 42%,var(--ci-deep-mid) 72%,color-mix(in srgb,var(--ci-umber) 78%,black) 100%)}.hero__media--photos{background:#1c1814}.hero__frame{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;overflow:hidden}.hero__frame--solo{opacity:1;animation:none}.hero__frame-backdrop{display:none;position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;width:116%;height:116%;object-fit:cover;object-position:center;filter:blur(32px) brightness(.48) saturate(1.08);transform:scale(1.08);pointer-events:none}.hero__frame-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}.hero__frame--portrait .hero__frame-backdrop{display:block}.hero__frame--portrait .hero__frame-photo{inset:auto;top:0;bottom:0;left:50%;width:auto;height:100%;max-width:min(100%,72vh);object-fit:contain;object-position:center;transform:translate(-50%);filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}@media (max-width: 720px){.hero__frame--portrait .hero__frame-photo{max-width:92vw}}.hero__media--photos:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:linear-gradient(105deg,transparent 0%,transparent 42%,color-mix(in srgb,var(--ci-taupe) 12%,transparent) 48%,color-mix(in srgb,var(--ci-ivory) 22%,transparent) 50%,color-mix(in srgb,var(--ci-taupe) 14%,transparent) 52%,transparent 58%,transparent 100%);transform:translate(-18%) skew(-12deg);animation:laser-sweep 9s var(--ease-out) infinite;pointer-events:none}.hero__media--photos:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;background:linear-gradient(to top,color-mix(in srgb,var(--ci-deep) 88%,black) 0%,color-mix(in srgb,var(--ci-umber) 62%,transparent) 38%,color-mix(in srgb,var(--ci-deep) 22%,transparent) 72%,transparent 100%),radial-gradient(circle at 50% 100%,color-mix(in srgb,var(--ci-ivory) 5%,transparent),transparent 40%);pointer-events:none}.hero__media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 0%,transparent 42%,color-mix(in srgb,var(--ci-taupe) 12%,transparent) 48%,color-mix(in srgb,var(--ci-ivory) 22%,transparent) 50%,color-mix(in srgb,var(--ci-taupe) 14%,transparent) 52%,transparent 58%,transparent 100%);transform:translate(-18%) skew(-12deg);animation:laser-sweep 9s var(--ease-out) infinite;pointer-events:none}.hero__media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 100%,color-mix(in srgb,var(--ci-ivory) 8%,transparent),transparent 40%),linear-gradient(to top,color-mix(in srgb,var(--ci-umber) 55%,transparent),transparent 45%);pointer-events:none}.hero__grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.hero__content{width:min(100%,40rem);display:grid;gap:1.35rem}.hero__brand{margin:0;animation:rise 1.1s var(--ease-out) both}.hero__logo{display:block;width:min(72vw,18.5rem);height:auto;filter:drop-shadow(0 18px 40px rgba(0,0,0,.28))}.hero__headline{font-size:clamp(1.35rem,3.2vw,1.85rem);font-weight:400;line-height:1.35;letter-spacing:.02em;max-width:22ch;color:var(--ci-ivory);text-shadow:0 1px 2px color-mix(in srgb,var(--ci-deep) 55%,transparent),0 8px 28px color-mix(in srgb,var(--ci-deep) 45%,transparent);animation:rise 1.1s var(--ease-out) .12s both}.hero__sub{font-family:var(--font-th);font-size:clamp(1rem,2.2vw,1.15rem);line-height:1.7;color:color-mix(in srgb,var(--ci-ivory) 92%,var(--ci-taupe));max-width:28ch;text-shadow:0 1px 2px color-mix(in srgb,var(--ci-deep) 50%,transparent),0 6px 20px color-mix(in srgb,var(--ci-deep) 40%,transparent);animation:rise 1.1s var(--ease-out) .22s both}.hero__actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:.5rem;animation:rise 1.1s var(--ease-out) .32s both}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.75rem 1.4rem;border:1px solid transparent;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;transition:transform .35s var(--ease-out),background .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out)}.btn:hover{transform:translateY(-2px)}.btn--gold{background:var(--ci-umber);color:var(--ci-ivory);border-color:var(--ci-umber)}.btn--gold:hover{background:color-mix(in srgb,var(--ci-umber) 82%,black);border-color:color-mix(in srgb,var(--ci-umber) 82%,black);color:var(--ci-ivory)}.btn--ghost{border-color:color-mix(in srgb,var(--ci-ivory) 70%,transparent);color:var(--ci-ivory);background:color-mix(in srgb,var(--ci-deep) 28%,transparent)}.btn--ghost:hover{border-color:var(--ci-ivory);color:var(--ci-umber);background:var(--ci-ivory)}.btn--olive{background:var(--ci-deep);color:var(--ci-ivory)}.btn--olive:hover{background:color-mix(in srgb,var(--ci-deep) 88%,black)}.btn--line{background:#06c755;color:#fff}.btn--line:hover{background:#05b34c}.section{padding:clamp(4.5rem,10vw,7.5rem) clamp(1.25rem,5vw,5rem)}.section__inner{width:min(100%,var(--max));margin:0 auto}.section__eyebrow{color:var(--ci-umber);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;margin-bottom:1rem;opacity:.78}.section__title{font-size:clamp(1.75rem,4vw,2.6rem);font-weight:300;letter-spacing:.04em;line-height:1.2;color:var(--ci-umber);max-width:18ch}.section__lead{font-family:var(--font-th);margin-top:1.25rem;font-size:1.05rem;line-height:1.85;color:color-mix(in srgb,var(--ci-umber) 82%,var(--ci-taupe));max-width:42rem}.section--olive{background:var(--ci-umber);color:var(--ci-ivory)}.section--olive .section__title{color:var(--ci-ivory)}.section--olive .section__eyebrow{color:var(--ci-taupe);opacity:1}.section--olive .section__lead{color:color-mix(in srgb,var(--ci-ivory) 88%,var(--ci-taupe))}.section--taupe{background:color-mix(in srgb,var(--ci-taupe) 55%,var(--ci-ivory))}.section--dark{background:radial-gradient(ellipse 60% 50% at 80% 0%,color-mix(in srgb,var(--ci-taupe) 18%,transparent),transparent 55%),linear-gradient(180deg,var(--ci-deep) 0%,var(--ci-umber) 100%);color:var(--ci-ivory)}.section--dark .section__title{color:var(--ci-ivory)}.section--dark .section__eyebrow{color:var(--ci-taupe);opacity:1}.section--dark .section__lead{color:color-mix(in srgb,var(--ci-ivory) 88%,var(--ci-taupe))}.location-grid{display:grid;gap:clamp(2rem,5vw,3.5rem);margin-top:clamp(2.5rem,5vw,3.5rem);grid-template-columns:1fr}@media (min-width: 860px){.location-grid{grid-template-columns:1.1fr .9fr;align-items:start}}.route{display:grid;gap:1.75rem}.route__block+.route__block{padding-top:1.75rem;border-top:1px solid color-mix(in srgb,var(--ci-taupe) 80%,var(--ci-umber))}.route__label{display:flex;align-items:baseline;gap:.65rem;margin-bottom:.85rem;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ci-umber)}.route__label span{font-size:1.1rem}.route__list{list-style:none;padding:0;display:grid;gap:.65rem;font-family:var(--font-th);color:color-mix(in srgb,var(--ci-umber) 88%,var(--ci-taupe));line-height:1.7}.route__list li{padding-left:1.1rem;position:relative}.route__list li:before{content:"";position:absolute;left:0;top:.75em;width:.35rem;height:.35rem;border-radius:50%;background:var(--ci-taupe)}.route__summary{margin-top:1rem;font-family:var(--font-th);font-size:.95rem;line-height:1.75;color:var(--ci-umber);padding-left:.9rem;border-left:2px solid var(--ci-taupe)}.place-panel{display:grid;gap:1.25rem;padding:clamp(1.5rem,4vw,2.25rem) 0;border-top:1px solid color-mix(in srgb,var(--ci-taupe) 90%,var(--ci-umber));border-bottom:1px solid color-mix(in srgb,var(--ci-taupe) 90%,var(--ci-umber))}.place-panel__name{font-size:1.35rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase}.place-panel__addr{font-family:var(--font-th);color:color-mix(in srgb,var(--ci-umber) 88%,var(--ci-taupe));line-height:1.7}.place-panel__hours{font-family:var(--font-th);color:var(--ci-umber);line-height:1.7}.place-panel__hours strong{font-weight:500;letter-spacing:.04em}.contact-layout{display:grid;gap:clamp(2rem,5vw,3.5rem);margin-top:clamp(2.5rem,5vw,3.5rem)}@media (min-width: 860px){.contact-layout{grid-template-columns:1fr 1fr;align-items:end}}.contact-list{list-style:none;padding:0;display:grid;gap:1.15rem}.contact-list a,.contact-list span{display:grid;gap:.25rem}.contact-list__label{font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ci-taupe)}.contact-list__value{font-size:1.15rem;letter-spacing:.02em;color:var(--ci-ivory);transition:color .3s var(--ease-out)}a:hover .contact-list__value{color:var(--ci-taupe)}.contact-actions{display:flex;flex-wrap:wrap;gap:.85rem}.closing{text-align:center;display:grid;gap:1.5rem;justify-items:center}.closing__logo{width:min(100%,12.5rem);height:auto}.closing__message{font-family:var(--font-th);font-size:clamp(1.15rem,2.6vw,1.45rem);line-height:1.9;max-width:34rem;color:color-mix(in srgb,var(--ci-ivory) 88%,var(--ci-taupe))}.closing__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem 1.1rem;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--ci-taupe) 70%,transparent)}.landing__footer{padding:2rem clamp(1.25rem,5vw,5rem) 2.5rem;background:var(--ci-deep);color:color-mix(in srgb,var(--ci-taupe) 75%,transparent);font-size:.78rem;letter-spacing:.08em}.landing__footer-inner{width:min(100%,var(--max));margin:0 auto}.landing__footer-inner--brand{display:flex;justify-content:center;margin-bottom:.35rem}.landing__footer-brand{display:inline-flex;line-height:0}.landing__footer-brand img{display:block;width:auto;height:3rem}.clinic-footer--landing{margin-top:0;padding-top:.5rem;border-top:none}.clinic-footer--landing .clinic-footer__name{color:var(--ci-taupe);letter-spacing:.2em}.clinic-footer--landing .clinic-footer__address{color:color-mix(in srgb,var(--ci-taupe) 78%,transparent)}.clinic-footer--landing .clinic-footer__map{color:var(--ci-taupe)}.clinic-footer--landing .clinic-footer__map:hover{color:var(--ci-ivory)}.clinic-footer--landing .clinic-footer__legal-link{color:color-mix(in srgb,var(--ci-taupe) 82%,transparent)}.clinic-footer--landing .clinic-footer__legal-link:hover{color:var(--ci-ivory)}.clinic-footer--landing .clinic-footer__legal-sep{color:color-mix(in srgb,var(--ci-taupe) 45%,transparent)}.clinic-footer--landing .clinic-footer__copy{color:color-mix(in srgb,var(--ci-taupe) 55%,transparent)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveal.is-visible{opacity:1;transform:none}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes laser-sweep{0%,18%{transform:translate(-28%) skew(-12deg);opacity:0}32%{opacity:1}55%{transform:translate(28%) skew(-12deg);opacity:.85}70%,to{transform:translate(42%) skew(-12deg);opacity:0}}@media (max-width: 720px){.landing__nav-links a:not(.landing__nav-cta):not(.landing__nav-user){display:none}.landing__nav-welcome-label{max-width:7.5rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}.hero__media:before,.hero__media--photos:before,.hero__brand,.hero__headline,.hero__sub,.hero__actions,.reveal{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}.hero__frame{animation:none!important;opacity:0!important}.hero__frame:first-child,.hero__frame--solo{opacity:1!important}.hero__frame-backdrop{filter:none!important;transform:none!important}}.booking-app{--ci-ivory: #f4f5f0;--ci-taupe: #d7cfc4;--ci-umber: #524a40;--ci-rose: #c69d9b;--ci-olive: #424d34;--ci-slate: #5d6770;--ci-gold: #c4ae7a;--font-en: "Helvetica Now", Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;--font-th: "Mero Thai", "Helvetica Thai", "Noto Sans Thai", Lato, sans-serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--booking-max: 480px;min-height:100vh;min-height:100dvh;background:radial-gradient(120% 80% at 100% 0%,rgba(198,157,155,.18),transparent 55%),radial-gradient(90% 60% at 0% 100%,rgba(196,174,122,.16),transparent 50%),var(--ci-ivory);color:var(--ci-umber);font-family:var(--font-th);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}.booking-app *{box-sizing:border-box}.booking-app--liff{--booking-max: 100%;padding:0}.booking-app--liff .booking-shell{width:100%;max-width:100%;min-height:100dvh;padding-top:max(.35rem,env(safe-area-inset-top));padding-bottom:max(1.25rem,calc(.85rem + env(safe-area-inset-bottom)))}.booking-app--liff.booking-app--liff-tabs .booking-shell{padding-bottom:calc(4.25rem + env(safe-area-inset-bottom))}.booking-app--liff .booking-top{position:sticky;top:0;z-index:8;padding-top:.4rem;padding-bottom:.45rem;margin:0 -.15rem;background:linear-gradient(to bottom,var(--ci-ivory) 82%,color-mix(in srgb,var(--ci-ivory) 70%,transparent));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.booking-app--liff .booking-top__brand--static{pointer-events:none}.booking-app--liff .booking-title{font-size:1.28rem;letter-spacing:.01em}.booking-app--liff .booking-sub{margin-bottom:1rem}.booking-app--liff .booking-btn,.booking-app--liff .loyalty-strip__btn,.booking-app--liff .privilege-card__btn{min-height:2.85rem}.booking-app--liff .member-login-line .booking-btn--line{width:100%;min-height:3.15rem;font-size:1.02rem}.booking-app--liff .liff-phone-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;margin:.95rem 0 0;padding:.55rem;border:0;background:transparent;color:var(--ci-slate);font:inherit;font-size:.88rem;text-decoration:underline;text-underline-offset:.16em;cursor:pointer}.booking-app--liff .member-nav{position:fixed;left:0;right:0;bottom:0;z-index:12;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:.28rem .15rem calc(.28rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--ci-ivory) 94%,white);border-top:1px solid rgba(82,74,64,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.booking-app--liff .member-nav__btn{min-height:2.9rem;padding:.35rem .2rem;border:0;background:transparent;font-size:.72rem;letter-spacing:0}.booking-app--liff .member-nav__btn.is-active{background:color-mix(in srgb,var(--ci-gold) 22%,transparent);color:var(--ci-olive)}.booking-app--embed{min-height:0;max-height:none;overflow:visible;border-radius:12px;height:auto}.booking-app--embed .booking-shell{width:100%;max-width:480px;margin:0 auto;padding:.75rem 1rem 1.25rem}@media (max-height: 700px){.booking-app--embed .booking-shell{padding:.5rem .75rem 1rem}.booking-app--embed .booking-title{font-size:1.35rem;margin-bottom:.35rem}.booking-app--embed .booking-sub,.booking-app--embed .date-grid,.booking-app--embed .slot-grid{margin-bottom:.75rem}}@media (max-width: 480px){.booking-app--embed .booking-shell{padding:.5rem .65rem 1rem}.booking-app--embed .date-grid,.booking-app--embed .slot-grid:not(.slot-grid--status){grid-template-columns:repeat(2,1fr)}.booking-app--embed .booking-actions,.booking-app--embed .booking-actions--top{flex-direction:column}.booking-app--embed .booking-actions .booking-btn,.booking-app--embed .booking-actions--top .booking-btn{width:100%}.booking-app--embed .booking-actions .booking-btn--ghost{order:1}}.booking-app--embed .slot-grid--status{display:flex;flex-wrap:wrap;gap:.55rem}.booking-app--embed .slot-grid--status .chip{flex:1 1 calc(50% - .3rem);min-width:calc(50% - .3rem);font-size:.8rem;padding:.65rem .35rem}@media (min-width: 400px){.booking-app--embed .slot-grid--status .chip{flex:1 1 calc(33.333% - .4rem);min-width:calc(33.333% - .4rem)}}.booking-app--embed .booking-form .booking-actions{position:sticky;bottom:0;z-index:1;margin-top:1rem;margin-bottom:-.25rem;padding:.75rem 0 calc(.35rem + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,var(--ci-ivory) 65%,color-mix(in srgb,var(--ci-ivory) 88%,transparent) 85%,transparent)}.admin-booking-modal.ant-modal{max-width:calc(100vw - 16px);margin:0 auto;padding-bottom:0}.admin-booking-modal .ant-modal-content{max-height:min(92dvh,calc(100vh - 16px))}.admin-booking-modal .ant-modal-body{max-height:min(92dvh,calc(100vh - 16px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.admin-booking-modal .ant-modal-close{z-index:2;top:6px;inset-inline-end:6px}@media (min-width: 900px){.admin-booking-modal.ant-modal{width:min(1080px,calc(100vw - 48px))!important;max-width:min(1080px,calc(100vw - 48px))}.booking-app--embed .booking-shell{max-width:none;padding:1rem 1.5rem 1.35rem}.booking-app--embed .service-list{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.booking-app--embed .date-grid,.booking-app--embed .slot-grid:not(.slot-grid--status){grid-template-columns:repeat(4,1fr)}.admin-booking-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:.75rem 2rem;align-items:start}.admin-booking-split__pane .booking-title--form{margin-top:0}.admin-booking-split__pane .booking-card{margin-bottom:0}.booking-app--embed .slot-grid--status .chip{flex:1 1 calc(25% - .45rem);min-width:calc(25% - .45rem)}}@media (min-width: 1100px){.booking-app--embed .date-grid,.booking-app--embed .slot-grid:not(.slot-grid--status){grid-template-columns:repeat(5,1fr)}}.booking-shell{width:min(100%,var(--booking-max));margin:0 auto;padding:max(.35rem,env(safe-area-inset-top)) max(1.1rem,env(safe-area-inset-right)) max(2.5rem,calc(1.5rem + env(safe-area-inset-bottom))) max(1.1rem,env(safe-area-inset-left))}.booking-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;padding:1.15rem 0 .85rem;flex-wrap:wrap}.booking-top__left{display:flex;align-items:center;gap:.65rem;min-width:0;flex:1 1 auto}.booking-top__tools,.booking-top__actions{display:flex;align-items:center;gap:.4rem;min-width:0}.booking-top__clock{flex-shrink:0}.booking-top--with-clock{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand actions" "clock clock";gap:.5rem .65rem;align-items:center}.booking-top--with-clock .booking-top__left{grid-area:brand;flex:none;min-width:0}.booking-top--with-clock .booking-top__actions{grid-area:actions;justify-self:end;justify-content:flex-end}.booking-top--with-clock .booking-top__clock{grid-area:clock;justify-self:center;max-width:100%}.booking-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:.28rem;border:1px solid rgba(82,74,64,.18);background:#ffffff8c;color:var(--ci-umber);font-family:var(--font-en);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .65rem;min-height:2.15rem;cursor:pointer;flex-shrink:0;transition:border-color .25s var(--ease-out),color .25s var(--ease-out),background .25s var(--ease-out)}.booking-back:hover{border-color:var(--ci-gold);color:var(--ci-olive);background:#c4ae7a29}.booking-back__icon{font-size:.95rem;line-height:1;letter-spacing:0}.booking-back__label{line-height:1}.booking-top__brand{display:inline-flex;align-items:center;line-height:0;text-decoration:none;flex-shrink:0}.booking-top__brand img{display:block;height:clamp(1.2rem,3.5vw,1.45rem);width:auto}.booking-top__right{display:flex;align-items:center;gap:.45rem .55rem;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;min-width:0}.booking-top__user{display:inline-flex;align-items:center;gap:.55rem;font-size:.82rem;color:var(--ci-slate);max-width:100%;min-width:0;text-decoration:none;border-radius:999px;padding:.15rem .35rem .15rem .15rem;transition:color .25s var(--ease-out),background .25s var(--ease-out)}.booking-top__user:hover{color:var(--ci-olive);background:#c4ae7a29}.booking-top__user-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:9rem}.booking-top__avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;background:var(--ci-taupe);flex-shrink:0}.booking-top__member-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#c4ae7a38;color:var(--ci-olive);font-size:.72rem;flex-shrink:0}.booking-top__user.has-notify{position:relative}.booking-top__notify{position:absolute;top:0;right:0;width:9px;height:9px;border-radius:50%;background:#e05252;border:2px solid var(--ci-cream, #faf8f5);box-shadow:0 0 0 1px #e0525259;pointer-events:none}.booking-top__notify--inline{position:static;flex-shrink:0;border-color:#ffffffd9}.loyalty-strip--prompt{border:1px solid rgba(196,174,122,.45)}.lang-switch--booking{display:inline-flex;align-items:center;gap:.28rem;font-family:var(--font-en);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ci-slate);flex-shrink:0}.lang-switch--booking .lang-switch__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;padding:.2rem .1rem;margin:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;opacity:.55;transition:opacity .3s var(--ease-out),color .3s var(--ease-out)}.lang-switch--booking .lang-switch__btn:hover{opacity:.9;color:var(--ci-umber)}.lang-switch--booking .lang-switch__btn.is-active{opacity:1;color:var(--ci-olive);font-weight:600}.lang-switch--booking .lang-switch__sep{opacity:.35;-webkit-user-select:none;user-select:none}.booking-progress{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;margin-bottom:1.4rem}.booking-progress__step{height:3px;border-radius:999px;background:#524a401f;transition:background .35s var(--ease-out)}.booking-progress__step.is-active,.booking-progress__step.is-done{background:var(--ci-gold)}.booking-title{margin:0 0 .4rem;font-family:var(--font-en);font-size:clamp(1.35rem,4vw,1.65rem);font-weight:400;letter-spacing:.03em;line-height:1.25;color:var(--ci-umber)}.booking-title--form{margin-top:.15rem;font-size:clamp(1.15rem,3.2vw,1.35rem)}.booking-title--with-avatar{display:flex;align-items:center;gap:.75rem}.member-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--ci-mist, #ebe6df)}.booking-sub{margin:0 0 1.35rem;color:var(--ci-slate);font-size:.95rem;line-height:1.65}.booking-sub--tight{margin-bottom:1rem}.booking-sub--slots{margin-bottom:.75rem}.booking-sub--inline{grid-column:1 / -1;margin-bottom:0}.booking-hint{margin:0 0 .45rem;color:var(--ci-slate);font-family:var(--font-en);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.45}.booking-datetime-section{margin-bottom:1.15rem}.booking-datetime-section:last-child{margin-bottom:0}.booking-datetime-section--picker .admin-booking-date-picker{width:100%;max-width:280px}.booking-datetime-section--picker .admin-booking-date-picker .ant-picker{width:100%;min-height:44px;border-radius:10px}.booking-datetime-section--collapsed{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem}.booking-sub--selected-date{margin:0;font-weight:600}.booking-btn--compact{min-height:36px;padding:.35rem .85rem;font-size:.82rem}.booking-sub--pre{white-space:pre-wrap;line-height:1.7}.booking-link{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:.15em}.booking-link:hover{color:var(--ci-olive)}.service-list{display:flex;flex-direction:column;gap:.75rem}.service-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;text-align:left;border:1px solid rgba(82,74,64,.12);background:#ffffff8c;padding:1rem 1.05rem;cursor:pointer;transition:border-color .3s var(--ease-out),background .3s var(--ease-out),transform .3s var(--ease-out)}.service-card:hover{border-color:color-mix(in srgb,var(--ci-gold) 70%,transparent)}.service-card.is-selected{border-color:var(--ci-gold);background:#c4ae7a1f}.service-card__name{display:block;font-size:1.02rem;font-weight:600;margin-bottom:.2rem}.service-card__meta{display:block;font-size:.82rem;color:var(--ci-slate)}.service-card__desc{display:block;margin-top:.45rem;font-size:.86rem;line-height:1.45;color:var(--ci-umber);white-space:pre-line}.service-card--doctor{display:flex;align-items:flex-start;gap:.9rem;padding:.85rem 1rem}.doctor-card__media{flex-shrink:0}.doctor-card__photo{display:block;width:64px;height:64px;border-radius:50%;object-fit:cover;background:#c4ae7a40}.doctor-card__photo--placeholder{display:grid;place-items:center;font-size:1.25rem;font-weight:600;color:var(--ci-umber);background:linear-gradient(145deg,#c4ae7a73,#c69d9b59)}.doctor-card__body{min-width:0;flex:1}.doctor-chip{display:flex;align-items:center;gap:.65rem;margin-bottom:1rem}.doctor-chip__photo{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0;background:#c4ae7a40}.doctor-chip__photo--placeholder{display:grid;place-items:center;font-size:.95rem;font-weight:600;color:var(--ci-umber);background:linear-gradient(145deg,#c4ae7a73,#c69d9b59)}.doctor-chip__name{margin:0!important}.booking-card__doctor{display:flex;align-items:center;gap:.55rem}.date-range-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.85rem}.chip--range{flex:1 1 auto;min-height:2.25rem;padding:.45rem .65rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.booking-slots-section{scroll-margin-top:1rem}.date-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-bottom:0}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid rgba(82,74,64,.14);background:#ffffff8c;color:var(--ci-umber);min-height:2.75rem;padding:.7rem .45rem;font:inherit;font-size:.86rem;cursor:pointer;transition:background .25s var(--ease-out),border-color .25s var(--ease-out),color .25s var(--ease-out)}.chip:disabled{opacity:.35;cursor:not-allowed}.chip.is-selected{background:var(--ci-umber);border-color:var(--ci-umber);color:var(--ci-ivory)}.chip.chip--day-off{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:3.7rem;padding:.35rem .28rem;border-color:#b4530961;background:#fbbf2433}.chip.chip--day-off.is-selected{background:var(--ci-umber);border-color:var(--ci-umber);color:var(--ci-ivory)}.chip__time{display:block}.chip__badge{display:flex;flex-direction:column;align-items:center;gap:.08rem;max-width:100%;font-size:.58rem;font-weight:700;letter-spacing:.01em;line-height:1.2;text-transform:none;padding:.12rem .28rem .16rem;border-radius:.55rem;background:#9a341224;color:#9a3412;text-align:center}.chip__badge-label{text-transform:uppercase;letter-spacing:.04em}.chip__badge-name{font-weight:700;font-size:.62rem;line-height:1.2;overflow-wrap:anywhere;max-width:100%}.chip.chip--day-off.is-selected .chip__badge{background:#ffffff38;color:var(--ci-ivory)}.booking-dayoff-badge{display:inline-block;margin-left:.4rem;vertical-align:middle;font-size:.72rem;font-weight:700;letter-spacing:.01em;text-transform:none;padding:.12rem .45rem;border-radius:999px;background:#fbbf2447;color:#9a3412}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.booking-form{display:flex;flex-direction:column;gap:.9rem}.booking-field label{display:block;margin-bottom:.35rem;font-family:var(--font-en);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ci-slate)}.booking-field input,.booking-field textarea{width:100%;border:1px solid rgba(82,74,64,.18);background:#ffffffb3;color:var(--ci-umber);padding:.85rem .95rem;font:inherit;font-size:1rem;outline:none;transition:border-color .25s var(--ease-out)}.booking-field input:focus,.booking-field textarea:focus{border-color:var(--ci-gold)}.booking-field.is-invalid label{color:#9a4a47}.booking-field.is-invalid input,.booking-field.is-invalid textarea{border-color:#c46966;background:#c6696614;box-shadow:0 0 0 3px #c6696624}.booking-field.is-invalid input:focus,.booking-field.is-invalid textarea:focus{border-color:#a84f4c;box-shadow:0 0 0 3px #c6696638}.booking-field__error{margin:.45rem 0 0;font-family:var(--font-th);font-size:.8rem;line-height:1.45;font-weight:600;color:#9a4a47}@keyframes booking-form-shake{0%,to{transform:translate(0)}18%{transform:translate(-6px)}36%{transform:translate(6px)}54%{transform:translate(-4px)}72%{transform:translate(4px)}}.booking-form.is-shake{animation:booking-form-shake .42s var(--ease-out)}.booking-error--form{margin-top:0;margin-bottom:.15rem}.booking-consent.is-invalid{border-color:#c46966;background:#c669661a;box-shadow:0 0 0 3px #c669661f}.booking-consent__error{margin:.55rem 0 0}.booking-btn--primary.is-attention:not(:disabled){animation:booking-btn-attention .55s var(--ease-out)}@keyframes booking-btn-attention{0%,to{transform:scale(1)}35%{transform:scale(1.03)}70%{transform:scale(.98)}}.booking-summary{margin:0 0 1.2rem;padding:1rem 1.05rem;background:#d7cfc459;border-left:3px solid var(--ci-gold)}.booking-summary--left{text-align:left}.booking-summary p{margin:.25rem 0;font-size:.92rem;line-height:1.5}.booking-card--anchor{scroll-margin-top:1rem}.booking-card{position:relative;margin:0 0 1.5rem;padding:1.35rem 1.25rem 1.4rem;overflow:hidden;color:var(--ci-ivory);background:radial-gradient(ellipse 80% 70% at 100% 0%,rgba(198,157,155,.28),transparent 55%),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(196,174,122,.22),transparent 50%),linear-gradient(155deg,#2f3526 0%,var(--ci-olive) 48%,#3a342d 100%);isolation:isolate;animation:booking-card-rise .7s var(--ease-out) both}.booking-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--ci-gold),var(--ci-rose));z-index:1}.booking-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.booking-card__eyebrow{margin:0 0 .65rem;font-family:var(--font-en);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ci-gold)}.booking-card__value--mono{font-family:var(--font-en);letter-spacing:.08em}.booking-card__service{margin:0;font-family:var(--font-en);font-size:clamp(1.35rem,4vw,1.7rem);font-weight:400;letter-spacing:.02em;line-height:1.3;color:var(--ci-ivory)}.booking-card__duration{margin:.45rem 0 0;font-size:.82rem;color:color-mix(in srgb,var(--ci-ivory) 72%,var(--ci-taupe))}.booking-card__meta{display:grid;gap:.85rem;margin-top:1.25rem;padding-top:1.15rem;border-top:1px solid color-mix(in srgb,var(--ci-ivory) 18%,transparent)}.booking-card__row{display:grid;gap:.2rem}.booking-card__label{font-family:var(--font-en);font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--ci-gold) 85%,transparent)}.booking-card__value{font-size:1.02rem;line-height:1.45;color:var(--ci-ivory)}.booking-card__value--time{font-family:var(--font-en);font-size:clamp(1.35rem,4vw,1.65rem);font-weight:500;letter-spacing:.04em}.booking-card__range{margin-left:.15rem;font-size:.72em;font-weight:400;letter-spacing:.02em;color:color-mix(in srgb,var(--ci-ivory) 70%,var(--ci-taupe))}.booking-card--success{text-align:left;margin-top:.35rem}@media (min-width: 520px){.booking-card__meta{grid-template-columns:1fr 1fr;gap:1rem 1.25rem}.booking-card__row:nth-child(n+3){grid-column:1 / -1}}@keyframes booking-card-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.booking-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.booking-actions--anchor{scroll-margin-top:1rem;scroll-margin-bottom:1rem}.booking-actions--top{margin-top:0;margin-bottom:1.25rem}.booking-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;cursor:pointer;font-family:var(--font-en);font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;min-height:2.85rem;padding:.75rem 1.15rem;transition:opacity .25s var(--ease-out),transform .3s var(--ease-out),background .3s var(--ease-out),color .3s var(--ease-out),border-color .3s var(--ease-out)}.booking-btn:hover:not(:disabled){transform:translateY(-1px)}.booking-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.booking-btn--primary{flex:1;background:var(--ci-gold);color:var(--ci-olive)}.booking-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--ci-gold) 88%,white)}.booking-btn--ghost{background:transparent;color:var(--ci-umber);border-color:#524a4040}.booking-btn--ghost:hover:not(:disabled){border-color:var(--ci-gold);color:var(--ci-olive)}.booking-btn--line{flex:1;background:#06c755;color:#fff;letter-spacing:.08em}.booking-btn--line:hover:not(:disabled){background:#05b34c}.member-login-line{display:flex;flex-direction:column;gap:.45rem;margin:0 0 .35rem}.member-login-line .booking-btn--line{width:100%}.member-login-line__hint{margin:0;font-size:.82rem;line-height:1.45;color:var(--ci-slate);text-align:center}.member-login-divider{display:flex;align-items:center;gap:.85rem;margin:1.35rem 0 1.15rem;color:var(--ci-slate);font-size:.78rem;letter-spacing:.04em}.member-login-divider:before,.member-login-divider:after{content:"";flex:1;height:1px;background:#524a402e}.member-login-divider span{flex-shrink:0}.member-login-otp-hint{margin:-.35rem 0 .85rem}.member-login-resend{display:inline-block;margin-top:.55rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;cursor:pointer;font:inherit}.member-login-resend:disabled{opacity:.45;cursor:not-allowed}.member-login-help{margin:1.35rem 0 0;padding:.95rem 1.05rem;background:linear-gradient(135deg,#c4ae7a29,#d7cfc447);border:1px solid rgba(196,174,122,.32)}.member-login-help__title{margin:0 0 .35rem;font-family:var(--font-en);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ci-olive)}.member-login-help__body{margin:0 0 .55rem;font-size:.86rem;line-height:1.55;color:var(--ci-umber)}.member-login-help--friend .booking-actions{flex-direction:column}.member-login-help--friend .booking-btn{width:100%;text-align:center;text-decoration:none}.member-welcome{margin:0 0 1.1rem}.member-welcome__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.35rem}.member-welcome__actions .booking-btn{text-decoration:none;width:auto;min-width:10rem}.booking-success{text-align:center;padding:2rem .5rem}.booking-success__icon{width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;background:#c4ae7a40;color:var(--ci-olive);font-size:1.5rem}.booking-error{margin:.75rem 0 0;padding:.75rem .9rem;background:#c69d9b33;color:#7a3f3c;font-size:.88rem;line-height:1.5}.booking-mine{margin:0 0 1.5rem}.booking-mine--top{margin-bottom:1.6rem}.booking-mine--below-points{margin-top:.15rem;margin-bottom:1.35rem}.booking-mine__title{margin:0 0 .85rem;font-family:var(--font-en);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ci-olive)}.booking-mine__list{display:flex;flex-direction:column;gap:.65rem}.booking-mine__card{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem;padding:1rem 1.05rem;position:relative;overflow:hidden;color:var(--ci-ivory);background:radial-gradient(ellipse 70% 80% at 100% 0%,rgba(198,157,155,.22),transparent 55%),linear-gradient(145deg,#2f3526 0%,var(--ci-olive) 55%,#3a342d 100%)}.booking-mine__card--member{padding:1.05rem 1.05rem 1.1rem;color:var(--ci-umber);background:#ffffffc7;border:1px solid rgba(82,74,64,.1);box-shadow:0 10px 28px #524a400f}.booking-mine__card--member.booking-mine__card--next{border-color:color-mix(in srgb,var(--ci-gold) 55%,transparent)}.booking-mine__card--member .booking-mine__id{color:var(--ci-olive)}.booking-mine__card--member .booking-mine__service{font-family:var(--font-th);color:var(--ci-umber)}.booking-mine__card--member .booking-mine__doctor{margin:-.2rem 0 .4rem;font-size:.82rem;color:var(--ci-slate)}.booking-mine__card--member .booking-mine__date{color:var(--ci-slate)}.booking-mine__card--member .booking-mine__time{color:var(--ci-olive)}.booking-mine__card--member .booking-mine__time-range{color:var(--ci-slate)}.booking-mine__card--member .booking-mine__card-foot{border-top-color:#524a401a}.booking-mine__card--member .booking-mine__cancel{border-color:#524a4038;color:var(--ci-umber)}.booking-mine__card--member .booking-mine__cancel:hover:not(:disabled){border-color:var(--ci-rose);color:var(--ci-umber);background:#c69d9b29}.booking-mine__card--member .booking-mine__status{color:var(--ci-olive)}.booking-mine__card--member .booking-mine__status--pending{background:color-mix(in srgb,var(--ci-taupe) 55%,white);border-color:#524a4029;color:var(--ci-umber)}.booking-mine__card--member .booking-mine__status--cancelled,.booking-mine__card--member .booking-mine__status--no_show{background:#c69d9b38;border-color:#c69d9b73;color:#7a3f3c}.booking-mine__card--member .booking-mine__status--completed{background:color-mix(in srgb,var(--ci-ivory) 70%,white);border-color:#524a401f;color:var(--ci-slate)}.booking-mine__card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--ci-gold),var(--ci-rose))}.booking-mine__card-main{min-width:0;flex:1;padding-left:.35rem}.booking-mine__service{margin:0 0 .45rem;font-family:var(--font-en);font-size:1.02rem;font-weight:400;letter-spacing:.02em;line-height:1.35}.booking-mine__id{margin:0 0 .35rem;font-family:var(--font-en);font-size:.78rem;font-weight:500;letter-spacing:.1em;color:var(--ci-gold)}.booking-mine__when{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem}.booking-mine__date{font-size:.88rem;line-height:1.4;color:color-mix(in srgb,var(--ci-ivory) 82%,var(--ci-taupe))}.booking-mine__time{font-family:var(--font-en);font-size:1.15rem;font-weight:500;letter-spacing:.04em;color:var(--ci-gold)}.booking-mine__time-range{margin-left:.1rem;font-size:.72em;font-weight:400;letter-spacing:.02em;color:color-mix(in srgb,var(--ci-ivory) 70%,var(--ci-taupe))}.booking-mine__card-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-top:.85rem;padding-top:.85rem;border-top:1px solid color-mix(in srgb,var(--ci-ivory) 16%,transparent)}.booking-mine__cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in srgb,var(--ci-ivory) 35%,transparent);background:transparent;color:color-mix(in srgb,var(--ci-ivory) 90%,var(--ci-taupe));font-family:var(--font-en);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .7rem;min-height:2rem;cursor:pointer;transition:border-color .25s var(--ease-out),color .25s var(--ease-out),background .25s var(--ease-out)}.booking-mine__cancel:hover:not(:disabled){border-color:var(--ci-rose);color:var(--ci-ivory);background:#c69d9b2e}.booking-mine__cancel:disabled{opacity:.45;cursor:not-allowed}.booking-mine__item{padding:.85rem 0;border-bottom:1px solid rgba(82,74,64,.08);font-size:.88rem;line-height:1.45}.booking-mine__status{flex-shrink:0;display:inline-flex;align-items:center;margin-top:.1rem;padding:.35rem .55rem;font-family:var(--font-en);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ci-olive);background:color-mix(in srgb,var(--ci-gold) 88%,white);border:1px solid color-mix(in srgb,var(--ci-gold) 70%,transparent)}.booking-mine__status--confirmed{background:color-mix(in srgb,var(--ci-gold) 88%,white);color:var(--ci-olive)}.booking-mine__status--pending{background:color-mix(in srgb,var(--ci-ivory) 18%,transparent);border-color:color-mix(in srgb,var(--ci-ivory) 35%,transparent);color:var(--ci-ivory)}.booking-mine__status--cancelled,.booking-mine__status--no_show{background:#c69d9b40;border-color:#c69d9b73;color:#f0dede}.booking-mine__status--completed{background:color-mix(in srgb,var(--ci-ivory) 14%,transparent);border-color:color-mix(in srgb,var(--ci-taupe) 40%,transparent);color:color-mix(in srgb,var(--ci-ivory) 85%,var(--ci-taupe))}.booking-loading{display:grid;place-items:center;min-height:50vh;color:var(--ci-slate);font-size:.95rem}.booking-spinner{display:inline-flex;flex-direction:column;align-items:center;gap:.9rem;color:var(--ci-slate);text-align:center}.booking-spinner__ring{width:2.35rem;height:2.35rem;border-radius:50%;border:2px solid color-mix(in srgb,var(--ci-taupe) 70%,transparent);border-top-color:var(--ci-gold);border-right-color:var(--ci-olive);animation:booking-spin .85s linear infinite}.booking-spinner__label{font-family:var(--font-th);font-size:.92rem;line-height:1.45;letter-spacing:.02em;max-width:16rem}.booking-spinner--inline{flex-direction:row;gap:.55rem}.booking-spinner--inline .booking-spinner__ring{width:1.1rem;height:1.1rem;border-width:2px}.booking-spinner--inline .booking-spinner__label{font-family:var(--font-en);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.booking-spinner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:1.5rem;background:color-mix(in srgb,var(--ci-ivory) 72%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:wait}.booking-btn__spinner{width:1rem;height:1rem;border-radius:50%;border:2px solid color-mix(in srgb,currentColor 28%,transparent);border-top-color:currentColor;animation:booking-spin .75s linear infinite;flex-shrink:0}.booking-btn.is-loading{gap:.55rem}@keyframes booking-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.booking-spinner__ring,.booking-btn__spinner{animation:none;border-top-color:var(--ci-gold);opacity:.85}}.loyalty-strip{margin:0 0 1.15rem;padding:.95rem 1.05rem;background:linear-gradient(135deg,#c4ae7a38,#d7cfc459);border:1px solid rgba(196,174,122,.35)}.loyalty-strip--spaced{margin-bottom:1.25rem}.loyalty-strip__main{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.loyalty-strip__tier{font-family:var(--font-en);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ci-olive);font-weight:600}.loyalty-strip__points{font-size:1.05rem;font-weight:600;color:var(--ci-umber)}.loyalty-strip__actions{display:flex;gap:.5rem;flex-wrap:wrap}.loyalty-strip__actions--tabs{margin-bottom:1.25rem}.loyalty-strip__hint{margin:0 0 .65rem;font-size:.82rem;line-height:1.5;color:var(--ci-slate)}.loyalty-strip__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(82,74,64,.2);background:#ffffff8c;color:var(--ci-umber);font-family:var(--font-en);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.45rem .75rem;min-height:2.15rem;cursor:pointer;text-decoration:none;transition:border-color .25s var(--ease-out),background .25s var(--ease-out),color .25s var(--ease-out)}.loyalty-strip__btn:hover{border-color:color-mix(in srgb,var(--ci-gold) 70%,transparent)}.loyalty-strip__btn.is-active{border-color:var(--ci-gold);background:#c4ae7a47;color:var(--ci-olive);font-weight:600}.privilege-card{position:relative;isolation:isolate;overflow:hidden;margin:0 0 1.05rem;padding:1.15rem 1.15rem 1.1rem;color:var(--ci-ivory);background:radial-gradient(ellipse 80% 70% at 100% 0%,rgba(198,157,155,.28),transparent 55%),radial-gradient(ellipse 60% 50% at 0% 100%,rgba(196,174,122,.22),transparent 50%),linear-gradient(155deg,#2f3526 0%,var(--ci-olive) 48%,#3a342d 100%)}.privilege-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--ci-gold),var(--ci-rose));z-index:1}.privilege-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.privilege-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding-left:.35rem}.privilege-card__brand{margin:0;font-family:var(--font-en);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ci-gold);font-weight:600}.privilege-card__tagline{margin:.28rem 0 0;font-family:var(--font-en);font-size:.78rem;font-style:italic;color:color-mix(in srgb,var(--ci-ivory) 72%,var(--ci-taupe))}.privilege-card__tier{flex-shrink:0;display:inline-flex;align-items:center;padding:.28rem .55rem;font-family:var(--font-en);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ci-olive);background:color-mix(in srgb,var(--ci-gold) 88%,white)}.privilege-card__identity{display:flex;align-items:center;gap:.75rem;margin:1rem 0 0;padding-left:.35rem}.privilege-card__avatar,.privilege-card__avatar--fallback{width:48px;height:48px;border-radius:50%;flex-shrink:0;object-fit:cover;border:1px solid color-mix(in srgb,var(--ci-gold) 45%,transparent);background:color-mix(in srgb,var(--ci-umber) 45%,transparent)}.privilege-card__avatar--fallback{display:grid;place-items:center;font-family:var(--font-en);font-size:.78rem;font-weight:600;letter-spacing:.06em;color:var(--ci-ivory)}.privilege-card__hello{margin:0;font-size:1.05rem;font-weight:500;letter-spacing:.01em;line-height:1.3}.privilege-card__phone{margin:.15rem 0 0;font-family:var(--font-en);font-size:.78rem;letter-spacing:.04em;color:color-mix(in srgb,var(--ci-ivory) 68%,var(--ci-taupe))}.privilege-card__wallets{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.15rem 0 0;padding:.85rem .35rem 0;border-top:1px solid color-mix(in srgb,var(--ci-ivory) 14%,transparent)}.privilege-card__wallet{min-width:0}.privilege-card__wallet-value{display:block;font-family:var(--font-en);font-size:1.45rem;font-weight:600;letter-spacing:.02em;line-height:1.1;color:var(--ci-ivory)}.privilege-card__wallet-label{display:block;margin-top:.28rem;font-family:var(--font-en);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ci-gold)}.privilege-card__progress{margin:.95rem 0 0;padding-left:.35rem}.privilege-card__progress-track{display:block;height:3px;background:color-mix(in srgb,var(--ci-ivory) 16%,transparent);overflow:hidden}.privilege-card__progress-fill{display:block;height:100%;background:linear-gradient(90deg,var(--ci-gold),var(--ci-rose))}.privilege-card__next{margin:.55rem 0 0;font-size:.8rem;line-height:1.45;color:color-mix(in srgb,var(--ci-ivory) 82%,var(--ci-taupe))}.privilege-card__expiry{margin:.2rem 0 0;font-size:.75rem;color:color-mix(in srgb,var(--ci-gold) 80%,var(--ci-ivory))}.privilege-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0 0;padding-left:.35rem}.privilege-card__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:2.55rem;padding:.45rem .55rem;border:1px solid color-mix(in srgb,var(--ci-gold) 50%,transparent);background:color-mix(in srgb,var(--ci-ivory) 8%,transparent);color:var(--ci-ivory);font-family:var(--font-th);font-size:.8rem;letter-spacing:.02em;cursor:pointer;text-align:center;transition:border-color .25s var(--ease-out),background .25s var(--ease-out),color .25s var(--ease-out)}.privilege-card__btn:hover{border-color:var(--ci-gold);background:color-mix(in srgb,var(--ci-gold) 18%,transparent)}.privilege-card__btn.is-active{border-color:var(--ci-gold);background:var(--ci-gold);color:var(--ci-olive);font-weight:600}.privilege-card__meta{margin:.7rem 0 0;padding-left:.35rem;font-size:.75rem;color:color-mix(in srgb,var(--ci-ivory) 62%,var(--ci-taupe));line-height:1.45}.member-header__logout{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ci-slate);font-family:var(--font-th);font-size:.78rem;padding:.35rem .15rem;cursor:pointer;text-decoration:underline;text-underline-offset:.16em}.member-header__logout:hover{color:var(--ci-umber)}.booking-app--liff .member-header__logout{min-height:2.7rem;padding:.4rem .55rem}.member-home-cta{margin:0 0 .75rem}.member-home-cta .booking-btn{width:100%;flex:none}.member-nav{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:0 0 1.1rem}.member-nav__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:2.45rem;padding:.4rem .55rem;border:1px solid rgba(82,74,64,.16);background:#ffffff9e;color:var(--ci-umber);font-family:var(--font-th);font-size:.82rem;letter-spacing:.01em;text-decoration:none;cursor:pointer;text-align:center;transition:border-color .25s var(--ease-out),background .25s var(--ease-out)}.member-nav__btn:hover{border-color:color-mix(in srgb,var(--ci-gold) 70%,transparent)}.member-nav__btn.is-active{border-color:var(--ci-gold);background:color-mix(in srgb,var(--ci-gold) 22%,white);color:var(--ci-olive);font-weight:600}.member-panel__title{margin:0 0 .75rem;font-family:var(--font-en);font-size:.7rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ci-olive)}.member-empty{padding:1.35rem 1rem;text-align:center;background:#ffffff8c;border:1px solid rgba(82,74,64,.1)}.member-empty__title{margin:0;font-size:.95rem;font-weight:600;color:var(--ci-umber)}.member-empty__body{margin:.35rem 0 0;font-size:.84rem;color:var(--ci-slate);line-height:1.5}.privilege-guide{margin:0 0 1rem;background:#ffffff9e;border:1px solid rgba(82,74,64,.12)}.privilege-guide__summary{cursor:pointer;list-style:none;padding:.85rem 1rem;font-family:var(--font-en);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ci-olive);font-weight:600}.privilege-guide__summary::-webkit-details-marker{display:none}.privilege-guide[open] .privilege-guide__summary{border-bottom:1px solid rgba(82,74,64,.1)}.privilege-guide__body{padding:.85rem 1rem 1.05rem}.privilege-guide__intro{margin:0 0 .85rem;font-size:.88rem;color:var(--ci-slate);line-height:1.5}.privilege-guide__section{margin:0 0 .9rem}.privilege-guide__section:last-child{margin-bottom:0}.privilege-guide__heading{margin:0 0 .3rem;font-size:.88rem;font-weight:600;color:var(--ci-umber)}.privilege-guide__text{margin:0;font-size:.82rem;line-height:1.55;color:var(--ci-slate);white-space:pre-line}.privilege-guide-link{display:inline-block;margin:-.25rem 0 .95rem;font-size:.78rem;color:var(--ci-olive);text-decoration:underline;text-underline-offset:.16em}.privilege-guide-link:hover{color:var(--ci-umber)}.privilege-card--compact{margin-bottom:.95rem;padding:.95rem 1rem .9rem}.privilege-card--compact .privilege-card__wallets{margin-top:.8rem;padding-top:.7rem}.privilege-card--compact .privilege-card__wallet-value{font-size:1.18rem}.privilege-card__actions--booking{grid-template-columns:1fr 1fr}.privilege-card__actions--booking .privilege-card__btn:first-child{grid-column:1 / -1}a.privilege-card__btn{text-decoration:none}.booking-app--liff .privilege-card__wallet-value{font-size:1.28rem}.booking-app--liff .member-nav__btn,.booking-app--liff .privilege-card__btn{min-height:2.7rem}.privilege-history__delta--in{color:#3f6212;font-weight:600}.privilege-history__delta--out{color:#9f1239;font-weight:600}.loyalty-panel{margin:0 0 1.25rem;padding:1rem 1.05rem;background:#ffffff8c;border:1px solid rgba(82,74,64,.12)}.loyalty-panel__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.loyalty-panel__title{margin:0;font-family:var(--font-en);font-size:.95rem;font-weight:500;letter-spacing:.04em}.loyalty-panel__close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ci-slate);font:inherit;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:.12em}.loyalty-list{display:flex;flex-direction:column;gap:.55rem}.loyalty-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.9rem .95rem;background:#ffffffb8;border:1px solid rgba(82,74,64,.1)}.loyalty-item:last-child{border-color:#524a401a}.member-form-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.35rem}.loyalty-item__name{font-size:.92rem;font-weight:600}.loyalty-item__meta{margin-top:.2rem;font-size:.78rem;color:var(--ci-slate);line-height:1.45}.loyalty-item__desc{margin-top:.25rem;font-size:.78rem;color:var(--ci-umber);opacity:.85}.loyalty-item__btn{flex:0 0 auto;padding:.55rem .9rem;font-size:.72rem;min-height:2.35rem}.booking-field__row{display:flex;gap:.5rem;align-items:stretch}.booking-field__row input{flex:1;min-width:0}.booking-field__row .booking-btn{flex:0 0 auto;padding:.75rem .95rem;letter-spacing:.1em}.booking-consent{margin:.15rem 0 .1rem;padding:.85rem .95rem;border:1px solid rgba(82,74,64,.14);background:#ffffff8c}.booking-consent__heading{margin:0 0 .55rem;font-family:var(--font-en);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ci-slate)}.booking-consent__hint{margin:0 0 .45rem;font-family:var(--font-th);font-size:.8rem;line-height:1.45;color:var(--ci-olive)}.booking-consent__progress{margin:0 0 .75rem;font-family:var(--font-en);font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ci-slate)}.booking-consent__docs{list-style:none;margin:0 0 .85rem;padding:0;display:grid;gap:.45rem}.booking-consent__doc{display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.55rem .65rem;border:1px solid rgba(82,74,64,.12);border-radius:.45rem;background:#ffffffb8}.booking-consent__doc.is-read{border-color:color-mix(in srgb,var(--ci-olive) 35%,transparent);background:color-mix(in srgb,var(--ci-olive) 6%,white)}.booking-consent__doc-label{display:flex;align-items:center;gap:.45rem;font-family:var(--font-th);font-size:.84rem;line-height:1.35;color:var(--ci-umber)}.booking-consent__doc-check{flex:0 0 auto;width:1.1rem;height:1.1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--ci-olive);color:#fff;font-size:.68rem;font-weight:700}.booking-consent__doc-dot{flex:0 0 auto;width:.55rem;height:.55rem;border-radius:999px;background:color-mix(in srgb,var(--ci-slate) 55%,transparent)}.booking-consent__doc-btn{flex:0 0 auto;padding:.35rem .65rem;border:1px solid rgba(82,74,64,.18);border-radius:999px;background:#fff;font-family:var(--font-th);font-size:.76rem;font-weight:600;color:var(--ci-umber);cursor:pointer;transition:background .2s var(--ease-out),border-color .2s var(--ease-out)}.booking-consent__doc-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--ci-olive) 45%,transparent);background:color-mix(in srgb,var(--ci-olive) 8%,white)}.booking-consent__doc-btn:disabled{opacity:.55;cursor:not-allowed}.booking-consent__label{display:flex;align-items:flex-start;gap:.65rem;cursor:pointer;margin-top:.15rem;padding-top:.75rem;border-top:1px solid rgba(82,74,64,.1)}.booking-consent__label.is-disabled{cursor:not-allowed}.booking-consent__input{flex:0 0 auto;width:1.05rem;height:1.05rem;margin-top:.15rem;accent-color:var(--ci-umber);cursor:pointer}.booking-consent__input:disabled{cursor:not-allowed;opacity:.55}.booking-consent__text{font-family:var(--font-th);font-size:.86rem;line-height:1.55;color:color-mix(in srgb,var(--ci-umber) 92%,var(--ci-slate))}.booking-consent__doc-name{font-weight:600;color:var(--ci-umber)}.consent-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#18161385;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.consent-modal__panel{display:flex;flex-direction:column;width:min(100%,42rem);max-height:min(92vh,44rem);border-radius:1rem 1rem 0 0;background:#fff;box-shadow:0 -8px 32px #1816132e}.consent-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1rem .75rem;border-bottom:1px solid rgba(82,74,64,.1)}.consent-modal__header-text{min-width:0}.consent-modal__eyebrow{margin:0 0 .35rem;font-family:var(--font-en);font-size:.68rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--ci-slate)}.consent-modal__title{margin:0;font-family:var(--font-th);font-size:1.15rem;font-weight:600;line-height:1.35;color:var(--ci-umber)}.consent-modal__updated{margin:.35rem 0 0;font-family:var(--font-th);font-size:.78rem;color:var(--ci-slate)}.consent-modal__close{flex:0 0 auto;width:2rem;height:2rem;border:none;border-radius:999px;background:#524a4014;color:var(--ci-umber);font-size:1.35rem;line-height:1;cursor:pointer}.consent-modal__body{flex:1 1 auto;overflow:auto;padding:1rem 1rem .5rem}.consent-modal__section+.consent-modal__section{margin-top:1rem}.consent-modal__heading{margin:0 0 .45rem;font-family:var(--font-th);font-size:.98rem;font-weight:600;color:var(--ci-umber)}.consent-modal__p{margin:0 0 .7rem;font-family:var(--font-th);font-size:.9rem;line-height:1.7;color:color-mix(in srgb,var(--ci-umber) 92%,var(--ci-slate))}.consent-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 1rem calc(.85rem + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(82,74,64,.1);background:#fffffff5}.consent-modal__full-link{font-family:var(--font-th);font-size:.78rem;color:var(--ci-slate);text-decoration:underline;text-underline-offset:.2em}.consent-modal__footer .booking-btn{flex:0 0 auto;min-width:8.5rem}@media (min-width: 720px){.consent-modal{align-items:center;padding:1rem}.consent-modal__panel{border-radius:1rem;max-height:min(88vh,44rem)}}.booking-consent-gate{margin:1.25rem 0 2rem;padding:1.25rem 1.1rem 1.35rem;border:1px solid rgba(82,74,64,.16);background:#ffffffb8}.booking-consent-gate__title{margin:0 0 .55rem;font-family:var(--font-th);font-size:1.35rem;font-weight:600;color:var(--ci-umber)}.booking-consent-gate__body{margin:0 0 1rem;font-family:var(--font-th);font-size:.92rem;line-height:1.55;color:color-mix(in srgb,var(--ci-umber) 88%,var(--ci-slate))}.booking-field__hint{margin:.4rem 0 0;font-size:.78rem;line-height:1.45;color:var(--ci-olive);white-space:pre-line}.booking-field__hint--info{color:color-mix(in srgb,var(--ci-gold) 72%,var(--ci-umber))}.booking-field__hint--warn{color:color-mix(in srgb,#a65c00 88%,var(--ci-umber))}.booking-lookup-wrap{position:relative}.booking-lookup-wrap__icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--ci-slate);pointer-events:none}.booking-lookup-wrap input{padding-left:2.35rem}.booking-lookup{list-style:none;margin:.45rem 0 0;padding:.25rem;max-height:220px;overflow:auto;border:1px solid rgba(82,74,64,.18);background:#ffffffeb}.booking-lookup__hit{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%;text-align:left;border:0;background:transparent;padding:.7rem .8rem;color:var(--ci-umber);cursor:pointer}.booking-lookup__hit:hover,.booking-lookup__hit:focus-visible{background:color-mix(in srgb,var(--ci-gold) 16%,#fff)}.booking-lookup__name{font-size:.95rem;line-height:1.4}.booking-lookup__sources{display:flex;flex-wrap:wrap;gap:.2rem}.booking-picked{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.85rem .95rem;border:1px solid rgba(82,74,64,.18);background:#ffffffb3}.booking-picked__body{min-width:0}.booking-picked__meta{margin-top:.2rem;font-size:.82rem;color:var(--ci-slate)}.booking-picked__tags{margin-top:.45rem;display:flex;flex-wrap:wrap;gap:.2rem}.booking-app .clinic-footer{margin-top:2.5rem}@media (max-width: 719px){.booking-app:not(.booking-app--embed) .booking-back__label{display:none}.booking-app:not(.booking-app--embed) .booking-back{padding-inline:.55rem;min-width:2.15rem;justify-content:center}.booking-app:not(.booking-app--embed) .booking-top__brand img{height:1.15rem}.booking-app:not(.booking-app--embed) .booking-top__user-label{display:none}.booking-app:not(.booking-app--embed) .booking-top__user{padding:.1rem}.booking-app:not(.booking-app--embed) .booking-top__clock.live-clock--md{font-size:.92rem;padding:.32rem .65rem}.booking-app:not(.booking-app--embed) .booking-top__clock .live-clock__date,.booking-app:not(.booking-app--embed) .booking-top__clock .live-clock__sep{display:none}}@media (max-width: 380px){.booking-top__user-label{max-width:5.5rem}.booking-app:not(.booking-app--embed) .booking-top__clock .live-clock__tz{font-size:.72em}.date-grid,.slot-grid{grid-template-columns:repeat(2,1fr)}.booking-actions{flex-direction:column}.booking-btn--ghost{order:1}.booking-field__row{flex-direction:column}}@media (min-width: 720px){.booking-app:not(.booking-app--embed):not(.booking-app--liff){--booking-max: 640px;padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,4vw,2rem)}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-shell{background:color-mix(in srgb,var(--ci-ivory) 88%,white);border:1px solid color-mix(in srgb,var(--ci-taupe) 75%,var(--ci-umber));padding:1.35rem 1.75rem 2.25rem;box-shadow:0 18px 48px #524a400f}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-top{align-items:center;flex-wrap:nowrap;padding-top:.35rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-top--with-clock{gap:.55rem .75rem;padding-bottom:.95rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-top--with-clock .booking-top__clock.live-clock--md{font-size:.95rem;padding:.36rem .75rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-top--with-clock .booking-top__user-label{max-width:9rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-top__brand img{height:1.45rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .date-grid{grid-template-columns:repeat(4,1fr)}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .slot-grid:not(.slot-grid--status){grid-template-columns:repeat(4,1fr)}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-title{font-size:1.7rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-card{padding:1.6rem 1.6rem 1.65rem;margin-bottom:1.75rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-card__service{font-size:1.85rem}}@media (min-width: 860px){.booking-app:not(.booking-app--embed):not(.booking-app--liff){--booking-max: 720px}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .booking-shell{padding:1.5rem 2rem 2.5rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .service-list{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .date-grid{grid-template-columns:repeat(5,1fr)}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .slot-grid:not(.slot-grid--status){grid-template-columns:repeat(5,1fr)}.booking-app:not(.booking-app--embed):not(.booking-app--liff) .loyalty-item{padding:.9rem 0}}@media (min-width: 481px) and (max-width: 899px){.booking-app--embed .date-grid,.booking-app--embed .slot-grid:not(.slot-grid--status){grid-template-columns:repeat(3,1fr)}}@media (prefers-reduced-motion: reduce){.booking-btn,.service-card,.chip,.lang-switch--booking .lang-switch__btn,.loyalty-strip__btn,.booking-progress__step,.booking-card{transition:none;animation:none}.booking-btn:hover:not(:disabled){transform:none}}.booking-agent{margin:.15rem 0 1.1rem;padding:.95rem 1rem .9rem;background:#ffffff9e;border:1px solid rgba(82,74,64,.14);border-radius:0}.booking-agent__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.booking-agent__brand{margin:0;font-family:var(--font-en);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ci-olive)}.booking-agent__lead{margin:.28rem 0 0;font-size:.82rem;line-height:1.45;color:var(--ci-slate)}.booking-agent__badge{flex-shrink:0;padding:.18rem .5rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ci-umber);border:1px solid rgba(198,157,155,.55);background:#c69d9b29}.booking-agent__thread{max-height:14rem;overflow-y:auto;display:flex;flex-direction:column;gap:.45rem;padding:.15rem 0 .55rem}.booking-agent__bubble{max-width:92%;padding:.55rem .7rem;font-size:.86rem;line-height:1.45;white-space:pre-wrap}.booking-agent__bubble--assistant{align-self:flex-start;background:#424d3414;color:var(--ci-umber)}.booking-agent__bubble--user{align-self:flex-end;background:#c4ae7a47;color:var(--ci-umber)}.booking-agent__typing{font-size:.78rem;color:var(--ci-slate)}.booking-agent__error{margin:.2rem 0 .45rem}.booking-agent__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.15rem 0 .65rem}.booking-agent__chip{display:inline-flex;align-items:center;justify-content:center;min-height:2.15rem;padding:.25rem .7rem;border:1px solid rgba(82,74,64,.18);background:#fff;color:var(--ci-umber);font:inherit;font-size:.8rem;text-decoration:none;cursor:pointer}.booking-agent__chip:hover:not(:disabled){border-color:var(--ci-rose)}.booking-agent__chip:disabled{opacity:.55;cursor:not-allowed}.booking-agent__chip--login{background:var(--ci-olive);color:#f4f5f0;border-color:var(--ci-olive)}.booking-agent__composer{display:flex;gap:.45rem}.booking-agent__input{flex:1;min-width:0;min-height:2.5rem;padding:.45rem .7rem;border:1px solid rgba(82,74,64,.18);background:#fff;font:inherit;color:var(--ci-umber)}.booking-agent__send{flex-shrink:0}.booking-app--liff .booking-agent__chip,.booking-app--liff .booking-agent__send{min-height:2.7rem}.booking-agent-dock{position:fixed;right:1rem;bottom:1.15rem;z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:.55rem;max-width:min(22rem,calc(100vw - 1.5rem))}.booking-agent-dock__panel{width:min(22rem,calc(100vw - 1.5rem));max-height:min(70vh,32rem);overflow:auto;box-shadow:0 12px 40px #342e252e}.booking-agent-dock .booking-agent{margin:0;background:#fffffff0}.booking-agent-fab{min-height:2.7rem;padding:.45rem .95rem;border:1px solid rgba(82,74,64,.18);background:var(--ci-olive);color:#fff;font:inherit;font-size:.82rem;letter-spacing:.04em;cursor:pointer}.booking-agent-fab:hover{filter:brightness(1.05)}.booking-app--liff .booking-agent-dock{bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.legal-page{--booking-max: 42rem}.legal-page__shell{max-width:42rem}.legal-doc{margin-top:.5rem;padding-bottom:.5rem}.legal-doc__eyebrow{margin:0 0 .55rem;font-family:var(--font-en);font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--ci-slate) 80%,transparent)}.legal-doc__title{margin:0 0 .45rem;font-family:var(--font-th);font-size:clamp(1.45rem,4.5vw,1.85rem);font-weight:600;line-height:1.25;letter-spacing:-.01em;color:var(--ci-umber)}.legal-doc__updated{margin:0 0 1.25rem;font-family:var(--font-th);font-size:.82rem;color:var(--ci-slate)}.legal-doc__switch{display:flex;flex-wrap:wrap;gap:.45rem .85rem;margin:0 0 1.75rem;padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,var(--ci-taupe) 85%,var(--ci-umber))}.legal-doc__switch-link{font-family:var(--font-th);font-size:.82rem;line-height:1.4;color:var(--ci-slate);text-decoration:none;transition:color .3s var(--ease-out)}.legal-doc__switch-link:hover{color:var(--ci-umber)}.legal-doc__switch-link.is-active{color:var(--ci-umber);font-weight:600;text-decoration:underline;text-underline-offset:.28em;text-decoration-color:color-mix(in srgb,var(--ci-gold) 80%,transparent)}.legal-doc__section+.legal-doc__section{margin-top:1.35rem}.legal-doc__heading{margin:0 0 .55rem;font-family:var(--font-th);font-size:1.02rem;font-weight:600;line-height:1.4;color:var(--ci-umber)}.legal-doc__p{margin:0 0 .75rem;font-family:var(--font-th);font-size:clamp(.92rem,2.6vw,.98rem);line-height:1.75;color:color-mix(in srgb,var(--ci-umber) 92%,var(--ci-slate))}.legal-doc__p:last-child{margin-bottom:0}@media (min-width: 720px){.legal-doc{margin-top:.75rem}}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2) format("woff2"),url(/assets/public-sans-vietnamese-400-normal-BO1meqcx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2) format("woff2"),url(/assets/public-sans-latin-ext-400-normal-B02wwOdZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2) format("woff2"),url(/assets/public-sans-vietnamese-600-normal-CcnAzmUX.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2) format("woff2"),url(/assets/public-sans-latin-ext-600-normal-DfkbVac2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-vietnamese-700-normal-D97ShjGS.woff2) format("woff2"),url(/assets/public-sans-vietnamese-700-normal-Dq5VrXjD.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-ext-700-normal-CgolUQuG.woff2) format("woff2"),url(/assets/public-sans-latin-ext-700-normal-jWHjnMgZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2) format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.error-status{margin:.85rem 0 0;font-size:clamp(.95rem,2.4vw,1.15rem);line-height:1.65;letter-spacing:.04em;color:#f4f5f0e0;min-height:1.4em;max-width:34ch;text-align:center}.error-status.is-ready{color:var(--ci-ivory)}.error-status__dot{display:inline-block;width:.55rem;height:.55rem;margin-right:.55rem;border-radius:50%;background:#d7cfc48c;vertical-align:.05em;animation:error-status-pulse 1.6s cubic-bezier(.22,1,.36,1) infinite}.error-status.is-ready .error-status__dot{background:#06c755;animation:none}@keyframes error-status-pulse{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.error-status__dot{animation:none}}
