@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-wght-normal.BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-ext-wght-normal.CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-latin-wght-normal.DLoelf7F.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}html{--bg:#fff;--surface:#f6f3ef;--surface-2:#ede8e1;--ink:#17130f;--muted:#625a52;--line:#e8e2da;--accent:#c8431c;--on-accent:#fff;--accent-soft:#fbe9e1;--accent-text:#ad3816;--font:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--radius:20px;--radius-lg:30px;--gutter:clamp(1.1rem, .5rem + 2.6vw, 2.5rem);--d-bg:#fff;--d-ink:var(--ink);--d-muted:var(--muted);--d-line:var(--line);--d-accent:var(--accent);--d-on-accent:var(--on-accent);--d-accent-text:var(--accent-text);--d-font-body:var(--font);--d-font-display:var(--font);--d-radius:24px;--d-radius-btn:999px;color-scheme:light;scroll-padding-top:5.5rem}html[data-domain=clinic]{--surface:#f2f6fb;--surface-2:#e5edf7;--ink:#0d1726;--muted:#536176;--line:#e1e8f1;--accent:#1d5fd6;--accent-soft:#e4eefd;--accent-text:#1a54bd}html[data-domain=construction]{--surface:#f5f4f0;--surface-2:#ebe8e0;--ink:#161512;--muted:#5d5a53;--line:#e6e2da;--accent:#f2a20a;--on-accent:#1d1503;--accent-soft:#fdf2d5;--accent-text:#8a5800}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.65 var(--font);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}h1,h2,h3,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{width:min(1220px, 100% - 2 * var(--gutter));margin-inline:auto}h1,h2,h3{letter-spacing:-.035em;text-wrap:balance;font-weight:650;line-height:1.02}h1{font-size:clamp(2.7rem,1.5rem + 4.4vw,5rem)}h2{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.5rem)}.eyebrow{letter-spacing:.02em;color:var(--accent-text);font-size:.85rem;font-weight:600}.body-l{color:var(--muted);font-size:1.15rem}.btn{min-height:2.9rem;font:600 .98rem/1 var(--font);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.7rem 1.3rem;text-decoration:none;transition:transform .2s,background-color .2s,box-shadow .2s;display:inline-flex}.btn--lg{min-height:3.4rem;padding:.9rem 1.6rem;font-size:1.05rem}.btn--primary{color:var(--on-accent);background:var(--accent);box-shadow:0 10px 24px -12px color-mix(in srgb, var(--accent) 80%, transparent)}.btn--primary:hover{box-shadow:0 16px 30px -14px color-mix(in srgb, var(--accent) 85%, transparent);transform:translateY(-1px)}.btn--ghost{color:var(--ink);background:var(--bg);border-color:var(--line)}.btn--ghost:hover{background:var(--surface)}.top{z-index:40;backdrop-filter:blur(16px)saturate(1.5);border-bottom:1px solid var(--line);background:#ffffffd1;position:sticky;top:0}html[data-framed] .top{background:#fff}.bar{align-items:center;gap:2rem;min-height:4.5rem;display:flex;position:relative}.logo{align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.logo-mark{width:2.1rem;height:2.1rem;color:var(--on-accent);background:var(--accent);border-radius:10px;place-items:center;font-weight:700;display:grid}.logo-name{letter-spacing:-.03em;font-size:1.3rem;font-weight:700}.nav{align-items:center;gap:1.75rem;margin-left:auto;display:flex}.nav ul{gap:.25rem;display:flex}.nav ul a{color:var(--muted);border-radius:999px;padding:.55rem .85rem;font-size:.97rem;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:inline-block}.nav ul a:hover{color:var(--ink);background:var(--surface)}.menu{display:none}@media (width<=900px){.menu{min-height:2.75rem;font:600 .95rem/1 var(--font);color:var(--ink);background:var(--surface);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.55rem;margin-left:auto;padding:0 1rem;display:inline-flex}.menu-icon{border-block:2px solid;width:16px;height:10px;position:relative}.nav{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:.75rem;padding:.75rem;display:none;position:absolute;top:calc(100% + .5rem);left:0;right:0;box-shadow:0 24px 60px -20px #00000040}.nav[data-open]{display:flex}.nav ul{flex-direction:column}.nav ul a{color:var(--ink);padding:.85rem 1rem;font-size:1.05rem;display:block}}.hero{padding:clamp(2.5rem,1.5rem + 4vw,5.5rem) 0 clamp(3.5rem,2rem + 4vw,6rem)}.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(2.5rem,1rem + 4vw,5rem);display:grid}.chip{color:var(--ink);background:var(--surface);border-radius:999px;align-items:center;gap:.6rem;padding:.45rem .9rem .45rem .75rem;font-size:.9rem;font-weight:600;display:inline-flex}.pulse{background:#22a35a;border-radius:50%;width:.55rem;height:.55rem;position:relative}.hero-copy h1{max-width:14ch;margin-top:1.5rem}.lede{max-width:40ch;color:var(--muted);margin-top:1.5rem;font-size:1.2rem}.actions{flex-wrap:wrap;gap:.75rem;margin-top:2.25rem;display:flex}.hero-media{position:relative}.hero-media>img{aspect-ratio:4/4.4;object-fit:cover;border-radius:var(--radius-lg);width:100%}.float-card{backdrop-filter:blur(12px);background:#fffffff0;border-radius:18px;align-items:center;gap:.85rem;max-width:19rem;padding:.95rem 1.2rem .95rem .95rem;display:flex;position:absolute;bottom:1.75rem;left:clamp(-1.5rem,-2vw,-.5rem);box-shadow:0 24px 50px -18px #00000059}.float-check{color:#fff;background:#22a35a;border-radius:50%;flex:none;place-items:center;width:2.4rem;height:2.4rem;display:grid}.float-title{font-weight:650;line-height:1.2;display:block}.float-text{color:var(--muted);margin-top:.15rem;font-size:.88rem;line-height:1.3;display:block}@media (width<=900px){.hero-grid{grid-template-columns:minmax(0,1fr)}.float-card{bottom:.75rem;left:.75rem}}.intro{background:var(--surface);padding:clamp(4rem,2.5rem + 5vw,7.5rem) 0}.intro-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(2.5rem,1rem + 5vw,6rem);display:grid}.intro-copy h2{max-width:16ch}.intro-copy .body-l{max-width:46ch;margin-top:1.4rem}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:2.5rem;display:grid}.stat{background:var(--bg);border-radius:var(--radius);padding:1.25rem 1.1rem}.stat-value{letter-spacing:-.04em;color:var(--accent-text);font-size:clamp(1.9rem,1.4rem + 1.6vw,2.75rem);font-weight:700;line-height:1}.stat-label{color:var(--muted);margin-top:.5rem;font-size:.9rem;line-height:1.35}.intro-media img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-lg);width:100%}@media (width<=900px){.intro-grid{grid-template-columns:minmax(0,1fr)}.intro-media img{aspect-ratio:4/3}}.head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.25rem 3rem;margin-bottom:clamp(2.25rem,1.5rem + 2vw,3.5rem);display:flex}.head h2{max-width:18ch;margin-top:.6rem}.head .body-l{max-width:36ch}.offer{padding:clamp(4.5rem,3rem + 5vw,8rem) 0}.bento{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.bento-media{grid-row:span 2}.bento-media img{object-fit:cover;border-radius:var(--radius);width:100%;height:100%;min-height:20rem}.card{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:1.5rem;transition:transform .25s,background-color .25s;display:flex}.card:hover{background:var(--surface-2);transform:translateY(-3px)}.card h3{letter-spacing:-.02em;font-size:1.3rem;line-height:1.15}.card p{color:var(--muted);font-size:.98rem}.price{color:var(--accent-text);background:var(--accent-soft);border-radius:999px;align-self:flex-start;margin-top:auto;padding:.35rem .75rem;font-size:.9rem;font-weight:650}.card--note{color:var(--ink);background:var(--accent-soft);justify-content:center;font-size:1rem;line-height:1.5}.card--note:hover{background:var(--accent-soft);transform:none}@media (width<=900px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento-media{grid-area:auto/1/auto/-1}.bento-media img{aspect-ratio:16/10;min-height:0}}@media (width<=560px){.bento{grid-template-columns:minmax(0,1fr)}}.feature{background:var(--surface);padding:clamp(4rem,2.5rem + 5vw,7.5rem) 0}.feature-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2.5rem,1rem + 5vw,6rem);display:grid}.feature-media img{aspect-ratio:5/4.6;object-fit:cover;border-radius:var(--radius-lg);width:100%}.feature-copy h2{margin-top:.6rem}.feature-copy .body-l{margin-top:1.25rem}.checks{gap:.7rem;margin-top:2rem;display:grid}.checks li{background:var(--bg);border-radius:16px;align-items:center;gap:.85rem;padding:.9rem 1rem;font-weight:500;display:flex}.check{width:1.75rem;height:1.75rem;color:var(--on-accent);background:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}@media (width<=900px){.feature-grid{grid-template-columns:minmax(0,1fr)}}.gallery{padding:clamp(4.5rem,3rem + 5vw,8rem) 0}.gallery-grid{grid-template-rows:1fr 1fr;grid-template-columns:1.25fr 1fr;gap:.9rem;height:clamp(26rem,20rem + 18vw,40rem);display:grid}.shot{border-radius:var(--radius);position:relative;overflow:hidden}.shot:first-child{grid-row:span 2}.shot img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.22,1,.36,1)}.shot:hover img{transform:scale(1.04)}.shot figcaption{background:#ffffffeb;border-radius:999px;padding:.4rem .85rem;font-size:.88rem;font-weight:600;position:absolute;bottom:.9rem;left:.9rem}@media (width<=700px){.gallery-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);height:auto}.shot:first-child{grid-row:auto}.shot img{aspect-ratio:4/3;height:auto}}.reviews{background:var(--surface);padding:clamp(4rem,2.5rem + 5vw,7rem) 0}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.review{background:var(--bg);border-radius:var(--radius);flex-direction:column;justify-content:space-between;gap:1.75rem;padding:1.75rem;display:flex}.review blockquote{letter-spacing:-.01em;font-size:1.15rem;line-height:1.5}.review figcaption{align-items:center;gap:.8rem;display:flex}.review figcaption strong{font-weight:650;display:block}.review figcaption span span{color:var(--muted);font-size:.88rem;display:block}.avatar{width:2.6rem;height:2.6rem;color:var(--accent-text);background:var(--accent-soft);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;display:grid}@media (width<=900px){.review-grid{grid-template-columns:minmax(0,1fr)}}.faq{padding:clamp(4rem,2.5rem + 5vw,7rem) 0}.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(2rem,1rem + 4vw,5rem);display:grid}.faq h2{margin-top:.6rem}.faq-list{gap:.6rem;display:grid}.faq details{background:var(--surface);border-radius:var(--radius)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.4rem;font-size:1.1rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.plus{background:var(--bg);border-radius:50%;flex:none;width:1.6rem;height:1.6rem;position:relative}.plus:before,.plus:after{content:"";background:var(--ink);width:10px;height:2px;transition:transform .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.plus:after{transform:translate(-50%,-50%)rotate(90deg)}.faq details[open] .plus:after{transform:translate(-50%,-50%)rotate(0)}.faq details p{color:var(--muted);padding:0 1.4rem 1.3rem}@media (width<=900px){.faq-grid{grid-template-columns:minmax(0,1fr)}}.booking{padding:0 0 clamp(4.5rem,3rem + 5vw,8rem)}.booking-card{background:var(--accent-soft);border-radius:var(--radius-lg);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,1rem + 4vw,4.5rem);padding:clamp(1.5rem,.8rem + 3vw,3.5rem);display:grid}.booking-copy h2{margin-top:.6rem}.booking-copy .body-l{color:var(--ink);opacity:.8;margin-top:1.1rem}.hours{background:#fff9;border-radius:16px;margin-top:2rem;padding:1.2rem 1.3rem}.hours-title{margin-bottom:.35rem;font-weight:650}.hours li{color:var(--muted);font-size:.95rem}.form-card{background:var(--bg);border-radius:24px;padding:clamp(1.25rem,.8rem + 2vw,2.25rem);box-shadow:0 30px 60px -30px #00000040}.demo-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.demo-field{gap:.4rem;display:grid;position:relative}.demo-field.is-wide{grid-column:1/-1}.demo-label{font-size:.9rem;font-weight:600}.demo-field input,.demo-field select,.demo-field textarea{width:100%;min-height:3.1rem;font:inherit;color:var(--ink);background:var(--surface);border:1px solid #0000;border-radius:14px;padding:.7rem .95rem;font-size:1rem;transition:border-color .2s,background-color .2s}.demo-field select{appearance:none;cursor:pointer;padding-right:2.6rem}.demo-field:has(select):after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);pointer-events:none;width:.5rem;height:.5rem;position:absolute;bottom:1.3rem;right:1.1rem;transform:rotate(45deg)}.demo-field textarea{resize:vertical;min-height:6rem}.demo-field :is(input,select,textarea):hover{border-color:var(--line)}.demo-field :is(input,select,textarea):focus-visible{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);outline:none}.demo-submit{width:100%;min-height:3.4rem;font:650 1.05rem/1 var(--font);color:var(--on-accent);background:var(--accent);cursor:pointer;border:0;border-radius:999px;margin-top:1.4rem;transition:transform .2s}.demo-submit:hover{transform:translateY(-1px)}.demo-privacy{text-align:center;color:var(--muted);margin-top:.85rem;font-size:.88rem}@media (width<=900px){.booking-card{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.demo-form-grid{grid-template-columns:minmax(0,1fr)}}.foot{border-top:1px solid var(--line);padding:clamp(3rem,2rem + 3vw,4.5rem) 0 5.5rem;font-size:.97rem}.foot-grid{grid-template-columns:1.3fr 1fr 1fr auto;gap:2rem;display:grid}.foot-tag{color:var(--muted);margin-top:.6rem}.foot h3{letter-spacing:-.01em;margin-bottom:.6rem;font-size:.95rem}.foot li,.foot-grid p{color:var(--muted)}.foot .logo{color:var(--ink)}.foot-actions{justify-items:start;gap:.9rem;display:grid}.social{gap:1rem;display:flex}.foot-base{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:3rem;padding-top:1.5rem;font-size:.88rem;display:flex}.foot-base a{color:var(--ink);text-underline-offset:.25em;font-weight:600}@media (width<=900px){.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.foot-grid{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:no-preference){.hero-copy>*{animation:.8s cubic-bezier(.22,1,.36,1) both modern-in}.hero-copy>:nth-child(2){animation-delay:60ms}.hero-copy>:nth-child(3){animation-delay:.12s}.hero-copy>:nth-child(4){animation-delay:.18s}.hero-media>img{animation:1s cubic-bezier(.22,1,.36,1) both modern-in}.float-card{animation:.7s cubic-bezier(.34,1.56,.64,1) .6s both modern-pop}.pulse:after{content:"";background:inherit;border-radius:50%;animation:2s ease-out infinite modern-pulse;position:absolute;inset:0}@supports (animation-timeline:view()){.reveal,.card,.review,.shot{animation:linear both modern-in view();animation-range:entry cover 22%}}}@keyframes modern-in{0%{opacity:0;transform:translateY(22px)}}@keyframes modern-pop{0%{opacity:0;transform:translateY(14px)scale(.92)}}@keyframes modern-pulse{to{opacity:0;transform:scale(2.6)}}
