@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-vietnamese-wght-normal.CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-ext-wght-normal.Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/fraunces-latin-wght-normal.ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-ext-wght-normal.DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/_astro/figtree-latin-wght-normal.D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream:#f6f2ea;--card:#fffdf9;--ink:#1f2b28;--mute:#5c6763;--line:#e3ddd1;--green:#2f6f62;--mint:#dcebe4;--serif:"Fraunces Variable", Georgia, serif;--sans:"Figtree Variable", "Helvetica Neue", Arial, sans-serif;--pad:clamp(16px, 4.5vw, 80px);--r:22px}*,:before,:after{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.55}body{margin:0;overflow-x:clip}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.serif{font-family:var(--serif);letter-spacing:-.015em;font-variation-settings:"SOFT" 100, "opsz" 96;font-weight:380}.serif em{color:var(--green);font-style:italic}.mono{letter-spacing:.1em;text-transform:uppercase;color:var(--mute);font-size:12px;font-weight:600}.mute{color:var(--mute)}.small{font-size:13px}.btn{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:0 24px;font-weight:600;text-decoration:none;transition:transform .15s,background .2s;display:inline-flex}.btn:hover{background:#255a4f}.btn:active{transform:scale(.98)}.btn.sm{min-height:40px;padding:0 18px;font-size:14px}.btn.ghost{background:var(--mint);color:var(--green)}.btn.ghost:hover{background:#cfe3d9}.link{cursor:pointer;text-underline-offset:4px;text-decoration:underline;text-decoration-color:var(--line);background:0 0;border:0;padding:0}.link:hover{text-decoration-color:var(--green)}.head{z-index:30;padding:14px var(--pad);-webkit-backdrop-filter:blur(10px);background:#f6f2eae6;align-items:center;gap:28px;display:flex;position:sticky;top:0}.logo{font-family:var(--serif);align-items:baseline;gap:8px;font-size:26px;text-decoration:none;display:inline-flex}.logo span{font-family:var(--sans);color:var(--mute);letter-spacing:.08em;text-transform:uppercase;font-size:12px}.head nav{gap:24px;margin-left:auto;font-size:15px;display:flex}.head nav a{color:var(--mute);text-decoration:none}.head nav a:hover{color:var(--ink)}.hero{padding:clamp(40px, 7vw, 110px) var(--pad);grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);align-items:center;gap:clamp(24px,5vw,90px);display:grid}.hero-copy{gap:22px;display:grid}.pill{background:var(--mint);color:var(--green);border-radius:999px;justify-self:start;padding:6px 14px;font-size:13px;font-weight:600}.hero h1{font-size:clamp(46px,6.6vw,112px);line-height:1}.lede{color:var(--mute);max-width:30em;font-size:clamp(17px,1.4vw,21px)}.row{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.next{background:var(--card);box-shadow:0 1px 0 var(--line), 0 30px 60px #2f6f621f;border-radius:28px;gap:10px;padding:28px;display:grid;position:relative;overflow:hidden}.next-t{font-size:clamp(30px,2.8vw,44px);line-height:1.05}.next .btn{justify-self:start;margin-top:10px}.smile{opacity:.14;width:150px;position:absolute;bottom:-24px;right:-18px}.smile path{fill:none;stroke:var(--green);stroke-width:10px;stroke-linecap:round}.smile circle{fill:var(--green)}.prices{padding:clamp(50px, 7vw, 110px) var(--pad);gap:26px;display:grid}.prices h2,.book h2,.team h2,.visit h2{font-size:clamp(34px,4.2vw,68px);line-height:1.05}.prices ul{border-top:1px solid var(--line)}.prices li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 6em;align-items:center;gap:20px;padding:18px 0;display:grid}.prices li div{gap:2px;display:grid}.prices li b{font-size:18px;font-weight:600}.prices .price{text-align:right;font-size:28px}.prices .dur{text-transform:none;letter-spacing:0}.book{margin:0 var(--pad);background:var(--card);box-shadow:0 1px 0 var(--line), 0 40px 80px #2f6f621a;border-radius:32px;grid-template-columns:minmax(0,1fr) 280px;gap:24px 40px;padding:clamp(28px,4vw,56px);display:grid}.book-head{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:end;gap:20px;display:flex}.steps{counter-reset:s;align-self:end;align-items:center;gap:6px;display:flex}.steps li{counter-increment:s;white-space:nowrap;background:var(--cream);text-transform:none;letter-spacing:0;border-radius:999px;align-items:center;gap:4px;height:34px;padding:0 12px;font-size:13px;transition:background .3s,color .3s;display:inline-flex}.steps li:before{content:counter(s) " ";opacity:.6}.steps li.cur{background:var(--green);color:#fff}.steps li.done{background:var(--mint);color:var(--green)}.panes{min-height:380px;position:relative}.pane{display:none}.pane.on{display:block}.tgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.tcard{text-align:left;border:1px solid var(--line);background:var(--cream);cursor:pointer;border-radius:18px;gap:4px;padding:18px;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid}.tcard:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 10px 24px #2f6f621a}.tcard.sel{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.tcard b{font-weight:600}.cal-head{justify-content:space-between;align-items:center;max-width:520px;margin-bottom:12px;display:flex}.cal-head p{font-size:22px}.icon{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:50%;width:40px;height:40px}.icon:disabled{opacity:.3;cursor:default}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:520px;margin-bottom:12px;display:grid}.cal .dow{text-align:center;padding:4px 0}.cal button{aspect-ratio:1.15;border:1px solid var(--line);background:var(--card);cursor:pointer;font-family:var(--sans);letter-spacing:0;color:var(--ink);text-transform:none;border-radius:14px;font-size:15px;transition:background .2s,border-color .2s;position:relative}.cal button i{background:var(--green);width:18px;height:3px;opacity:calc(.3 + var(--n) * .7);border-radius:3px;position:absolute;bottom:7px;left:50%;translate:-50%}.cal button:hover:not(:disabled){border-color:var(--green)}.cal button:disabled{color:#b5aea2;cursor:default;background:0 0;border-color:#0000}.cal button.today{font-weight:700}.cal button.sel{background:var(--green);color:#fff}.cal button.sel i{background:#fff}.slots{gap:18px;margin-top:14px;display:grid}.sg>div{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.sg button{border:1px solid var(--line);background:var(--cream);cursor:pointer;font-variant-numeric:tabular-nums;border-radius:12px;min-width:84px;padding:11px 14px;transition:border-color .2s,background .2s}.sg button:hover{border-color:var(--green);background:var(--mint)}.details{gap:14px;max-width:420px;display:grid}.details label{gap:6px;font-size:14px;font-weight:600;display:grid}.details input:not([type=checkbox]){border:1px solid var(--line);background:var(--cream);border-radius:14px;min-height:50px;padding:0 16px;font-weight:400}.details input:focus{outline:2px solid var(--green);outline-offset:1px}.details .chk{align-items:center;gap:10px;font-weight:400;display:flex}.chk input{width:20px;height:20px;accent-color:var(--green)}.details .btn{justify-self:start;margin-top:6px}.done{justify-items:start;gap:12px;padding-top:10px;display:grid}.done h3{font-size:clamp(30px,3vw,46px);line-height:1.1}.tick{width:64px;height:64px}.tick circle{fill:var(--mint)}.tick path{fill:none;stroke:var(--green);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40}.summary{background:var(--cream);border-radius:20px;align-self:start;gap:12px;padding:22px;display:grid;position:sticky;top:90px}.summary dl div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;font-size:15px;display:flex}.summary dt{color:var(--mute)}.summary dd{text-align:right;font-weight:600}.summary .link{justify-self:start;font-size:14px}.team{padding:clamp(60px, 8vw, 120px) var(--pad) 0;gap:26px;display:grid}.team ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.team li{border-radius:var(--r);background:var(--card);box-shadow:0 1px 0 var(--line);gap:4px;padding:24px;display:grid}.av{background:var(--mint);width:64px;height:64px;color:var(--green);border-radius:50%;place-items:center;margin-bottom:10px;font-size:24px;display:grid}.team b{font-size:18px;font-weight:600}.visit{padding:clamp(60px, 8vw, 120px) var(--pad);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,5vw,80px);display:grid}.visit>div{gap:16px;display:grid}.hours{border-top:1px solid var(--line);margin-top:6px}.hours div{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 0;display:flex}.hours dd{text-transform:none;letter-spacing:0;color:var(--ink);font-variant-numeric:tabular-nums;font-size:15px}.map{width:100%;height:auto}.map .bg{fill:#e9e3d6}.map .road{fill:none;stroke:#fff;stroke-width:10px;stroke-linecap:round}.map .road.big{stroke-width:18px}.map .blk{fill:#ddd5c4}.map .lbl{font:600 12px var(--sans);fill:var(--mute)}.map .pin{fill:var(--green)}.map .pinring{fill:var(--green);opacity:.2;transform-origin:50%;transform-box:fill-box;animation:2.2s ease-out infinite ring}@keyframes ring{0%{opacity:.5;transform:scale(.5)}to{opacity:0;transform:scale(1.6)}}.foot{padding:30px var(--pad) 40px;border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;display:flex}.foot .small{text-align:right;max-width:44em}@media (width<=900px){.head nav{display:none}.head .btn{margin-left:auto}.hero,.visit{grid-template-columns:minmax(0,1fr)}.book{grid-template-columns:minmax(0,1fr);margin:0 12px}.summary{position:static}.team ul{grid-template-columns:minmax(0,1fr)}.prices li{grid-template-columns:1fr auto}.prices .dur{display:none}.foot{flex-direction:column;align-items:start}.foot .small{text-align:left}}@media (width<=600px){.steps li{height:30px;padding:0 12px;font-size:0}.steps li:before{opacity:1;font-size:12px}.cal{gap:4px}.cal button{border-radius:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
