/* Maha Spa — styles mirroring the original MUI (Material UI) implementation.
   MUI units: spacing = 8px, shape.borderRadius = 4px, breakpoints xs<600 sm600 md900 lg1200 xl1536. */
@font-face{font-family:BeautiqueDisplayBold;src:url(/static/fonts/BeautiqueDisplay-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}
:root{--primary:#7C3821;--t2:#141414;--t4:#3A3A3C;--bf:BeautiqueDisplayBold,"Gilda Display",serif;--ease:cubic-bezier(.4,0,.2,1)}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{margin:0;font-family:Montserrat,sans-serif;color:#000;font-size:16px;line-height:normal;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4,h5,h6,p{margin:0;font-weight:400}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font-family:inherit;cursor:pointer;background:none;border:0;padding:0;color:inherit}ul{margin:0;padding:0;list-style:none}
[hidden]{display:none!important}
.ico{width:1em;height:1em;fill:currentColor;font-size:24px;flex:none;display:inline-block}
.app-bg{background:url(/static/bg-desktop.webp) center/cover fixed;min-height:100vh}
.page-wrap{margin-top:90px}
.wrap-lg{max-width:1200px;margin:0 auto;width:100%;padding:0 16px}
.center-b{display:flex;justify-content:center;text-align:center}
.ta-r{text-align:right}.justify{text-align:justify}.pre-line{white-space:pre-line;word-break:break-word}
.card{background:#fff;color:rgba(0,0,0,.87);overflow:hidden;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}
.paper{background:#fff;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}
.eyebrow,.ttl,.h1,h5,.sd-title,.rel-h{font-family:var(--bf);font-weight:700;color:var(--primary)}
.eyebrow{font-size:12px;line-height:1.6}.ttl{font-size:16px}
.empty{text-align:center;padding-top:40px}
.body{color:var(--t2);line-height:1.6;font-size:14px}
.spinner-wrap{display:flex;justify-content:center;align-items:center;min-height:50vh}
.spinner{width:40px;height:40px;border-radius:50%;border:3.6px solid var(--primary);border-right-color:transparent;animation:spin 1.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- MUI Button + ripple ---------- */
.ripple-host{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;display:block}
.rip{position:absolute;border-radius:50%;background:currentColor;opacity:.3;transform:scale(0);animation:ripIn .55s var(--ease) forwards}
.rip.out{animation:ripOut .55s var(--ease) forwards}
@keyframes ripIn{to{transform:scale(1);opacity:.3}}
@keyframes ripOut{from{opacity:.3}to{opacity:0}}
.mui-btn,.mbtn{position:relative;display:inline-flex;align-items:center;justify-content:center;font-family:Montserrat,sans-serif;font-weight:500;font-size:14px;line-height:1.75;text-transform:none;border-radius:12px;padding:12px 32px;cursor:pointer;user-select:none;vertical-align:middle;transition:background-color 250ms var(--ease),box-shadow 250ms var(--ease),border-color 250ms var(--ease),color 250ms var(--ease);overflow:hidden}
.mui-btn.contained{background:var(--primary);color:#fff;box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}
.mui-btn.contained:hover{background:var(--primary);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}
.mui-btn.contained[disabled],.mui-btn.contained.disabled{background:rgba(0,0,0,.12);color:rgba(0,0,0,.26);box-shadow:none;pointer-events:none}
.mui-btn .start{display:inherit;margin:0 8px 0 -4px}.mui-btn .start .ico,.mui-btn .end .ico{font-size:20px}
.mui-btn .end{display:inherit;margin:0 -4px 0 8px}
.mbtn{color:var(--t4);padding:8px 16px;font-size:16px}
.mbtn:hover{background:rgba(124,56,33,.04);color:var(--primary)}.mbtn.active,.mbtn.open{color:var(--primary)}
.mbtn .ico{font-size:20px;margin:0 -4px 0 8px;transition:transform 200ms}
.nav-item .mbtn.open .ico{transform:rotate(180deg)}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;transition:all .2s ease-in-out;margin-left:auto;flex:none;overflow:hidden}
.icon-btn .ico{font-size:20px}
.svc-card:hover .icon-btn,.icon-btn:hover{background:#6d3609;transform:scale(1.05)}
.link-btn{font-size:14px;color:var(--primary);padding:0;font-weight:500;font-family:inherit}

/* ---------- header ---------- */
.hdr{position:fixed;top:0;left:0;right:0;z-index:1100;display:flex;justify-content:space-between;align-items:center;background:url(/static/header-desktop.webp) 0 0/cover;padding:16px;box-shadow:rgba(0,1,0,.1) 0 1px 8px}
.hdr-in{display:flex;align-items:center;margin:auto;max-width:1200px;width:100%;justify-content:space-between}
.logo-m{display:none;cursor:pointer;padding-left:9px}.logo-m img{width:120px;height:48px;object-fit:contain;object-position:left center}
.logo-d{display:flex;cursor:pointer}.logo-d img{width:227px;height:48px;object-fit:cover}
.nav{display:none;align-items:center;flex-wrap:wrap;justify-content:center;min-height:64px}
.nav-item{position:relative}
.hdr-r{display:flex;align-items:center;gap:8px}
.hdr-book{padding:12px 16px;white-space:nowrap}
.burger-btn{display:none;color:brown;cursor:pointer}
.lang-sel{position:relative}
.lang-btn{display:flex;align-items:center;gap:8px;color:brown;font-weight:500;font-size:16px;line-height:23px;font-family:inherit;padding:4px 0 5px;cursor:pointer}
.lang-btn img{width:20px;height:14px;object-fit:contain}.lang-btn .sel-ic{display:flex;margin-right:-8px}.lang-btn .ico{color:brown;transition:transform .2s}
.lang-btn.open .ico{transform:rotate(180deg)}
.menu-pop{position:absolute;z-index:1300;top:100%;left:0;margin-top:0;transform-origin:top left}
.menu-pop.grow-in{animation:growIn 220ms var(--ease) both}
.menu-pop.grow-out{animation:growOut 160ms var(--ease) both}
@keyframes growIn{from{opacity:0;transform:scale(.75,.5625)}to{opacity:1;transform:none}}
@keyframes growOut{from{opacity:1;transform:none}to{opacity:0;transform:scale(.75,.5625)}}
.mui-menu{background:#fff;border-radius:8px;box-shadow:0 5px 15px rgba(0,0,0,.1);width:211px;font-size:16px;padding:8px 0;max-height:calc(100vh - 96px);overflow:auto}
.lang-sel .menu-pop{left:auto;right:0}.lang-sel .mui-menu{width:auto;min-width:120px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}
.mi{display:flex;align-items:center;gap:8px;padding:6px 16px;min-height:48px;font-size:14px;line-height:1.43;color:var(--t4);transition:background-color 150ms;position:relative;cursor:pointer;white-space:normal}
.mi:hover{background:rgba(139,69,19,.04)}.lang-opt{color:brown;font-weight:500;font-size:16px}.lang-opt:hover{background:rgba(0,0,0,.04)}.lang-opt.sel{background:rgba(124,56,33,.08)}
.mi img{width:20px;height:14px;object-fit:contain}

/* ---------- mobile drawer ---------- */
.drawer{position:fixed;inset:0;z-index:1200;overflow:hidden;visibility:hidden;transition:visibility 0s linear .225s}
.drawer.open{visibility:visible;transition:none}
.drawer-bd{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity 225ms var(--ease)}.drawer.open .drawer-bd{opacity:1}
.drawer-paper{position:absolute;top:0;right:0;bottom:0;width:230px;max-width:100%;background:url(/static/bg-phone.webp) center/cover;box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);transform:translateX(100%);transition:transform 225ms cubic-bezier(0,0,.2,1);overflow:auto;background-color:#fff}
.drawer.open .drawer-paper{transform:none;transition:transform 195ms cubic-bezier(.4,0,.6,1)}
.dr-in{padding:16px}.dr-close{display:flex;margin-left:auto;padding:8px;border-radius:50%;color:rgba(0,0,0,.54)}.dr-close:hover{background:rgba(0,0,0,.04)}
.dr-logo{display:flex;justify-content:center;align-items:center;margin:16px 0;height:70px;position:relative}.dr-logo img{width:100%;height:100%;object-fit:contain}
.dr-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 16px;margin-bottom:4px;font-size:14px;color:var(--t4);transition:background-color 150ms;text-align:left;position:relative}
.dr-item:hover{background:#FFF2ED}.dr-item.sel{background:#FFF2ED;color:var(--primary)}
.dr-nav>li>.dr-item.sel{border-left:5px solid #7c3821}
.dr-chev .ico{font-size:24px;transition:transform .2s}.dr-grp.open .dr-chev .ico{transform:rotate(180deg)}
.dr-sub{padding-left:24px}.dr-sub .dr-item{border-left:0}

/* ---------- slider ---------- */
.slider{position:relative;width:100%;overflow:hidden;height:219px;cursor:grab;user-select:none}
.slider.dragging{cursor:grabbing}
.sl-track{display:flex;height:100%;transition:transform .5s ease-in-out}
.sl-track.no-tr{transition:none}
.sl-item{flex:1 1 0;position:relative;height:100%;min-width:0}
.sl-item img,.sl-item a{display:block;width:100%;height:100%}.sl-item img{object-fit:cover}
.slider-empty{height:219px}
.sv-d{display:none}.sv-m{display:block}

/* ---------- tabs (MUI Tabs) ---------- */
.tabs{position:relative;overflow:hidden;min-height:48px;display:flex;width:100%}
.tabs-scroll{position:relative;display:inline-block;flex:1 1 auto;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-width:max-content;width:100%}
.tabs-scroll::-webkit-scrollbar{display:none}
.tabs-flex{display:flex;overflow-x:auto;scrollbar-width:none}
.tabs.center .tabs-flex{justify-content:center}
.tab{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:90px;max-width:none;min-height:48px;padding:12px 16px;font-family:var(--bf);font-weight:700;font-size:18px;line-height:1.25;color:var(--t2);flex-shrink:0;white-space:nowrap;overflow:hidden;transition:color .15s;text-transform:uppercase;letter-spacing:.02857em}
.tab.sel{color:var(--primary)}.tab:hover{background:none}
.tab-ind{position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--primary);transition:left 300ms var(--ease),width 300ms var(--ease)}
.branch-tab{width:50%;max-width:none;padding:12px 0;text-transform:none;letter-spacing:normal;font-size:14px;line-height:1.25}.branch-tab .pre{white-space:pre-line;text-align:center}
.map-tabs .tab{text-transform:none;color:#636366;font-size:14px;letter-spacing:.02857em;font-family:var(--bf)}.map-tabs .tab.sel{color:var(--primary)}
.map-tabs .tab-ind{background:transparent}
.tabs-flex.even{justify-content:space-evenly}

/* ---------- home ---------- */
.home-pt{padding-top:16px}
.tabs-row{margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}.tabs-box{width:100%;overflow-x:auto;scrollbar-width:none}
.branch-panel .bp-in{padding-top:0}
.grid2{display:grid;grid-template-columns:1fr;gap:24px}
.rel{position:relative}.video-box{width:100%;height:200px;border-radius:12px;overflow:hidden;background:#000}.video-box iframe{display:block}
.intro-card{background:#FFF2E5;padding:16px;border-radius:12px;height:100%}
.ic-hd{margin-bottom:12px}.intro-card .eyebrow{font-size:12px;font-weight:700;margin-bottom:8px;line-height:normal}.intro-card .ttl{font-size:16px;line-height:normal}
.intro-card .body{font-size:14px;line-height:1.4;color:var(--t2)}
.learn{display:inline-block;color:#8B4513;font-size:14px;font-weight:500;margin-top:12px;cursor:pointer;line-height:normal}.learn:hover{text-decoration:underline}
.hl-row{padding:24px 0 40px;display:flex;overflow-x:auto;gap:16px;scrollbar-width:none;margin-top:0}
.hl-row::-webkit-scrollbar{display:none}
.hl-wrap{flex-shrink:0;max-width:240px;width:240px}
.hl-card{border-radius:8px;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;height:100%;display:flex;flex-direction:column;width:100%}
.hl-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.hl-img{height:135px;width:100%;object-fit:cover;display:block}
.hl-cnt{padding:12px 12px 16px}.hl-t{font-family:var(--bf);font-weight:700;color:var(--primary);margin-bottom:8px;font-size:14px;line-height:normal}.hl-d{font-size:14px;line-height:1.4;color:var(--t2)}
.feat{overflow:hidden;padding:0 12px 32px}
.feat-hd{padding-top:0}.eyebrow.gut{margin-bottom:.35em}.ttl.lg{font-size:16px;margin-bottom:24px;line-height:normal}
.car{overflow:hidden;position:relative}
.car-track{display:flex;gap:24px;transition:transform 500ms ease;will-change:transform}
.car-card{flex:0 0 400px;width:400px;height:359px;border-radius:24px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;display:block;background:#eee}
.car-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.car-card img{width:100%;height:100%;object-fit:cover;display:block}
.car.snap{overflow:hidden}.car.snap .car-track{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:12px;padding:0 6px;scrollbar-width:none;transition:none;-webkit-overflow-scrolling:touch}
.car.snap .car-track::-webkit-scrollbar{display:none}
.car.snap .car-card{flex:0 0 335px;width:335px;height:300px;border-radius:10.91px;scroll-snap-align:center}
.svc-sec{padding-top:16px}
.svc-list.pt4{padding-top:32px}.svc-list2{padding:0}
.grid3{display:grid;grid-template-columns:1fr;gap:24px;justify-content:center}
.grid-item{display:flex;min-width:0}
.svc-card{display:flex;flex-direction:column;width:100%;height:100%;border-radius:12px;padding:8px;overflow:hidden;background:#fff;box-shadow:0 4px 20px rgba(0,0,0,.08);transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;position:relative;cursor:pointer}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,.12)}
.svc-img{position:relative;width:100%;height:200px;border-radius:12px;overflow:hidden}.svc-img img{width:100%;height:100%;object-fit:cover;transition:none}
.svc-body{display:flex;flex-direction:column;flex-grow:1;padding:8px 8px 0}
.svc-title{font-family:var(--bf);font-weight:700;color:var(--primary);margin:8px 0;font-size:1rem;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.svc-foot{margin-top:auto;display:flex;gap:16px;align-items:center}
.svc-opts{display:flex;flex-wrap:wrap;gap:8px}
.svc-opt{font-family:var(--bf);color:#9D4213;font-weight:700;display:flex;align-items:center;font-size:14px}
.svc-opt .dot{color:#B9B9B9;margin-right:4px}.svc-opt .old{position:relative;display:inline-block;margin-left:8px;font-size:14px;line-height:1.2;color:#949499}
.svc-opt .old::after{content:"";position:absolute;left:0;right:0;top:40%;height:1px;background:#949499;transform:translateY(-50%)}
.see-all{margin-top:24px}
.booking-wrap{padding:0}

/* ---------- footer / floating ---------- */
.ftr{background:var(--primary);color:#fff;padding:32px 16px;position:relative}
.ftr-in{max-width:1200px;margin:auto}.f-logo{margin:8px 0 40px}.f-logo img{width:333px;height:80px;object-fit:contain;object-position:left center;max-width:100%}
.f-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:flex-start}
.f-branches{display:grid;grid-template-columns:1fr;gap:24px}
.f-h{font-weight:600;font-size:1rem;margin-bottom:12px;font-family:Montserrat,sans-serif;color:#fff;line-height:normal}
.f-row{display:flex;align-items:center;margin-bottom:16px}.f-row.top{align-items:flex-start}
.f-ico{display:inline-flex;margin-right:12px}.f-ico .ico{font-size:18px}.f-row.top .f-ico{margin-top:1.6px}
.f-row img{margin-right:0}.f-t{font-size:14px;line-height:normal}.f-row img+.f-t{margin-left:12px}.f-t.ul{text-decoration:underline}
.f-info{margin-top:0}
.f-follow{margin-bottom:16px;font-weight:700;display:block}
.f-social{display:flex;justify-content:space-between;gap:16px;margin-bottom:24px}.f-social img{cursor:pointer;width:48px;height:48px}
.f-map{width:100%;height:200px;border-radius:8px;overflow:hidden;margin-bottom:16px;background:#f0f0f0;position:relative}
.fixed-book{position:fixed;right:12px;bottom:25px;z-index:1000;padding:8px 32px;max-width:max-content}
.ta-badge{position:fixed;left:12px;bottom:25px;width:100px;z-index:1000}.ta-badge img{width:100%;height:auto;display:block}
.float-ico{display:none;position:fixed;right:12px;top:62%;transform:translateY(-50%);flex-direction:column;gap:24px;z-index:1000}
.avatar{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden;font-size:.75rem;font-weight:700;transition:opacity .2s}
.avatar img{width:100%;height:100%;object-fit:cover}.float-ico a:hover .avatar{opacity:.8}

/* ---------- about ---------- */
.about{padding:0 16px}.about-pt{padding-top:0}
.intro-row{display:grid;grid-template-columns:1fr;gap:16px;align-items:stretch;padding-top:24px}
.ab-img{display:none;border-radius:24px;overflow:hidden;position:relative}.ab-img img{width:100%;height:100%;object-fit:cover;border-radius:24px}
.ab-card{background:#FFF2E5;box-shadow:0 0 12px #0000000A;border-radius:24px;padding:12px;height:100%}
.ab-card .eyebrow{font-size:12px}.ab-card .ttl{font-size:16px;line-height:1.5;margin:4px 0 8px}
.ab-card .body{font-size:14px;line-height:1.5;color:var(--t4);text-wrap:pretty}
.sec-hd{margin-bottom:12px}.sec-hd .eyebrow{font-size:12px;line-height:1.5}.h1{font-size:16px;line-height:1.5;font-weight:700}
.mission{width:100%;padding-top:30px}.mission-row{display:flex;flex-direction:column-reverse;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000000A}
.ms-text{padding:12px;border-radius:8px}.ms-text .body{font-size:14px;line-height:1.6;color:var(--t4)}.clamp4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.clamp4.open{-webkit-line-clamp:unset}
.ms-img{position:relative;border-radius:8px;overflow:hidden;height:239px}.ms-img img{width:100%;height:100%;object-fit:cover}
.only-m{display:flex;justify-content:flex-end}
.values{padding-top:30px;margin-bottom:24px}
.vals-scroll{width:100vw;margin-left:calc(-50vw + 50%);padding:0 16px;overflow-x:auto;scrollbar-width:none}.vals-scroll::-webkit-scrollbar{display:none}
.vals{display:flex;gap:16px;flex-wrap:nowrap}.val-item{flex:0 0 calc(66.6667% - 5.3333px);display:flex}
.val-card{height:100%;border-radius:8px;box-shadow:0 4px 12px #0000000A;display:flex;flex-direction:column;width:100%}
.val-card img{width:100%;height:135px;object-fit:cover;border-radius:8px}.val-cnt{padding:12px 12px 12px;flex-grow:1}
.val-cnt h6{font-family:var(--bf);font-weight:700;font-size:14px;line-height:1.5;color:var(--primary);margin-bottom:8px}.val-cnt p{font-size:13px;line-height:1.5;color:#18181B;white-space:pre-line;word-break:break-word}
.ba-intro{display:block;padding-top:24px;margin-bottom:16px}
.ba-video{width:100%;aspect-ratio:16/9;position:relative;overflow:hidden;border-radius:12px;margin-bottom:16px}.ba-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit}
.ba-card{background:#FFF2E5;box-shadow:0 0 12px #0000000A;border-radius:12px;padding:12px;width:100%}
.ba-card .eyebrow{font-size:12px;line-height:1.5}.ba-card .ttl{font-size:16px;line-height:1.5;margin:4px 0 8px}.ba-card .body14{font-size:14px;line-height:1.5;color:var(--t4);text-wrap:pretty}
.ba-unique{margin-top:30px}.ba-gallery{padding:30px 0 24px}
.gal{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.gal-i{flex:0 0 calc(50% - 6px)}.gal-i.first{flex:0 0 100%}.gal-in{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:8px}.gal-in img{width:100%;height:100%;object-fit:cover}
.gal-cta{display:flex;justify-content:flex-start}.gal-cta .mui-btn{margin-top:16px;width:100%;height:48px;border-radius:12px;white-space:nowrap}
.d-sm{display:none}.d-xs{display:inline}

/* ---------- services page ---------- */
.svc-hero{position:relative;width:100%;overflow:visible}
.svc-hero .slider{height:376px;cursor:default}
.sv-cont{position:absolute;left:0;right:0;bottom:-28px;z-index:10;width:100%;max-width:600px;padding:0 16px}
.sv-box{width:100%}.sv-title{display:none;color:#fff;margin-bottom:40px}.sv-h{font-size:58px;font-weight:700;color:#fff;font-family:Montserrat}.sv-s{font-size:20px;color:#E7DFD5}
.mb2{margin-bottom:16px}
.tf{position:relative;display:flex;align-items:center;border:1px solid rgba(0,0,0,.23);border-radius:12px;background:#fff;transition:border-color .2s}
.tf:hover{border-color:rgba(0,0,0,.87)}.tf:focus-within{border:2px solid var(--primary);margin:-1px}
.tf input,.tf textarea{flex:1;min-width:0;border:0;outline:0;background:transparent;font:400 16px/1.4375em Montserrat,sans-serif;color:rgba(0,0,0,.87);padding:16.5px 14px;width:100%}
.tf input::placeholder,.tf textarea::placeholder{color:rgba(0,0,0,.42);opacity:1}
.tf.ta{align-items:flex-start}.tf textarea{resize:none;display:block;padding:16.5px 14px}
.tf.big{border-color:#DDDDE5;border-radius:16px;font-weight:500;background:#fff}.tf.big .adorn{display:flex;padding-left:14px;color:rgba(0,0,0,.54);margin-right:8px}.tf.big input{padding-left:0;font-weight:500}
.svc-main{width:100%;padding:48px 16px 0;max-width:1200px;margin:auto}
.svc-list2 .grid3{padding:32px 0}
.empty.minh{min-height:100vh}

/* mui select / popover list */
.mselect{position:relative;width:100%}
.msel-btn{display:flex;align-items:center;width:100%;min-height:56px;border:1px solid rgba(0,0,0,.23);border-radius:12px;background:#fff;padding:0 32px 0 14px;text-align:left;font:400 14px/1.4375em Montserrat,sans-serif;position:relative;transition:border-color .2s;color:rgba(0,0,0,.87)}
.msel-btn:hover{border-color:rgba(0,0,0,.87)}.mselect.open .msel-btn{border:2px solid var(--primary);padding-left:13px}
.msel-btn .val{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.msel-btn .val.wrap{white-space:normal;word-break:break-word}
.msel-btn .ph{color:rgba(0,0,0,.6)}.msel-btn .arr{position:absolute;right:7px;top:calc(50% - .5em);color:rgba(0,0,0,.54);transition:transform .2s;display:flex}.msel-btn .arr .ico{font-size:24px}
.mselect.open .arr{transform:rotate(180deg)}
.mselect.big .msel-btn{border-radius:16px;border-color:#DDDDE5;font-weight:500;font-size:16px}
.mselect.fill .msel-btn{background:#FBFCFF}
.mselect-pop{position:fixed;z-index:1400;background:#fff;border-radius:12px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);max-height:min(60vh,420px);overflow:auto;transform-origin:top;padding:8px 0}
.mselect-pop.grow-in{animation:growIn 220ms var(--ease) both}
.mo{padding:6px 16px;min-height:48px;line-height:1.5;font-size:14px;cursor:pointer;white-space:normal;word-break:break-word;display:flex;align-items:center;transition:background .15s}
.mo:hover{background:rgba(0,0,0,.04)}.mo.sel{background:rgba(124,56,33,.08)}.mo.sel:hover{background:rgba(124,56,33,.12)}
.mo.grp{font-weight:700;color:var(--t4);cursor:default;min-height:0;padding-top:12px;pointer-events:none;background:#fff}.mo.in{padding-left:32px}.mo.dis{opacity:.5;pointer-events:none}

/* ---------- service detail ---------- */
.sd-hero{position:relative;width:100%;height:239px;overflow:hidden}.sd-hero img{width:100%;height:100%;object-fit:cover}
.sd{max-width:1200px;margin:auto;padding:16px}
.sd-back{display:flex;align-items:center;gap:16px;margin-bottom:16px;cursor:pointer}.sd-back span{font-style:italic;font-size:14px}
.sd-body{display:flex;flex-direction:column;gap:32px}.sd-col{flex:1}.sd-title{font-size:1rem;margin-bottom:8px;line-height:1.6}
.sd-opts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.sd-opt{font-family:var(--bf);color:#9D4213;font-weight:700}
.sd-row{display:flex;align-items:center;margin-bottom:16px}.sd-ic{color:#8B4513;margin-right:8px;display:inline-flex}.sd-ic .ico{font-size:20px}
.small{font-size:14px;color:var(--t2)}.small strong{font-weight:700}
.sd-desc{display:flex;flex-direction:column;gap:8px;font-size:16px;line-height:1.5}.sd-desc p{font-size:16px;line-height:1.5}.sd-desc .bold{font-weight:700}.sd-desc .italic{font-style:italic}.sd-desc .underline{text-decoration:underline}
.sd-desc.long:not(.open) p:nth-last-of-type(n+4){display:none}
.sd-cta{text-align:center;margin:16px 0}
.sd-rel{padding:32px 0}.rel-h{font-size:16px;margin-bottom:12px;line-height:normal}
.grid2c{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.g-item{display:flex;min-width:0}
.svc-card.sm{padding:4px}.svc-card.sm .svc-img{height:165px}.svc-card.sm .svc-title{font-size:12px;margin:0 0 8px}.svc-card.sm .svc-body{padding:8px 8px 0}
.only{color:#949499;font-size:12px}.from{color:var(--primary);font-weight:700;font-family:var(--bf);font-size:14px;margin-top:8px}

/* ---------- news ---------- */
.news-slider{display:none}
.news-wrap{padding:0 16px;max-width:1200px;margin:0 auto}
.nf{display:none}.nm-row{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:24px 16px 16px;width:100vw;margin-left:calc(-50vw + 50%);scrollbar-width:none}.nm-row::-webkit-scrollbar{display:none}
.nm-card{width:calc(100vw - 32px);flex-shrink:0;scroll-snap-align:center;border-radius:8px;overflow:hidden;box-shadow:0 4px 12px #0000000A;background:#fff}
.nm-img{height:238px;overflow:hidden}.nm-img img{width:100%;height:100%;object-fit:cover}.nm-b{padding:16px}.nm-t{font-family:var(--bf);font-weight:700;font-size:15px;color:var(--primary);margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nm-s{font-size:14px;color:var(--t4);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.news-list{padding:0 16px 24px;max-width:1200px;margin:auto}
.nl-h{font-weight:700;font-size:15px;line-height:150%;color:var(--primary);font-family:var(--bf);margin-bottom:12px}
.nl-grid{display:grid;grid-template-columns:1fr;gap:12px}
.nl-cell{display:block;border-radius:8px;overflow:hidden;cursor:pointer}
.nl-card{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000000A;overflow:hidden;display:flex;align-items:center;height:100%}
.nl-img{position:relative;width:100px;height:100px;flex-shrink:0;border-radius:8px;overflow:hidden;padding:4px 0 4px 4px}.nl-img img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.nl-b{padding:8px;display:flex;flex-direction:column;height:100%;flex-grow:1;min-width:0}
.nl-t{font-size:14px;font-weight:700;margin-bottom:8px;color:var(--primary);font-family:var(--bf);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.nl-s{font-size:12px;color:var(--t4);line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}
.nd-hero{position:relative;width:100%;height:368px}.nd-hero img{width:100%;height:100%;object-fit:cover}
.nd{width:100%;padding:16px 16px 32px;max-width:1200px;margin:auto}
.nd-back{display:none;align-items:center;gap:8px;font-weight:500;font-style:italic;cursor:pointer;line-height:150%}
.nd-title{font-weight:700;font-size:16px;line-height:150%;font-family:var(--bf);margin-bottom:16px;color:var(--primary)}
.nd-sum{font-size:14px;font-weight:600;line-height:150%;color:var(--t4);margin-bottom:8px}
.nd-content{font-weight:400;line-height:150%;color:var(--t4);white-space:pre-line;word-break:break-word;display:flex;flex-direction:column;gap:8px}
.tiptap-editor-content img{max-width:100%;border-radius:4px;margin:8px 0}.tiptap-editor-content h1{font-size:28px;font-weight:700;margin:16px 0 8px}
.tiptap-editor-content ul{list-style-type:disc;padding-left:20px;margin-bottom:16px}.tiptap-editor-content ol{list-style-type:decimal;padding-left:20px;margin-bottom:16px}
.tiptap-editor-content blockquote{border-left:3px solid #ccc;padding-left:12px;color:#666;font-style:italic;margin:12px 0}
.nd-cta{display:flex;justify-content:center;align-items:center;margin-top:16px}.nd-cta .mui-btn{width:100%;height:48px;border-radius:12px}

/* ---------- contacts ---------- */
.ct-wrap{max-width:1200px;margin:0 auto;padding:16px 16px 64px}
.ct-grid{display:grid;grid-template-columns:1fr;gap:24px}
.ct-intro{border-radius:16px;padding:12px;background:#FFF2E5;margin:0}.ct-intro .eyebrow{font-size:12px;margin-bottom:8px}.ct-intro .ttl{font-size:16px;margin-bottom:12px}.ct-intro .body{font-size:14px;color:var(--t2)}
.ct-info{margin-top:24px;border-radius:16px;padding:12px}.ct-info h5{font-size:16px;color:#8B4513;margin-bottom:12px}
.ct-rows{display:grid;gap:16px}.ct-row{display:flex;align-items:center}.ct-row.top{align-items:flex-start}.ct-ic{color:#7F7272;margin-right:16px;display:inline-flex}.ct-row p{font-size:14px;color:var(--t2)}
.ct-map{margin-top:24px;border-radius:16px}.ct-map-in{padding:12px}.map-h{font-family:var(--bf);font-weight:700;color:var(--primary);margin-bottom:16px}
.map-tabs{margin-bottom:16px}
.map-frame{width:100%;height:186px;border-radius:8px;overflow:hidden;margin-bottom:16px;background:#f0f0f0;position:relative}.map-addr{font-size:14px;color:var(--t4)}
.cf{border-radius:12px;padding:16px}.cf h5{font-size:16px;margin-bottom:24px}
.cf-f{margin-bottom:16px}.cf-f label{display:block;margin-bottom:4px;font-size:14px;line-height:1.43;color:var(--t2)}.cf-f label i{color:red;font-style:normal}
.cf .tf{background:#f8f8f8}.cf .mselect .msel-btn{background:#f8f8f8;min-height:56px;font-size:16px}
.cf-btn{width:max-content}

/* ---------- phone input ---------- */
.phone-in{position:relative;display:flex;align-items:center;width:100%;height:56px;border:1px solid #cacaca;border-radius:12px;background:#fff;transition:border-color .2s}
.phone-in:focus-within{border:2px solid var(--primary);margin:-1px;box-shadow:none}
.cf .phone-in{background:#f8f8f8}
.pi-flag{display:flex;align-items:center;gap:6px;height:100%;padding:0 8px 0 12px;border:0;background:transparent;cursor:pointer;flex:none}
.pi-flag .fl{width:20px;height:14px;border-radius:2px;background:#ddd center/cover;display:block;font-size:9px;line-height:14px;text-align:center;color:#555}
.pi-flag .tri{width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}
.pi-in{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;font:400 16px Montserrat,sans-serif;color:#000000DE;padding:0 14px 0 4px}
.pi-pop{position:fixed;z-index:1400;background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.35);width:300px;max-height:300px;overflow:auto;font-size:13px}
.pi-search{position:sticky;top:0;background:#fff;padding:8px;border-bottom:1px solid #eee}.pi-search input{width:100%;border:1px solid #ccc;border-radius:6px;padding:6px 8px;font:inherit;outline:0}
.pi-opt{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer}.pi-opt:hover{background:#f1f1f1}.pi-opt.sel{background:#e8e8e8}.pi-opt .dc{color:#6b6b6b;margin-left:auto}
.pi-sep{border-bottom:1px solid #ddd;margin:2px 0}

/* ---------- booking form ---------- */
.booking-form-container{max-width:100%;margin:24px auto 0;padding:0 16px 48px}
.bk-title{display:none;font-family:var(--bf);font-weight:700;color:var(--primary);text-align:center;font-size:16px;margin-bottom:8px}.bk-sub{display:none;text-align:center;font-style:italic;color:var(--t4);font-size:14px;line-height:150%;margin-bottom:16px}
.bk-title.m,.bk-sub.m{display:block}
.bk-main{border-radius:16px;padding:16px}
.bk-grid{display:grid;gap:16px}.bk-r2{display:grid;width:100%;gap:16px;grid-template-columns:1fr}.bk-r3,.bk-rc{display:flex;gap:8px}
.bk-f{min-width:0;width:100%}.bk-l{margin-bottom:4px;font-size:12px;color:var(--t4)}.bk-l i{color:red;font-style:normal}
.bk .tf,.bk .mselect .msel-btn{background:#FBFCFF}
.bk .tf input::placeholder{font-size:14px;font-weight:400;line-height:150%}.bk .tf input{font-size:16px}
.guest-card{border-radius:12px;margin-top:16px;background:#fff;box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12)}.guest-in{padding:16px}
.g-head{display:flex;justify-content:space-between;margin-bottom:12px}.g-head span{font-family:var(--bf);font-weight:700;font-size:15px;color:var(--primary);line-height:150%}
.g-del{display:inline-flex;padding:4px;min-width:unset}.g-del svg{width:20px;height:20px;fill:#FF1818}
.g-f{margin-bottom:16px}.g-f>.bk-l{margin-bottom:8px}
.svc-sel{position:relative;margin-bottom:0}.svc-sel .rm{position:absolute;top:-10px;right:0;background:#fff;z-index:2;display:inline-flex;padding:4px}.svc-sel .rm svg{width:20px;height:20px;fill:currentColor;color:#757575}
.pk{border:1px solid #e0e0e0;border-radius:12px;margin-bottom:16px;padding:16px;cursor:pointer;background:#fff;transition:all .3s;display:flex;align-items:center;position:relative}
.pk.sel{background:#FFF7F5;border-color:var(--primary);opacity:.95}
.pk .rd{width:20px;height:20px;margin-right:8px;flex:none;border:2px solid rgba(0,0,0,.54);border-radius:50%;position:relative;transition:border-color .2s}.pk.sel .rd{border-color:var(--primary)}.pk.sel .rd::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--primary);animation:rdIn .2s}
@keyframes rdIn{from{transform:scale(0)}to{transform:scale(1)}}
.pk .pn{flex:1;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}.pk.sel .pn span:first-child{color:var(--primary)}.pk .pn b{font-weight:600;color:var(--primary)}
.add-svc{display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:16px;padding:6px 8px;background:#F5F7FA;border-radius:8px;color:var(--t4);font-size:14px;font-weight:500;min-height:36px;position:relative;overflow:hidden;transition:background .25s}
.add-svc:hover{background:#e6e6e6}.add-svc .sq{display:flex;align-items:center;justify-content:center;background:#000;border-radius:4px;width:18px;height:18px;margin-right:8px;color:#fff}.add-svc .sq .ico{font-size:16px}
.add-guest{display:flex;align-items:center;justify-content:flex-start;width:100%;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.05);padding:6px 8px;margin-top:16px;color:var(--primary);font-weight:500;font-size:14px;min-height:36px;position:relative;overflow:hidden}
.add-guest .ico{font-size:25px;margin-right:8px;color:var(--primary)}
.bk-foot{padding-top:16px}
.btn-cont{position:relative;overflow:hidden;border-radius:999px;width:100%;min-width:100%;animation:pulse .9s cubic-bezier(.4,0,.6,1) infinite;z-index:0}
.btn-cont::before{content:"";position:absolute;top:-50%;left:-100%;width:200%;height:200%;background:linear-gradient(45deg,transparent 45%,rgba(255,255,255,.35) 50%,transparent 55%);animation:shineMove 2s linear infinite;z-index:1;pointer-events:none}
@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes shineMove{0%{left:-100%}100%{left:100%}}
.bk-vat{display:block;text-align:center;font-weight:400;font-size:12px;line-height:150%;color:var(--t4);font-style:italic;margin-bottom:12px}.bk-chk{display:block;text-align:center;font-size:14px;line-height:150%;color:var(--t4);font-style:italic;margin-bottom:12px}
.bk-bottom{position:fixed;bottom:0;left:0;width:100%;background:#fff;box-shadow:0 -2px 12px rgba(0,0,0,.04);padding:12px 16px 24px;z-index:900}
.on-home .bk-bottom{position:static;box-shadow:none;padding:0;background:transparent}
.booking-wrap.on-home{padding-bottom:0}

/* ---------- pickers ---------- */
.pk-pop{position:fixed;z-index:1400;background:#fff;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}
.cal{width:320px;padding-bottom:8px}.cal-h{display:flex;align-items:center;justify-content:space-between;padding:16px 24px 8px;font-weight:500;font-size:14px;line-height:30px}
.cal-nav{display:flex;gap:8px}.cal-nav button{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(0,0,0,.54)}.cal-nav button:hover{background:rgba(0,0,0,.04)}.cal-nav button[disabled]{opacity:.3;pointer-events:none}
.cal-wd{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px;color:rgba(0,0,0,.6);font-size:12px;text-align:center;line-height:36px}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);padding:0 12px;row-gap:2px;min-height:230px;align-content:start}
.cd{width:36px;height:36px;margin:0 auto;border-radius:50%;font-size:12px;display:flex;align-items:center;justify-content:center;color:rgba(0,0,0,.87);transition:background .15s}
.cd:hover{background:rgba(124,56,33,.04)}.cd.today{border:1px solid rgba(0,0,0,.6)}.cd.sel{background:var(--primary);color:#fff;border:0}.cd.sel:hover{background:var(--primary)}
.cd.dis{color:rgba(0,0,0,.38);pointer-events:none}.cd.out{visibility:hidden}
.tp{width:112px;max-height:312px;overflow:auto;padding:8px 0}.tp .t{padding:8px 16px;font-size:14px;cursor:pointer;display:block;text-align:center}.tp .t:hover{background:rgba(0,0,0,.04)}.tp .t.sel{background:var(--primary);color:#fff}.tp .t.dis{color:rgba(0,0,0,.38);pointer-events:none}
.dt-in{cursor:pointer;display:flex;align-items:center;justify-content:space-between}
.dt-in .ico{font-size:24px;padding:0;color:rgba(0,0,0,.54);margin-right:14px;flex:none}
.dt-field input{cursor:pointer;font-size:14px}

/* ---------- dialogs / toasts ---------- */
.dlg{position:fixed;inset:0;z-index:13000;display:flex;align-items:center;justify-content:center;padding:16px}
.dlg-bd{position:absolute;inset:0;background:rgba(0,0,0,.4);animation:fadeIn 225ms}
.dlg-paper{position:relative;background:#fff;border-radius:12px;width:366px;max-width:100%;padding:24px 16px;display:flex;flex-direction:column;align-items:center;box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);animation:dlgIn 225ms var(--ease);max-height:calc(100% - 64px);overflow:auto}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes dlgIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes sheetIn{from{transform:translateY(100%)}to{transform:none}}
.dlg.out .dlg-bd{animation:fadeOut 195ms forwards}.dlg.out .dlg-paper{animation:dlgOut 195ms forwards}
@keyframes fadeOut{to{opacity:0}}@keyframes dlgOut{to{opacity:0;transform:scale(.9)}}
.dlg-x{position:absolute;top:8px;right:8px;color:#6B7280;padding:8px;border-radius:50%}.dlg-x:hover{background:rgba(0,0,0,.04)}
.nt-t{font-size:15px;line-height:150%;font-family:var(--bf);margin-bottom:8px}.nt-t u{font-weight:700;color:#7C3821;text-decoration:none}.nt-t strong{color:red}
.nt-c{font-size:14px;line-height:150%;font-weight:400;color:var(--t2);text-align:center;text-wrap:pretty}
.nt-agree{background:#FFF2ED;border-radius:12px;padding:10px;margin:16px 0;width:100%;display:flex;justify-content:center;align-items:center}
.chk-l{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--primary);font-size:14px;line-height:150%}
.chk-b{width:24px;height:24px;border:2px solid rgba(0,0,0,.54);border-radius:3px;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#fff;flex:none}.chk-b.on{background:var(--primary);border-color:var(--primary)}.chk-b .ico{font-size:20px;opacity:0;transition:opacity .15s}.chk-b.on .ico{opacity:1}
.dlg-paper .mui-btn.contained.w{width:100%;height:48px;border-radius:8px}
.ok-ic{font-size:64px;color:green;display:flex}.ok-ic .ico{font-size:64px}
.ok-t{font-size:14px;font-weight:600;margin:8px 0;color:#001A33;line-height:150%}.ok-s{text-align:center;font-size:12px;color:var(--t2);margin-bottom:16px}.ok-w{background:#FFF2E5;padding:12px 16px;border-radius:12px;font-size:12px;line-height:150%;display:inline-block}.ok-w strong{color:red}.ok-w u{font-weight:700;color:#7C3821}
#toast-root{position:fixed;top:16px;left:16px;right:16px;z-index:99999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}
.toast{display:flex;align-items:center;background:#fff;color:#363636;line-height:1.3;box-shadow:0 0 10px 0 rgba(0,0,0,.5);max-width:400px;min-width:200px;pointer-events:auto;padding:10px;border-radius:10px;text-align:center;will-change:transform;animation:toastIn .35s cubic-bezier(.21,1.02,.73,1) forwards}
.toast.out{animation:toastOut .4s cubic-bezier(.06,.71,.55,1) forwards}
.toast .tmsg{display:flex;justify-content:center;margin:4px 10px;flex:1 1 auto;font-size:14px}.toast .tic{width:20px;height:20px;border-radius:50%;flex:none;position:relative;animation:circleIn .3s cubic-bezier(.175,.885,.32,1.275) .1s both}.toast .tic.ok{background:#61d345}.toast .tic.err{background:#ff4b4b}
.toast .tic.ok::after{content:"";position:absolute;left:6px;top:3px;width:6px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.toast .tic.err::before,.toast .tic.err::after{content:"";position:absolute;left:9px;top:5px;width:2px;height:10px;background:#fff;border-radius:1px}.toast .tic.err::before{transform:rotate(45deg)}.toast .tic.err::after{transform:rotate(-45deg)}
@keyframes toastIn{0%{transform:translate3d(0,-200%,0) scale(.6);opacity:.5}100%{transform:translate3d(0,0,0) scale(1);opacity:1}}
@keyframes toastOut{0%{transform:translate3d(0,0,-1px) scale(1);opacity:1}100%{transform:translate3d(0,-150%,-1px) scale(.6);opacity:0}}
@keyframes circleIn{from{transform:scale(0) rotate(45deg);opacity:0}to{transform:scale(1) rotate(45deg);opacity:1}}

/* ---------- booking review ---------- */
.bk-detail{padding-top:0}
.bd-title{font-family:var(--bf);font-weight:700;color:var(--primary);text-align:center;letter-spacing:.5px;font-size:16px;margin:0 12px 8px}
.bd-sub{display:block;text-align:center;font-style:italic;margin-bottom:16px;font-weight:400;color:var(--t4);font-size:14px;line-height:150%;padding:0 16px}
.bd-wrap{max-width:100%;padding-top:24px;margin:0 auto 16px}
.bd-box{background:transparent;border-radius:0;box-shadow:0 4px 12px #0000000A;gap:0}
.bd-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000000A;border:1px solid #F0E6D2;margin:0 16px 16px;padding:12px;max-width:100%}
.bd-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.bd-hd h6{font-family:var(--bf);font-weight:700;color:var(--primary);font-size:15px}
.pen{color:#666;padding:0;border-radius:50%;display:inline-flex;transition:background .15s}.pen:hover{background:rgba(139,69,19,.1)}.pen svg{width:20px;height:20px}
.bd-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:12px}.bd-row .k{font-size:13px;line-height:150%;color:var(--t4)}.bd-row .v{font-size:14px;line-height:150%;color:var(--t2);text-align:right}
.bd-sv{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.bd-sv .im{width:60px;height:60px;border-radius:4px;overflow:hidden;flex-shrink:0;background:#f5f5f5}.bd-sv .im img{width:80px;height:80px;border-radius:8px;object-fit:cover}
.bd-sv .nm{font-family:var(--bf);font-weight:700;color:var(--primary);line-height:150%;margin-bottom:8px;font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bd-sv .pr{font-size:12px;line-height:150%;color:var(--t2)}
.bd-nt{color:#949499;font-size:12px;font-style:italic;line-height:150%}.bd-nt b{font-weight:500}
.tot-r{display:flex;justify-content:space-between;margin-bottom:12px;align-items:center}.tot-r .k{font-size:14px;color:var(--t4);line-height:150%}.tot-r .v{font-size:14px;color:var(--t2)}
.tot-r.big .k{font-size:15px;font-weight:700;font-family:var(--bf)}.tot-r.big .v{font-size:18px;font-weight:700;font-family:var(--bf);color:var(--primary)}
.tot-n{color:var(--t4);font-size:12px;font-style:italic;margin-top:0}.tot-pp{color:var(--t4);font-size:12px;font-style:italic;line-height:150%;margin-top:12px}
.bd-bar{position:fixed;bottom:0;left:0;width:100%;background:#fff;padding:12px 16px 24px;display:flex;justify-content:space-between;align-items:center;z-index:1300;box-shadow:0 -2px 12px rgba(0,0,0,.04)}
.bd-bar .k{font-size:12px;color:var(--t4);margin-bottom:4px;line-height:150%}.bd-bar .v{font-family:var(--bf);font-weight:700;color:var(--primary);font-size:20px;line-height:150%}
.bd-bar .mui-btn{width:222px;height:40px;font-weight:400;font-size:14px;white-space:pre;border-radius:999px;padding:6px 16px}
.bd-conf{display:none;align-items:center;justify-content:center;max-width:100%;padding-bottom:64px;margin:0 auto}.bd-conf .mui-btn{width:100%;height:48px;font-weight:500;font-size:15px;white-space:pre;border-radius:999px}
.bd-sheet{position:fixed;inset:0;z-index:1300;display:flex;align-items:flex-end}
.sheet-bd{position:absolute;inset:0;background:rgba(0,0,0,.5);animation:fadeIn 225ms}
.sheet-p{position:relative;background:#faf9f7;width:100vw;max-width:100vw;border-radius:16px 16px 0 0;box-shadow:0 4px 12px #0000000A;animation:sheetIn 225ms var(--ease);max-height:90vh;overflow:auto}
.sheet-h{display:flex;justify-content:space-between;align-items:center;padding:16px;color:var(--primary);font-weight:700;font-size:15px;font-family:var(--bf);line-height:150%}
.sheet-b{padding:0 16px 24px}.sheet-b .tf,.sheet-b .msel-btn,.sheet-b .mselect .msel-btn{background:#fff}.sheet-b .bk-l{margin-bottom:0}
.sh-f{margin-bottom:16px}.sh-r{display:flex;gap:8px;margin-bottom:16px}.sh-r>div{flex:1;width:50%}
.sh-btn{width:100%;padding:12px;border-radius:8px;font-size:16px;line-height:150%}
.sh-opt{border:1px solid #e0e0e0;border-radius:8px;padding:12px 8px;margin-bottom:8px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;background:#fff;color:var(--t2)}.sh-opt.sel{background:#FFF7F5;border-color:var(--primary);color:var(--primary)}
.sh-del{border:1px solid #FF1818;color:#FF1818;border-radius:12px;padding:12px;display:flex;gap:16px;align-items:center;justify-content:center;flex:1;margin-right:8px;white-space:nowrap;font-size:12px;font-weight:500}
.sh-del svg{width:20px;height:20px;fill:#FF1818}
.nf404{text-align:center;padding:96px 16px}.nf404 h1{font-family:var(--bf);font-size:64px;color:var(--primary);margin-bottom:8px}.nf404 p{margin-bottom:24px}

/* ====================== breakpoints ====================== */
@media (max-width:599px){
  .app-bg{background-image:url(/static/bg-phone.webp)}
  .hdr{background-image:url(/static/header-mobile.webp);height:95px;align-items:flex-end}
  .logo-m{display:block}.logo-d{display:none}.hdr-book{display:none}
  .only-m{display:flex}
}
@media (min-width:600px){
  .only-m{display:none}
  .slider{height:550px}.sv-d{display:block}.sv-m{display:none}
  .svc-hero .slider{height:690px}
  .logo-m{display:none}
  .grid3{grid-template-columns:repeat(2,1fr)}
  .video-box{height:343px}
  .hl-wrap{max-width:378px;width:378px}.hl-img{height:224px}
  .sv-cont{right:auto;bottom:70px;padding:0 24px}.sv-title{display:block}
  .svc-img{height:256px}.sd-hero{height:495px}.sd{margin-top:16px;padding:16px}.sd-back span{font-size:16px}.sd-title{font-size:2rem;margin-bottom:16px}.sd-opts{margin-bottom:16px}.sd-opt{font-size:18px}
  .svc-card.sm .svc-img{height:256px}.svc-card.sm .svc-title{font-size:16px}.rel-h{font-size:28px}.only{font-size:14px}
  .feat{padding-top:8px}
  .nd-back{display:flex;margin-bottom:0}
  .news-slider{display:block}
  .bk-title,.bk-sub{display:block}.bk-title.m,.bk-sub.m{display:none}.bk-title{font-size:28px}
  .bk-main{padding:24px}.bk-grid{gap:24px}.bk-r2{display:flex;gap:24px}.bk-r3,.bk-rc{gap:24px}.bk-bottom{position:static;box-shadow:none;padding:0;background:transparent}
  .booking-form-container{margin-top:64px;padding:16px 16px 64px}
  .bk-foot{padding-top:32px}
  .f-follow{display:none}
  .float-ico{display:flex}
  .bd-wrap{padding:0 20px;padding-top:24px}.bd-box{background:#fff;border-radius:16px;border:1px solid #F0E6D2;gap:16px}.bd-card{border:0;box-shadow:none;margin:0 0 24px;padding:0 24px;background:transparent;border-radius:0}
  .bd-title{font-size:28px;margin:16px 24px 16px}.bd-sub{margin-bottom:24px;padding:0}
  .bd-row .k,.bd-row .v{font-size:16px}.tot-r .k,.tot-r .v{font-size:16px}.tot-r.big .k{font-size:16px}.tot-r.big .v{font-size:20px}
  .bd-bar{display:none}.bd-conf{display:flex}
  .bd-sheet{align-items:center;justify-content:center;padding:16px}.sheet-p{width:600px;max-width:100%;border-radius:8px;animation:dlgIn 225ms var(--ease)}
  .mission-row{flex-direction:row;background:transparent;box-shadow:none;gap:24px}.ms-text{flex:0 0 calc(58.33% - 12px)}.ms-img{flex:0 0 calc(41.66% - 12px)}
  .ct-intro,.ct-info{padding:24px}.cf{padding:24px}.ct-map-in{padding:24px}.ct-intro .eyebrow{font-size:18px}.ct-intro .ttl{font-size:28px;margin-bottom:12px}.ct-intro .body{font-size:16px}
  .ct-wrap{padding:16px 24px 64px}
  .map-frame{height:398px}
  .nl-grid{grid-template-columns:repeat(2,1fr)}
  .nl-card{display:block;align-items:initial}.nl-img{width:100%;height:292px;border-radius:0;padding:0}.nl-img img{border-radius:0}.nl-b{padding:16px}
  .val-item{flex:0 0 calc(33.33% - 11px)}.vals-scroll{width:100%;margin-left:0;padding:0;overflow:visible}.vals{flex-wrap:wrap}
  .d-sm{display:inline}.d-xs{display:none}
}
@media (min-width:900px){
  .eyebrow.gut{font-size:18px}
  .nav{display:flex}.burger-btn{display:none}
  .slider{height:690px}
  .branch-panel .bp-in{padding-top:48px}
  .grid2{grid-template-columns:1fr 1fr}.video-box{height:100%;min-height:0}
  .intro-card{padding:24px}.intro-card .eyebrow{font-size:18px}.intro-card .ttl{font-size:28px}.intro-card .body{font-size:16px;line-height:1.6}
  .hl-t{font-size:18px}.hl-d{line-height:1.6}.hl-cnt{padding:16px}
  .feat{padding-top:32px}.ttl.lg{font-size:28px}
  .grid3{grid-template-columns:repeat(3,1fr)}
  .branch-tab{font-size:20px}
  .f-grid{grid-template-columns:2fr 1fr}.f-branches{grid-template-columns:1fr 1fr}
  .f-t{font-size:18px}.f-ico .ico{font-size:24px}.f-h{font-size:1.25rem;margin-bottom:24px}.f-info{margin-top:24px}
  .ct-grid{grid-template-columns:1fr 1fr}
  .ct-wrap{padding-top:64px}
  .grid2c{grid-template-columns:repeat(3,1fr)}
  .svc-hero .slider{height:690px}
}
@media (max-width:899px){.burger-btn{display:inline-flex}}
@media (min-width:1200px){
  .booking-form-container{max-width:1200px;padding:0 0 64px}
  .bd-wrap{max-width:720px;padding:64px 0 0}
  .bd-conf{max-width:720px;padding:0 0 64px}
  .about{padding:0}.about-pt{padding-top:64px}
  .intro-row{grid-template-columns:5fr 7fr;gap:24px;padding-top:64px}.ab-img{display:block}.ab-card{padding:24px}.ab-card .eyebrow{font-size:18px}.ab-card .ttl{font-size:28px;margin:4px 0 12px}.ab-card .body{font-size:16px}
  .sec-hd{margin-bottom:24px}.sec-hd .eyebrow{font-size:18px}.h1{font-size:36px}
  .mission{padding-top:64px}.ms-text{height:384px;padding:24px;border-radius:24px;box-shadow:0 4px 12px #0000000A;background:#fff}.ms-text .body{font-size:16px}.ms-img{height:384px;border-radius:24px}.clamp4{-webkit-line-clamp:unset}
  .values{padding-top:64px;margin-bottom:64px}.val-card{border-radius:16px}.val-card img{height:264px;border-radius:16px}.val-cnt{padding:16px 16px 24px}.val-cnt h6{font-size:18px;margin-bottom:12px}.val-cnt p{font-size:16px}
  .about-pt2{padding-top:64px}
  .ba-intro{display:flex;gap:24px;padding-top:0;margin-bottom:64px}.ba-video{width:610px;flex:none;border-radius:24px;margin-bottom:0}.ba-card{width:606px;max-height:343px;overflow:hidden;border-radius:24px;padding:24px}.ba-card .eyebrow{font-size:18px}.ba-card .ttl{font-size:28px;margin:4px 0 12px}.clamp7{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
  .ba-unique{margin-top:0}.ba-gallery{padding:64px 0}
  .gal-i{flex:0 0 calc(33.33% - 8px)}.gal-i.first{flex:0 0 100%}
  .gal-cta .mui-btn{margin-top:64px}
  .news-wrap{padding:0}.news-list{padding:0 0 64px}.nl-h{font-size:28px;margin-bottom:24px}
  .nf{display:flex;padding:64px 0}.nf-in{display:flex;width:100%;gap:24px}.nf-img{width:609px;height:343px;flex-shrink:0;border-radius:24px;overflow:hidden;position:relative}.nf-img img{width:100%;height:100%;object-fit:cover}
  .nf-card{flex:1;padding:24px;background:#fff;box-shadow:0 4px 12px #0000000A;border-radius:24px;max-height:343px}.nf-t{font-family:var(--bf);font-weight:700;font-size:28px;line-height:150%;color:var(--primary);margin-top:4px;margin-bottom:12px}.nf-s{font-size:16px;line-height:150%;color:var(--t4);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
  .nm-row{display:none}
  .nl-grid{grid-template-columns:repeat(3,1fr)}.nl-cell{height:444px}.nl-card{padding:12px;display:block}.nl-b{padding:16px}.nl-t{font-size:20px}.nl-s{font-size:16px}.nl-img{height:292px}
  .nd-hero{height:457px}.nd{padding:64px 0}.nd-back{font-size:15px;margin-bottom:24px}.nd-title{font-size:36px;margin-bottom:24px}.nd-sum{font-size:18px;margin-bottom:24px}.nd-content{font-size:16px;gap:12px}
  .nd-cta{margin-top:24px}.nd-cta .mui-btn{width:278px}
  .sd-body{flex-direction:row}
}
@media (min-width:1536px){
  .nl-grid{gap:24px}
}

.bk-hero{position:relative;width:100%;height:219px;overflow:hidden}.bk-hero img{width:100%;height:100%;object-fit:cover}
@media (min-width:600px){.bk-hero{height:577px}}
.bk-grid>*,.bk-r2>*,.bk-rc>*,.bk-r3>*{min-width:0}.bk-r2{grid-template-columns:minmax(0,1fr)}.msel-btn .val{min-width:0}.bk-main{max-width:100%}
@media (min-width:600px){.bk-r2{grid-template-columns:none}}
@media (max-width:599px){.dt-in .ico{font-size:14px;margin-right:10px}.dt-field input{padding:16.5px 6px 16.5px 12px}.booking-wrap:not(.on-home) .bk-foot,.booking-form-container[data-home="0"] .bk-foot{padding-top:96px}}
@media (min-width:600px){.intro-row{grid-template-columns:5fr 7fr;gap:24px}.ab-img{display:block}}
@media (min-width:600px){.f-t{font-size:18px}.f-ico .ico{font-size:24px}.f-h{font-size:1.25rem;margin-bottom:24px}.f-info{margin-top:24px}.f-row.top .f-ico{margin-top:1.6px}}
@media (min-width:600px){.clamp4{-webkit-line-clamp:unset}.ms-img{height:auto;min-height:239px}.val-cnt{padding:16px 16px 24px}}
@media (min-width:1200px){.ba-intro{padding-top:64px}.ba-video{flex:0 1 auto}.ba-card{flex:0 1 auto}}

.ab-img{position:relative;min-height:0}.ab-img img{position:absolute;inset:0;width:100%;height:100%}
.ct-intro .eyebrow,.ct-intro .ttl{line-height:normal}.cf-f label{line-height:18px}
/* contact form field boxes: outer 56px / 148px like MUI TextField (border drawn inside) */
.cf .tf{box-sizing:border-box;height:56px}.cf .tf.ta{height:148px}.cf .tf input,.cf .tf textarea{height:100%;box-sizing:border-box}
/* MUI Button metrics: 12px vertical padding, 24.5px line => 48.5px */
.add-svc,.add-guest{padding-top:12px;padding-bottom:12px;line-height:24.5px;min-height:48.5px}
.bk-f .tf:not(.ta){box-sizing:border-box;height:56px}.bk-f .tf:not(.ta) input{height:100%;box-sizing:border-box}
/* about page, mobile metrics measured from the original */
@media (max-width:599px){
  .intro-row{padding-top:40px}
  .val-item{flex:0 0 calc(66.6667% - 5.3333px)}
  .values .sec-hd{margin-bottom:16px}
  .ms-text .ta-r{display:flex;justify-content:flex-end;margin-top:8px}
  .ms-text .link-btn{font-size:14px;line-height:24.5px;font-weight:500}
}
@media (max-width:599px){.ba-unique{padding-bottom:12px}.ba-unique .sec-hd,.ba-gallery .sec-hd{margin-bottom:16px}}
/* service detail (mobile): line-height "normal" like the original */
@media (max-width:599px){.sd-title{line-height:normal}.sd-desc,.sd-desc p{line-height:normal;color:#000}}
/* news content: normal block flow, <p> margins 16px (collapsing) like the original */
.nd-content{display:flow-root!important;gap:0!important}.nd-content p{margin:16px 0}
.nd-content img{display:block;margin:24px 0 31px}
/* same global scrollbar as the original (6px) so content widths/wrapping match */
::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:#a9a9a9;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#a9a9a9}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}
/* header metrics: logo wrapper 52px, tablet header 95px */
.logo-d{height:52px;align-items:flex-start}
@media (min-width:600px) and (max-width:899px){.hdr{height:95px}.hdr-in{height:64px}}
.logo-d{flex:none}
@media (max-width:599px){.logo-m{padding-left:0;margin-top:-2px}.logo-m img{object-position:9px center}}
@media (min-width:600px){.nd-hero{height:457px}}

/* booking: guest card bottom space + "Add guest" button like the original */
.guest-in{padding-bottom:28px}.add-guest{padding-left:32px;padding-right:32px}.add-guest .ico.addbox{font-size:24px;width:24px;height:24px;margin-right:8px}
/* footer (>=900): three equal columns, branches span two; last rows have no bottom margin */
@media (min-width:900px){
  .f-logo{height:84px}
  .f-grid{grid-template-columns:repeat(3,1fr);align-items:start}
  .f-left{grid-column:span 2;display:flex;flex-direction:column;gap:24px}
  .f-branches{grid-template-columns:1fr 1fr}
  .f-branch .f-row:last-child{margin-bottom:0}
  .f-social a{display:block;height:52px}
}
@media (min-width:600px){.nl-h{margin-bottom:24px}}
@media (min-width:600px){.on-home .bk-foot,.booking-wrap.on-home .bk-foot{padding-top:16px}}
@media (min-width:600px){.eyebrow.gut{line-height:normal}}
@media (max-width:599px){.eyebrow.gut{line-height:normal}.feat-hd{margin:0 -6px}}
@media (min-width:600px){.sd-title{line-height:normal}.sd-desc,.sd-desc p{line-height:normal;color:#000}.sd-ic .ico{font-size:24px}}
/* about: MUI Grid widths (5/12 + 7/12 minus the spacing share) */
@media (min-width:600px){
  .intro-row{display:flex;gap:16px}
  .intro-row>.ab-img{flex:none;width:calc(41.6667% - 9.3333px)}.intro-row>.ab-card{flex:none;width:calc(58.3333% - 6.6667px)}
  .ms-text{flex:0 0 calc(58.3333% - 10px)}.ms-img{flex:0 0 calc(41.6667% - 14px)}
}
@media (min-width:1200px){.intro-row{gap:24px}.intro-row>.ab-img{width:calc(41.6667% - 14px)}.intro-row>.ab-card{width:calc(58.3333% - 10px)}}
@media (min-width:1200px){.vals{gap:24px}.val-item{flex:0 0 calc(33.3333% - 16px)}}
@media (min-width:600px){.val-cnt{padding:16px 16px 12px}}
@media (min-width:600px){.val-cnt{padding:16px}}
@media (min-width:1200px){.val-cnt{padding:16px 16px 12px}}
/* branch "unique touches" cards */
@media (min-width:600px){.ba-unique .val-cnt{padding:16px 16px 24px}.ba-unique .val-cnt h6{margin-bottom:8px}}
@media (min-width:1536px){.ba-video{width:575.5px}.ba-card{width:600.5px}}
@media (min-width:1536px){.gal{gap:24px}.gal-i{flex:0 0 calc(33.3333% - 16px)}.gal-i.first{flex:0 0 100%}}
@media (min-width:1536px){.clamp7{-webkit-line-clamp:8}}
@media (min-width:600px) and (max-width:899px){.ba-unique{margin-top:16px}}
@media (min-width:600px) and (max-width:1199px){.ba-unique .sec-hd,.ba-gallery .sec-hd{margin-bottom:16px}}
@media (min-width:900px) and (max-width:1199px){.ba-intro{margin-bottom:16px}.ba-unique{margin-top:0}}
@media (min-width:600px) and (max-width:1199px){.ba-unique .val-cnt{padding:12px 12px 24px}}
.cf-f label{line-height:normal}
@media (min-width:600px) and (max-width:1199px){.values .sec-hd{margin-bottom:16px}}
@media (min-width:600px){.values .val-cnt{padding:16px 16px 12px}}
@media (min-width:600px) and (max-width:899px){.vals{gap:16px}.val-item{flex:0 0 calc(33.3333% - 10.6667px)}}

.btn-cont.mui-btn.contained:hover{background:#562717}
.cf-btn.mui-btn.contained:hover{background:#562717}
.see-all.mui-btn.contained:hover{box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12)}
