@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/bricolage-grotesque-vietnamese-opsz-normal.D9N6E8K1.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-opsz-normal.IcJDqblK.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-opsz-normal.Cre6nC2_.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{color-scheme:light;--font:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--bg:#fff;--surface:#fff;--tint:#f3f6fb;--tint-strong:#e6ecf7;--ink:#183440;--text:#3a4b57;--muted:#5c6b76;--line:#e3e8ef;--input-border:#7b8a96;--accent:#2251ff;--accent-hover:#1a3fd6;--accent-soft:#edf1ff;--on-accent:#fff;--navy:#183440;--on-navy:#fff;--on-navy-muted:#b7c6d3;--navy-highlight:#a9bcff;--error:#c0262d;--success:#16794d;--shadow-soft:0 1px 2px #1834400d, 0 18px 40px -22px #1834404d;--shadow-lift:0 2px 6px #1834400f, 0 30px 60px -28px #1834406b;--shadow-render:drop-shadow(0 18px 22px #18344029);--r-card:28px;--r-panel:40px;--r-input:14px;--container:1200px;--gutter:clamp(1.25rem, 4vw, 2rem);--section-y:clamp(4.5rem, 9vw, 7.5rem);--ease:cubic-bezier(.16, 1, .3, 1);--ease-snap:cubic-bezier(.625, .05, 0, 1)}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.35s}.site-header{view-transition-name:site-header}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-padding-top:110px}@media (prefers-reduced-motion:no-preference){html:not(.lenis){scroll-behavior:smooth}}html.lenis,html.lenis body{height:auto}.lenis.lenis-stopped{overflow:clip}.lenis [data-lenis-prevent]{overscroll-behavior:contain}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1.0625rem;line-height:1.65}body.menu-open{overflow:hidden}img,picture{max-width:100%;height:auto;display:block}.fill picture,.fill img{width:100%;height:100%}.fill img{object-fit:cover}a{color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:2px}a:hover{color:var(--ink);text-decoration-color:currentColor}:is(p,li)>a[href^=tel\:]{white-space:nowrap}h1,h2,h3,h4{color:var(--ink);letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:700;line-height:1.08}h1{letter-spacing:-.035em;font-size:clamp(2.5rem,1.4rem + 3.4vw,3.9rem);line-height:1.03}h2{letter-spacing:-.03em;font-size:clamp(2rem,1.35rem + 2.4vw,3.1rem)}h3{letter-spacing:-.015em;font-size:1.3rem;line-height:1.2}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:10px}::selection{background:var(--accent);color:var(--on-accent)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent);color:var(--on-accent);border-radius:999px;padding:.8rem 1.2rem;font-weight:650;text-decoration:none;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.section+.section{padding-top:0}main .section:last-child{padding-bottom:0}.hero+.section{padding-top:0}.lead{max-width:42ch;color:var(--muted);font-size:clamp(1.15rem,1rem + .5vw,1.35rem);line-height:1.5}.section-head{max-width:60ch;margin-bottom:clamp(2rem,4vw,3rem)}.section-head p{color:var(--muted);margin-top:1rem;font-size:1.15rem}.section-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 2.5rem;margin-bottom:clamp(2rem,4vw,3rem);display:flex}.section-top>div{max-width:62ch}.section-intro{max-width:46ch;color:var(--muted);margin-top:1rem;font-size:1.15rem}@media (prefers-reduced-motion:no-preference){.enter{animation:enter .9s var(--ease) both;animation-delay:var(--d,0s)}}@keyframes enter{0%{opacity:0;transform:translateY(18px)}}.js .reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:var(--d,0s);transform:translateY(18px)}.js .reveal.in{opacity:1;transform:none}.js [data-split]:not(.is-split){visibility:hidden}.motion-failed [data-split]{visibility:visible!important}.split-line-mask{margin-bottom:-.14em;padding-bottom:.14em}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}.js .reveal{opacity:1;transform:none}}.btn{isolation:isolate;min-height:52px;font:inherit;white-space:nowrap;cursor:pointer;transition:transform .3s var(--ease), background-color .2s ease, border-color .6s var(--ease-snap), color .6s var(--ease-snap);border:1.5px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;padding:.8rem 1.5rem;font-size:1.02rem;font-weight:650;line-height:1.1;text-decoration:none;display:inline-flex;position:relative}.btn:active{transform:scale(.97)}.btn svg{flex:none}.btn-fill{z-index:-1;border-radius:inherit;pointer-events:none;position:absolute;inset:-1.5px;overflow:hidden}.btn-fill>span{aspect-ratio:1;background:var(--btn-fill,var(--navy));width:100%;transition:transform .7s var(--ease-snap);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.btn:hover .btn-fill>span{transform:translate(-50%,-50%)scale(1)}.btn-primary{--btn-fill:var(--navy);background:var(--accent);color:var(--on-accent);box-shadow:0 12px 26px -14px #2251ff73}.btn-primary:hover{color:var(--on-accent)}.btn-primary:not(.has-fill):hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.7;cursor:progress;transform:none}.btn-line{--btn-fill:var(--navy);border-color:var(--input-border);color:var(--ink);background:0 0}.btn-line:hover{border-color:var(--navy);color:var(--on-navy)}.btn-line:not(.has-fill):hover{background:var(--navy)}.btn-soft{--btn-fill:var(--accent);background:var(--tint);color:var(--ink)}.btn-soft:hover{color:var(--on-accent)}.btn-soft:not(.has-fill):hover{background:var(--accent)}.btn-on-navy{--btn-fill:var(--on-navy);color:var(--on-navy);border-color:#eef5f880}.btn-on-navy:hover{border-color:var(--on-navy);color:var(--navy)}.btn-on-navy:not(.has-fill):hover{background:var(--on-navy)}.link-arrow{--size:34px;--gap:.6rem;justify-self:start;align-items:center;gap:var(--gap);color:var(--ink);font-weight:650;text-decoration:none;display:inline-flex;position:relative}.link-arrow .bubble,.link-arrow .arrow{width:var(--size);height:var(--size);transition:transform .735s var(--ease-snap);border-radius:999px;flex:none;place-items:center;display:grid}.link-arrow .bubble{background:var(--accent);color:var(--on-accent);transform-origin:0;transform:scale(0)}.link-arrow .arrow{margin-top:calc(var(--size) / -2);background:var(--accent-soft);color:var(--ink);transform-origin:100%;position:absolute;top:50%;right:0}.link-arrow .label{transform:translateX(calc(-1 * (var(--size) + var(--gap))));transition:transform .735s var(--ease-snap)}.link-arrow:hover .bubble,.link-arrow:focus-visible .bubble,a:hover>.link-arrow .bubble,a:focus-visible>.link-arrow .bubble{transform:scale(1)}.link-arrow:hover .label,.link-arrow:focus-visible .label,a:hover>.link-arrow .label,a:focus-visible>.link-arrow .label{transform:none}.link-arrow:hover .arrow,.link-arrow:focus-visible .arrow,a:hover>.link-arrow .arrow,a:focus-visible>.link-arrow .arrow{transform:scale(0)}[data-underline]{text-decoration:none;position:relative}[data-underline]:before{content:"";transform-origin:100%;width:100%;height:max(1.5px,.08em);transition:transform .735s var(--ease-snap);background:currentColor;position:absolute;bottom:-.1em;left:0;transform:scaleX(0)}@media (hover:hover) and (pointer:fine){[data-underline]:hover:before,a:hover>[data-underline]:before{transform-origin:0;transform:scaleX(1)}}.site-header{z-index:20;padding-top:12px;position:sticky;top:0}.header-bar{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:saturate(1.3)blur(14px);height:68px;box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:1.25rem;padding:0 10px 0 16px;display:flex}@supports (animation-timeline:scroll()){.header-bar{animation:1ms linear both header-at-top scroll(root);animation-range:0 5em}@keyframes header-at-top{0%{background-color:#0000;border-color:#0000;box-shadow:0 1px 2px #18344000,0 18px 40px -22px #18344000}}}.brand{color:var(--ink);flex:none;align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand-text{flex-direction:column;font-size:.92rem;line-height:1.12;display:flex}.brand-text strong{letter-spacing:-.01em;font-size:1.04rem;font-weight:700}.brand-text span{color:var(--muted)}.main-nav{margin-left:auto}.main-nav ul{gap:.2rem;list-style:none;display:flex}.main-nav a{color:var(--ink);padding:.55rem .9rem;font-weight:550;text-decoration:none;display:block;position:relative}.main-nav a:after{content:"";transform-origin:100%;height:2px;transition:transform .735s var(--ease-snap);background:currentColor;border-radius:2px;position:absolute;bottom:.35rem;left:.9rem;right:.9rem;transform:scaleX(0)}.main-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.main-nav a[aria-current=page]{font-weight:700}.main-nav a[aria-current=page]:after{background:var(--accent);transform:scaleX(1)}.header-actions{align-items:center;gap:.5rem;display:flex}.header-actions .btn{min-height:48px;padding-inline:1.3rem}.header-phone{color:var(--ink);white-space:nowrap;align-items:center;gap:.45rem;padding:0 .75rem;font-weight:650;text-decoration:none;display:inline-flex}.header-phone:hover{color:var(--accent)}.icon-btn{background:var(--tint);width:48px;height:48px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0;display:none}.icon-btn:hover{background:var(--tint-strong);color:var(--ink)}.icon-btn.accent{background:var(--accent);color:var(--on-accent)}.mobile-menu{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);max-height:calc(100dvh - 100px);box-shadow:var(--shadow-lift);margin-top:10px;padding:.5rem 1.25rem 1.25rem;overflow-y:auto}.mobile-menu ul{list-style:none}.mobile-menu li a{border-bottom:1px solid var(--line);color:var(--ink);padding:.95rem .25rem;font-size:1.3rem;font-weight:650;text-decoration:none;display:block}.mobile-menu li:last-child a{border-bottom:0}.mobile-menu li a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent)}.mobile-menu-actions{gap:.65rem;margin-top:.75rem;display:grid}@media (width<=1199px){.header-phone{display:none}}@media (width<=1023px){.main-nav,.header-actions .btn{display:none}.header-actions{margin-left:auto}.icon-btn{display:grid}.header-bar{animation:none}}@media (width>=1024px){.mobile-menu{display:none!important}}@media (width<=420px){.header-bar{height:62px;padding-left:12px}.brand-text{font-size:.82rem}.brand-text strong{font-size:.94rem}.icon-btn{width:44px;height:44px}}.hero{padding-block:clamp(1rem,3vw,2rem) clamp(3.5rem,7vw,5.5rem);overflow-x:clip}.hero-bento{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.hero-copy{padding:clamp(1.25rem,3vw,2rem) .25rem clamp(1rem,2vw,1.5rem)}.eyebrow{background:var(--tint);color:var(--ink);border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .95rem .45rem .7rem;font-size:.95rem;font-weight:600;line-height:1.2;display:inline-flex}.eyebrow svg{color:var(--accent)}.hero h1{letter-spacing:-.04em;text-wrap:wrap;max-width:12.6ch;margin-top:1.4rem;font-size:clamp(2.7rem,1.1rem + 4.6vw,4.7rem);line-height:1.02}.h1-pill{background:linear-gradient(135deg, var(--accent-soft), var(--tint-strong));vertical-align:middle;border-radius:999px;width:1.7em;height:.86em;margin-top:-.1em;display:inline-block;position:relative}.h1-pill img{filter:drop-shadow(0 .05em .06em #18344047);width:auto;height:.74em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-10deg)}.hero .lead{margin-top:1.4rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.hero-portrait{margin:0;position:relative}.arch{border-radius:999px 999px var(--r-card) var(--r-card);background:var(--tint);overflow:hidden}.hero-portrait .arch{aspect-ratio:4/5;border-radius:400px 400px var(--r-card) var(--r-card);max-height:620px}.hero-portrait .arch img{object-position:50% 22%}.hero-portrait figcaption{-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);color:var(--muted);background:#ffffffdb;border-radius:18px;flex-direction:column;padding:.7rem 1rem;font-size:.92rem;line-height:1.35;display:flex;position:absolute;bottom:14px;left:14px}.hero-portrait figcaption strong{color:var(--ink);font-weight:700}.hero-card{border-radius:var(--r-card);background:var(--tint);min-height:190px;color:var(--ink);flex-direction:column;padding:1.35rem 1.4rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.hero-card:hover{color:var(--ink)}.hero-card-label{font-size:.95rem;font-weight:650}.hero-hours{border:1px solid var(--line);background:var(--surface)}.hero-call{background:var(--accent);color:var(--on-accent);transition:background-color .5s var(--ease-snap)}.hero-call:hover{background:var(--accent-hover);color:var(--on-accent)}.hero-call-text{color:#ffffffd1;max-width:17ch;margin-top:.5rem;font-size:.95rem;line-height:1.4}.hero-call-number{letter-spacing:-.02em;white-space:nowrap;margin-top:.35rem;font-size:clamp(1.45rem,1rem + 1vw,1.8rem);font-weight:700;line-height:1.15}.round-arrow{background:var(--on-accent);width:60px;height:60px;color:var(--accent);border-radius:999px;place-items:center;display:grid;position:absolute;bottom:1.1rem;right:1.1rem}@media (prefers-reduced-motion:no-preference){.hero-call:hover .round-arrow svg{animation:ring .9s var(--ease) both}}@keyframes ring{20%{transform:rotate(-16deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(4deg)}}.hero-price .hero-card-label{margin-top:auto}.hero-price-img{width:50%;max-width:180px;filter:var(--shadow-render);transition:transform .8s var(--ease-snap);position:absolute;top:-10%;right:-5%;transform:rotate(8deg)}.hero-price:hover .hero-price-img{transform:rotate(-2deg)translateY(-6px)scale(1.05)}.hero-price-value{letter-spacing:-.03em;white-space:nowrap;font-size:clamp(1.7rem,1.2rem + 1.1vw,2.15rem);font-weight:700;line-height:1.1}.hero-price-text{color:var(--muted);margin-top:.2rem;font-size:.95rem;line-height:1.35}@media (width>=700px) and (width<=1023px){.hero-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-copy{grid-column:1/-1}.hero-portrait{grid-row:2/span 3}.hero-portrait .arch{aspect-ratio:auto;height:100%;max-height:none}.hero-card{min-height:200px}}@media (width>=1024px){.hero-bento{grid-template-rows:1fr auto;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.2fr)}.hero-copy{grid-column:1/4;align-self:center;padding-block:1rem 2rem}.hero-portrait{grid-area:1/4/3}.hero-portrait .arch{aspect-ratio:auto;height:100%;max-height:none}}.hours-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;display:flex}.hours-title{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:700;line-height:1.2}.hours-status{background:color-mix(in srgb, var(--error) 9%, transparent);color:var(--error);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .75rem .3rem .6rem;font-size:.86rem;font-weight:700;line-height:1.2;display:inline-flex}[data-state=open] .hours-status{background:color-mix(in srgb, var(--success) 10%, transparent);color:var(--success)}.hours-dot{background:currentColor;border-radius:50%;width:.55rem;height:.55rem}@media (prefers-reduced-motion:no-preference){[data-state=open] .hours-dot{animation:2s ease-out infinite pulse}}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--success) 45%, transparent)}70%,to{box-shadow:0 0 0 .5rem color-mix(in srgb, var(--success) 0%, transparent)}}.hours-week{gap:5px;margin-top:1.1rem;list-style:none;display:flex}.hours-week li{background:var(--accent-soft);height:34px;color:var(--ink);border-radius:10px;flex:1;place-items:center;font-size:.8rem;font-weight:700;display:grid}.hours-week li.closed{border:1px dashed var(--line);color:var(--muted);background:0 0}.hours-week li[data-today]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.hours-week li.closed[data-today]{border:1.5px solid var(--ink);color:var(--ink);background:0 0}.hours-time{color:var(--ink);letter-spacing:-.02em;margin-top:auto;padding-top:.9rem;font-size:1.35rem;font-weight:700;line-height:1.2}.hours-note{color:var(--muted);margin-top:.15rem;font-size:.92rem;line-height:1.35}.hours-note:empty{display:none}.hours-compact{flex-direction:column;flex:1;display:flex}.hours-table{gap:2px;margin-top:1rem;list-style:none;display:grid}.hours-table li{font-variant-numeric:tabular-nums;border-radius:999px;justify-content:space-between;gap:1rem;padding:.55rem .85rem;display:flex}.hours-table li[data-today]{background:var(--tint);color:var(--ink);font-weight:700}.hours-full .hours-note{margin-top:.85rem;padding-left:.85rem}.hours-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);padding:clamp(1.5rem,3vw,2rem)}.chips{flex-wrap:wrap;gap:.5rem;margin-top:1.5rem;list-style:none;display:flex}.chips li{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:.45rem .95rem;font-size:.95rem;font-weight:550}.svc-grid{gap:14px;list-style:none;display:grid}.svc-grid>li{display:flex}.svc-card{border-radius:var(--r-card);background:var(--tint);width:100%;min-height:360px;color:var(--text);transition:background-color .6s var(--ease-snap);flex-direction:column;padding:1.5rem;text-decoration:none;display:flex;position:relative;overflow:hidden}.svc-card:hover{background:var(--accent-soft);color:var(--text)}.svc-num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:650}.svc-icon{width:min(50%,210px);filter:var(--shadow-render);transition:transform .8s var(--ease-snap);position:absolute;top:1rem;right:1rem}.svc-card:hover .svc-icon{transform:translateY(-8px)rotate(-6deg)scale(1.05)}.svc-body{padding-block:7.5rem 1.25rem}.svc-body h2,.svc-body h3{font-size:1.5rem}.svc-body p{color:var(--muted);margin-top:.5rem;font-size:1rem;line-height:1.5}.svc-card .link-arrow{align-self:flex-start;margin-top:auto}@media (width>=640px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1024px){.svc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.svc-grid.is-wide{grid-template-columns:repeat(2,minmax(0,1fr))}}.svc-grid.is-wide .svc-card{min-height:400px;padding:clamp(1.5rem,3vw,2.25rem)}.svc-grid.is-wide .svc-icon{width:min(42%,230px)}.svc-grid.is-wide .svc-body{padding-top:9rem}.svc-grid.is-wide .svc-body h2{font-size:clamp(1.6rem,1.3rem + .8vw,2rem)}.svc-grid.is-wide .svc-body p{max-width:52ch;font-size:1.05rem}.visit-grid{gap:clamp(2.5rem,5vw,4rem);display:grid}.visit-photo{aspect-ratio:4/3;border-radius:var(--r-card);background:var(--tint);margin-top:2rem;overflow:hidden}.step-timeline{padding-top:.5rem;position:relative}.step-line{background:var(--line);width:2px;height:0;position:absolute;top:0;left:27px}.step-fill{background:var(--accent);transform-origin:top;position:absolute;inset:0}.step-list{gap:clamp(3rem,8vw,6rem);list-style:none;display:grid}.step{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.step-marker{z-index:1;border:1.5px solid var(--line);background:var(--surface);width:56px;height:56px;color:var(--ink);border-radius:999px;place-items:center;font-size:1.15rem;font-weight:700;transition:background-color .4s,border-color .4s,color .4s,box-shadow .4s;display:grid;position:relative}.step[data-status=active] .step-marker{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.step[data-current] .step-marker{box-shadow:0 0 0 8px color-mix(in srgb, var(--accent) 16%, transparent)}.step-content{padding-top:.55rem;transition:opacity .4s}.is-animated .step[data-status=inactive] .step-content{opacity:.45}.is-animated .step[data-status=active]:not([data-current]) .step-content{opacity:.75}.step-content h3{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}.step-content p{max-width:36ch;color:var(--muted);margin-top:.5rem;font-size:1.1rem}.visit-note{background:var(--accent-soft);color:var(--ink);border-radius:18px;align-items:flex-start;gap:.75rem;margin-top:clamp(2.5rem,5vw,3.5rem);padding:1rem 1.15rem;font-weight:550;display:flex}.visit-note svg{flex:none;margin-top:.15rem}@media (width>=960px){.visit-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:5rem}.visit-side{position:sticky;top:110px}.step-timeline{padding-top:1rem}}.avatars{margin-inline:calc(var(--gutter) * -1);padding:.5rem var(--gutter) 1rem;scroll-snap-type:x mandatory;scrollbar-width:none;grid-auto-columns:minmax(150px,42%);grid-auto-flow:column;gap:1.25rem;list-style:none;display:grid;overflow-x:auto}.avatars::-webkit-scrollbar{display:none}.avatars li{scroll-snap-align:start;text-align:center}.avatar{aspect-ratio:1;border:6px solid var(--surface);background:var(--tint);width:min(100%,170px);box-shadow:var(--shadow-soft);border-radius:999px;margin:0 auto;overflow:hidden}.avatar img{object-position:50% 22%}.initials{width:100%;height:100%;color:var(--ink);letter-spacing:.02em;place-items:center;font-size:clamp(1.8rem,2vw + 1rem,2.6rem);font-weight:700;display:grid}.initials.tone-accent{background:linear-gradient(150deg, var(--accent-soft), var(--tint))}.initials.tone-blue{background:linear-gradient(150deg, var(--tint-strong), var(--tint))}.avatars strong{color:var(--ink);margin-top:1rem;font-size:1.08rem;font-weight:700;display:block}.avatars .role{color:var(--muted);margin-top:.15rem;font-size:.95rem;line-height:1.35;display:block}@media (width>=900px){.avatars{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;margin-inline:0;padding-inline:0;overflow:visible}}.navy-panel{border-radius:var(--r-panel);background:var(--navy);color:var(--on-navy);gap:2rem;padding:clamp(2rem,5vw,4rem);display:grid}.navy-panel h2{color:var(--on-navy)}.navy-panel .panel-copy p{max-width:36ch;color:var(--on-navy-muted);margin-top:1rem;font-size:1.1rem}.navy-panel .btn{margin-top:1.75rem}.price-big{list-style:none;display:grid}.price-big a{color:var(--on-navy);transition:padding .6s var(--ease-snap);justify-content:space-between;align-items:baseline;gap:1.5rem;padding:1.1rem 0;font-size:1.1rem;font-weight:550;text-decoration:none;display:flex}.price-big li+li a{border-top:1px solid #eef5f824}.price-big a:hover{padding-inline:.5rem}.price-big strong{color:var(--navy-highlight);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:clamp(1.5rem,1.1rem + 1.2vw,2.1rem);font-weight:700}@media (width>=900px){.navy-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:4rem}}.faq-grid{gap:2rem;display:grid}.faq-tooth{display:none}.faq-list{gap:10px;display:grid}.faq-item{background:var(--tint);border-radius:22px;transition:background-color .4s}.faq-item[data-state=open]{background:var(--accent-soft)}.faq-item h3{font-size:inherit;letter-spacing:0}.faq-toggle{width:100%;color:var(--ink);font:inherit;text-align:left;text-wrap:pretty;cursor:pointer;background:0 0;border:0;border-radius:22px;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.15rem 1.15rem 1.15rem 1.5rem;font-size:1.12rem;font-weight:650;line-height:1.35;display:flex}.faq-icon{background:var(--surface);width:40px;height:40px;color:var(--ink);transition:transform .6s var(--ease-snap), background-color .3s ease, color .3s ease;border-radius:999px;flex:none;place-items:center;display:grid}.faq-toggle:hover .faq-icon{background:var(--accent);color:var(--on-accent)}[data-state=open] .faq-icon{background:var(--accent);color:var(--on-accent);transform:rotate(45deg)}.faq-answer{grid-template-rows:1fr;display:grid}.js .faq-answer{visibility:hidden;grid-template-rows:0fr}.js [data-state=open] .faq-answer,.motion-failed .faq-answer{visibility:visible;grid-template-rows:1fr}.motion-ready .faq-answer{transition:grid-template-rows .6s var(--ease-snap), visibility 0s linear .6s}.motion-ready [data-state=open] .faq-answer{transition:grid-template-rows .6s var(--ease-snap), visibility 0s linear 0s}.faq-answer-inner{min-height:0;overflow:hidden}.faq-answer-inner p{max-width:62ch;padding:0 1.5rem}.faq-answer-inner>:last-child{margin-bottom:1.4rem}.faq-link{margin:.8rem 1.5rem 0;font-weight:650;display:inline-block}@media (width>=960px){.faq-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:4rem}.faq-head{position:sticky;top:110px}.faq-tooth{filter:drop-shadow(0 22px 22px #1834401f);width:min(62%,260px);margin:2.5rem 0 0 1rem;display:block}}@media (width>=960px) and (prefers-reduced-motion:no-preference){.faq-tooth{animation:7s ease-in-out infinite float}}@keyframes float{0%,to{transform:translateY(0)rotate(-5deg)}50%{transform:translateY(-16px)rotate(3deg)}}.booking-grid{gap:2.5rem;display:grid}.booking-copy p.intro{max-width:38ch;color:var(--muted);margin-top:1rem;font-size:1.15rem}.contact-card{border-radius:var(--r-card);background:var(--tint);margin-top:2rem;padding:clamp(1.4rem,3vw,1.9rem)}.contact-card .link-arrow{margin-top:1.5rem}@media (width>=960px){.booking-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:4rem}}.form-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-lift);padding:clamp(1.5rem,4vw,2.5rem)}.field{gap:.45rem;display:grid}.field+.field,.field+.field-row,.field-row+.field{margin-top:1.2rem}.field-row{gap:1.2rem;display:grid}.field-row>.field+.field{margin-top:0}@media (width>=640px){.field-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.field label{color:var(--ink);font-size:1rem;font-weight:650}.field .hint{color:var(--muted);font-size:.92rem}.field input,.field textarea{border:1.5px solid var(--input-border);border-radius:var(--r-input);background:var(--surface);width:100%;min-height:54px;color:var(--ink);font:inherit;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s}.field input:hover,.field textarea:hover{border-color:var(--ink)}.field textarea{resize:vertical;min-height:150px}.field input:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.field input:user-invalid,.field textarea:user-invalid{border-color:var(--error)}.form-submit{margin-top:1.7rem}.form-note{color:var(--muted);margin-top:1rem;font-size:.92rem}.form-status{border:1px solid color-mix(in srgb, var(--error) 35%, transparent);border-radius:var(--r-input);background:color-mix(in srgb, var(--error) 8%, var(--surface));color:var(--ink);align-items:flex-start;gap:.75rem;margin-top:1.25rem;padding:1rem 1.1rem;display:flex}.form-status svg{color:var(--error);flex:none;margin-top:.15rem}.form-success{justify-items:start;gap:.75rem;padding:.5rem 0;display:grid}.form-success:focus{outline:none}.form-success svg{color:var(--success)}.form-success p{color:var(--muted)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-list{gap:1.2rem;list-style:none;display:grid}.contact-list li{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:.9rem;display:grid}.contact-list .ic{background:var(--surface);width:46px;height:46px;color:var(--ink);border-radius:999px;place-items:center;display:grid}.contact-list .label{color:var(--muted);font-size:.88rem;font-weight:550;display:block}.contact-list .value{color:var(--ink);overflow-wrap:anywhere;font-weight:650}.contact-list a.value{text-decoration:none}.contact-list a.value:hover{text-decoration:underline;text-decoration-color:var(--accent)}.on-navy .contact-list .ic{color:var(--on-navy);background:#eef5f81a}.on-navy .contact-list .label{color:var(--on-navy-muted)}.on-navy .contact-list .value{color:var(--on-navy)}.copy-btn{width:fit-content;color:inherit;font:inherit;cursor:pointer;opacity:.85;background:0 0;border:1px solid;border-radius:999px;align-items:center;gap:.35rem;margin:.35rem 0 0;padding:.3rem .7rem .3rem .55rem;font-size:.82rem;font-weight:650;line-height:1.2;transition:opacity .2s;display:flex}.copy-btn:hover{opacity:1}.copy-roll{height:1.2em;display:grid;overflow:hidden}.copy-roll>span{transition:transform .45s var(--ease-snap)}.copy-btn[data-copied] .copy-roll>span{transform:translateY(-100%)}.copy-btn .copy-done-icon,.copy-btn[data-copied] .copy-idle-icon{display:none}.copy-btn[data-copied] .copy-done-icon{display:block}.page-hero{isolation:isolate;padding-block:clamp(2.5rem,6vw,4.5rem) clamp(2rem,4vw,3rem);position:relative;overflow-x:clip}.page-hero:before{content:"";z-index:-1;aspect-ratio:1;background:var(--tint);border-radius:58% 42% 55% 45%/45% 55%;width:clamp(180px,26vw,360px);position:absolute;top:8%;right:-6%}.page-hero .lead{margin-top:1.1rem}.page-hero-grid{align-items:center;gap:1.5rem;display:grid}.page-hero-icon{filter:drop-shadow(0 26px 28px #1834402e);justify-self:end;width:min(46vw,230px)}@media (width>=760px){.page-hero-grid{grid-template-columns:minmax(0,1fr) auto}.page-hero-icon{width:clamp(200px,22vw,280px);margin-right:2rem}}@media (width<=759px){.page-hero-icon{display:none}}@media (prefers-reduced-motion:no-preference){.page-hero-icon{animation:enter .9s var(--ease) .15s both, float 7s ease-in-out 1s infinite}}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.98rem;display:flex}.breadcrumbs a{color:var(--muted)}.service-photo{aspect-ratio:4/3;border-radius:var(--r-card);background:var(--tint);overflow:hidden}@media (width>=700px){.service-photo{aspect-ratio:16/9}}.service-layout{gap:2.5rem;display:grid}@media (width>=960px){.service-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:4rem}}.prose{max-width:68ch;margin-top:clamp(2rem,4vw,2.75rem);font-size:1.12rem;line-height:1.75}.prose p+p{margin-top:1.1em}.prose h2{margin:2.4rem 0 .8rem;font-size:clamp(1.45rem,1.25rem + .6vw,1.75rem)}.prose h2:first-child{margin-top:0}.aside-card{border-radius:var(--r-card);background:var(--accent-soft);gap:1.25rem;padding:clamp(1.5rem,3vw,2rem);display:grid}@media (width>=960px){.aside-card{position:sticky;top:120px}}.aside-card>h2{font-size:1.5rem}.aside-actions{gap:.65rem;display:grid}.aside-actions .btn-line{background:var(--surface)}.other-services{margin-top:var(--section-y)}.other-services h2{font-size:clamp(1.6rem,1.3rem + 1vw,2rem)}.pill-links{flex-wrap:wrap;gap:.65rem;margin-top:1.4rem;list-style:none;display:flex}.pill-links a{border:1px solid var(--line);background:var(--surface);color:var(--ink);transition:transform .3s var(--ease), border-color .2s ease, background-color .2s ease;border-radius:999px;align-items:center;gap:.55rem;padding:.75rem 1.25rem;font-weight:650;text-decoration:none;display:inline-flex}.pill-links a:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.price-nav{margin-bottom:2rem}.price-categories{columns:2 440px;column-gap:1.5rem}.price-category{break-inside:avoid;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);margin-bottom:1.5rem;padding:clamp(1.5rem,3vw,2rem)}.aside-card .price-category{background:0 0;border:0;margin:0;padding:0}.price-category>h2{font-size:1.5rem}.price-category>h2 a{color:inherit;text-decoration:none}.price-category>h2 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}.price-note{color:var(--muted);margin-top:.5rem;font-size:.98rem}.price-group{margin-top:1.2rem}.aside-card .price-group:first-child{margin-top:0}.price-group+.price-group{border-top:1px dashed var(--line);padding-top:1.2rem}.aside-card .price-group+.price-group{border-top-color:color-mix(in srgb, var(--ink) 18%, transparent)}.price-group h3,.price-group h4{color:var(--muted);letter-spacing:0;margin-bottom:.6rem;font-size:.95rem;font-weight:650}.price-rows{gap:.65rem;list-style:none;display:grid}.price-rows li{justify-content:space-between;align-items:baseline;gap:1.25rem;line-height:1.45;display:flex}.price{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.team-group+.team-group{margin-top:clamp(3.5rem,7vw,5rem)}.team-grid{gap:1.5rem;margin-top:1.75rem;list-style:none;display:grid}.team-card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);gap:1.5rem;padding:1.25rem;display:grid}.team-card .arch{aspect-ratio:4/5;width:min(100%,260px)}.team-card .arch img{object-position:50% 22%}.team-card h3{font-size:1.45rem}.team-card .role{background:var(--tint);color:var(--ink);border-radius:999px;margin-top:.5rem;padding:.3rem .8rem;font-size:.92rem;font-weight:650;display:inline-block}.team-card-body p:not(.role){margin-top:.9rem}.team-card .spec{color:var(--muted)}.team-card .spec strong{color:var(--ink)}@media (width>=600px){.team-card{grid-template-columns:180px minmax(0,1fr);align-items:start}}@media (width>=900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card.featured{background:var(--tint);border-color:#0000;grid-column:1/-1;grid-template-columns:300px minmax(0,1fr);align-items:center;gap:3rem;padding:1.5rem}.team-card.featured .role{background:var(--surface)}.team-card.featured .arch{width:100%}.team-card.featured h3{font-size:2.1rem}.team-card.featured .team-card-body{max-width:58ch}}.contact-grid{gap:1.5rem;display:grid}.contact-side{align-content:start;gap:1.5rem;display:grid}.contact-panel{border-radius:var(--r-card);background:var(--navy);color:var(--on-navy);padding:clamp(1.75rem,4vw,2.5rem)}.contact-panel .directions{flex-wrap:wrap;gap:.65rem;margin-top:2rem;display:flex}.map-frame{border-radius:var(--r-card);background:var(--tint);min-height:400px;overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%;min-height:400px;display:block}@media (width>=960px){.contact-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}}.form-narrow{max-width:780px}.cta-band{border-radius:var(--r-panel);background:var(--tint);gap:1.5rem;padding:clamp(2rem,5vw,3.5rem);display:grid}.cta-band p{max-width:50ch;color:var(--muted);margin-top:.8rem;font-size:1.12rem}@media (width>=860px){.cta-band{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3rem}}.message-page{justify-items:start;gap:1.25rem;max-width:660px;padding-block:clamp(4rem,12vw,8rem);display:grid}.message-page .icon-big{background:var(--accent-soft);width:84px;height:84px;color:var(--accent);border-radius:999px;place-items:center;display:grid}.message-actions{flex-wrap:wrap;gap:.75rem;margin-top:.5rem;display:flex}.footer-wrap{margin-top:var(--section-y);border-radius:var(--r-panel) var(--r-panel) 0 0;position:relative;overflow:hidden}.site-footer{background:var(--tint);padding:clamp(3rem,6vw,5rem) 0 2rem}.footer-cta{border-bottom:1px solid color-mix(in srgb, var(--ink) 12%, transparent);gap:1.75rem;margin-bottom:clamp(2.5rem,5vw,3.5rem);padding-bottom:clamp(2.5rem,5vw,3.5rem);display:grid}.footer-cta-title{max-width:13ch;color:var(--ink);letter-spacing:-.045em;text-wrap:balance;font-size:clamp(2.4rem,1.1rem + 4.2vw,4.4rem);font-weight:700;line-height:1}.footer-cta-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;display:flex}.footer-phone{color:var(--ink);white-space:nowrap;align-items:center;gap:.55rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:inline-flex}@media (width>=900px){.footer-cta{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3rem}}.footer-grid{gap:2.25rem;display:grid}.footer-grid h2{letter-spacing:0;margin-bottom:.85rem;font-size:1.05rem}.footer-list{justify-items:start;gap:.5rem;list-style:none;display:grid}.footer-list a{color:var(--ink)}.footer-brand p{max-width:30ch;color:var(--muted);margin-top:1rem;font-size:.95rem}.footer-bottom{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:2.75rem;padding-top:1.5rem;font-size:.92rem;display:flex}.footer-bottom a{color:var(--ink);align-items:center;gap:.45rem;font-weight:550;text-decoration:none;display:inline-flex}@media (width>=800px){.footer-grid{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}}
