@font-face {
  font-family: "SpaSans";
  src: url("../fonts/spa-font.woff2") format("woff2");
  font-display: swap;
}

:root {
  --ink: #1d2633;
  --muted: #6b7280;
  --line: #e5e7eb;
  --soft: #f8fafc;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
}

body {
  color: var(--ink);
  font-family: SpaSans, "Trebuchet MS", Arial, sans-serif;
  letter-spacing: 0;
  background: #fff;
  overflow-x: clip;
  overflow-y: visible;
}

@supports not (overflow: clip) {
  html {
    overflow-x: hidden;
  }

  body {
    overflow-x: hidden;
    overflow-y: visible;
  }
}

@media (prefers-reduced-motion: no-preference) {
  .reveal-on-scroll {
    opacity: 0;
    -webkit-transform: translate3d(0, 70px, 0);
    transform: translate3d(0, 70px, 0);
    -webkit-transition: opacity .55s cubic-bezier(.4, 0, .2, 1), -webkit-transform .55s cubic-bezier(.4, 0, .2, 1);
    transition: opacity .55s cubic-bezier(.4, 0, .2, 1), transform .55s cubic-bezier(.4, 0, .2, 1);
    transition: opacity .55s cubic-bezier(.4, 0, .2, 1), transform .55s cubic-bezier(.4, 0, .2, 1), -webkit-transform .55s cubic-bezier(.4, 0, .2, 1);
    transition-delay: var(--reveal-delay, 0ms);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: opacity, transform;
  }

  .reveal-on-scroll.is-visible {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@-webkit-keyframes revealUp {
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes revealUp {
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

html.intro-ready .hero-copy p,
html.intro-ready .hero-copy .book-btn {
  opacity: 0;
  -webkit-transform: translate3d(0, 22px, 0);
  transform: translate3d(0, 22px, 0);
}

html.typewriter-done .hero-copy p,
html.typewriter-done .hero-copy .book-btn {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: opacity .65s cubic-bezier(.4, 0, .2, 1), -webkit-transform .65s cubic-bezier(.4, 0, .2, 1);
  transition: opacity .65s cubic-bezier(.4, 0, .2, 1), transform .65s cubic-bezier(.4, 0, .2, 1);
}

html.typewriter-done .hero-copy p {
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms;
}

html.typewriter-done .hero-copy .book-btn {
  -webkit-transition-delay: 200ms;
  transition-delay: 200ms;
}

@media (prefers-reduced-motion: reduce) {
  html.intro-ready .hero-copy p,
  html.intro-ready .hero-copy .book-btn,
  html.typewriter-done .hero-copy p,
  html.typewriter-done .hero-copy .book-btn {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    -webkit-animation: none;
    -webkit-transition: none;
    animation: none;
    transition: none;
  }
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  transition: background-color .35s ease, box-shadow .35s ease, color .35s ease;
  color: #fff;
}

.site-header.scrolled,
.site-header.menu-open {
  color: var(--ink);
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .04);
}

.navbar {
  min-height: 98px;
  padding: 0;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: inherit;
  font-size: clamp(1.45rem, 2.5vw, 1.9rem);
}

.navbar-brand:hover,
.nav-link:hover {
  color: inherit;
}

.nav-link {
  color: inherit;
  font-size: .95rem;
  padding: .5rem .65rem !important;
}

.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
}

.book-btn {
  min-width: 138px;
  min-height: 48px;
  color: #fff;
  background: #000;
  border: 0;
  border-radius: 999px;
  padding: .7rem 1.45rem;
  font-size: 1rem;
}

.book-btn:hover,
.book-btn:focus {
  color: #fff;
  background: rgba(0, 0, 0, .78);
}

.menu-toggle {
  width: 48px;
  height: 42px;
  padding: 0;
  color: inherit;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}

.menu-toggle span {
  display: block;
  width: 37px;
  height: 2px;
  margin-left: auto;
  background: currentColor;
  transition: transform .25s ease, opacity .25s ease;
}

.site-header.menu-open .menu-toggle span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}

.site-header.menu-open .menu-toggle span:nth-child(2) {
  opacity: 0;
}

.site-header.menu-open .menu-toggle span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

.mobile-menu {
  position: fixed;
  inset: 98px 0 0;
  z-index: 1020;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2.1rem;
  background: #fff;
  color: var(--ink);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity .3s ease, visibility .3s ease, transform .3s ease;
}

.mobile-menu.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.mobile-menu-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.mobile-menu-inner a {
  font-size: clamp(2.3rem, 8vmin, 4.25rem);
  font-weight: 300;
}

.mobile-socials,
.footer-socials {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.2rem;
}

.mobile-socials a,
.footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  font-size: 1rem;
}

.hero-section {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: url("../img/new/hero-spa.jpg") center center / cover no-repeat;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(195deg, rgba(66, 66, 74, .5), rgba(25, 25, 25, .5));
}

.hero-copy {
  position: relative;
  z-index: 1;
  width: min(520px, calc(100% - 48px));
  margin-top: 2rem;
  text-align: center;
  color: #fff;
}

.hero-copy h1 {
  margin-bottom: 1.25rem;
  font-size: clamp(1.55rem, 3.4vw, 2rem);
  font-weight: 700;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  will-change: contents;
}

.typewriter-text {
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  will-change: contents;
}

.typed-cursor {
  display: inline-block;
  margin-left: 2px;
  animation: blink .85s steps(1, end) infinite;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  will-change: opacity;
}

@keyframes blink {
  50% {
    opacity: 0;
  }
}

.hero-copy p {
  max-width: 430px;
  margin: 0 auto 2.1rem;
  font-size: clamp(1rem, 2.3vw, 1.16rem);
  line-height: 1.56;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  will-change: opacity, transform;
}

.services-section {
  padding-top: 5.1rem;
  padding-bottom: 6.5rem;
}

.services-section h2 {
  margin: 0;
  font-size: clamp(1.55rem, 3vw, 2rem);
  font-weight: 600;
}

.services-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}

.services-heading-controls {
  display: flex;
  align-items: center;
  gap: .5rem;
}

.service-card-row {
  width: 100%;
  max-width: 100%;
}

.services-swiper {
  position: relative;
  overflow: hidden;
  padding-bottom: .25rem;
}

.services-swiper .swiper-wrapper {
  align-items: stretch;
}

.services-swiper .swiper-slide {
  height: auto;
}

.services-swiper .service-card {
  width: 100%;
  height: 100%;
}

.services-swiper-control {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .12);
}

.services-swiper-control.swiper-button-disabled {
  opacity: .45;
  cursor: default;
}

.service-card {
  overflow: hidden;
  padding: 0;
  text-align: left;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  transition: transform .5s cubic-bezier(.4, 0, .2, 1), box-shadow .5s cubic-bezier(.4, 0, .2, 1);
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, .12);
}

.service-card img,
.broken-image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #fff;
  transition: transform .5s cubic-bezier(.4, 0, .2, 1);
}

.service-card:hover img {
  transform: scale(1.035);
}

.broken-image {
  color: #7a808a;
  font-size: 1rem;
  padding: 2px 0 0 3px;
}

.service-name {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  padding: 1rem;
  font-size: 1.25rem;
  line-height: 1.25;
  text-align: center;
  color: var(--ink);
}

.service-name span {
  margin-left: -.25rem;
}

.before-after-section {
  max-width: 1320px;
  padding-top: 3.5rem;
  padding-bottom: 5.4rem;
}

.comparison-slider {
  position: relative;
  width: min(100%, 1030px);
  margin: 0 auto;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  user-select: none;
  touch-action: none;
}

.comparison-img,
.comparison-before-wrap {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.comparison-img {
  object-fit: cover;
  display: block;
}

.comparison-before-wrap {
  z-index: 1;
  width: 50%;
  overflow: hidden;
}

.comparison-before {
  width: var(--slider-width, 100%);
  max-width: none;
}

.comparison-label {
  position: absolute;
  z-index: 3;
  bottom: 1.15rem;
  color: #fff;
  background: rgba(0, 0, 0, .45);
  border-radius: 4px;
  padding: .38rem .8rem;
  font-size: 1rem;
}

.before-label {
  left: 1rem;
}

.after-label {
  right: 1rem;
}

.comparison-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  z-index: 4;
  width: 64px;
  padding: 0;
  transform: translateX(-50%);
  color: #fff;
  background: transparent;
  border: 0;
  cursor: ew-resize;
  transition: color .25s ease, opacity .25s ease;
}

.comparison-handle::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: rgba(255, 255, 255, .8);
}

.comparison-handle-icons {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.comparison-handle i {
  display: block;
  font-size: 1.35rem;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .45);
}

.location-section {
  padding-top: 1rem;
  padding-bottom: 3rem;
}

.location-section h2 {
  margin-bottom: 1.6rem;
  font-size: clamp(2rem, 4vw, 2.65rem);
  font-weight: 700;
}

.address-link,
.phone-link {
  display: block;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
  font-size: 1.15rem;
  line-height: 1.5;
}

.phone-link {
  margin-top: 1.3rem;
  margin-bottom: 6rem;
}

.site-footer {
  padding: 0 1rem 3rem;
}

.footer-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .5rem;
  margin-bottom: 1.2rem;
}

.footer-links a,
.site-footer p a {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.footer-links a {
  font-size: 1.05rem;
  font-weight: 600;
}

.site-footer p {
  margin-bottom: 1.4rem;
  font-size: .92rem;
}

.to-top {
  position: fixed;
  right: 1.75rem;
  bottom: 1.7rem;
  z-index: 1000;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  background: #f3f4f6;
  border: 0;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
}

.service-modal .modal-dialog {
  width: 91.666667%;
  max-width: 64rem;
  max-height: calc(100vh - 3.5rem);
  margin-right: auto;
  margin-left: auto;
}

.service-modal .modal-content {
  border: 0;
  border-radius: 16px;
  max-height: calc(100vh - 3.5rem);
  overflow-x: hidden;
  overflow-y: auto;
}

.service-modal .modal-body {
  padding: 0;
  overflow: visible;
}

.modal-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 3;
}

.modal-preview {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: stretch;
  gap: 1rem;
  padding: 0;
}

.modal-category {
  border: 1px solid var(--line);
  border-radius: 12px;
  margin: 1rem;
  padding: 1rem;
  font-size: 1.25rem;
  font-weight: 600;
}

.modal-category-image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: clamp(200px, 32vh, 330px);
  object-fit: cover;
}

.modal-services {
  padding: 0 2rem 2rem;
}

.modal-services h3 {
  margin: 0;
  padding: 1rem 0;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 600;
}

.service-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.service-item {
  display: grid;
  gap: .45rem;
}

@media (prefers-reduced-motion: no-preference) {
  .service-modal.show .modal-preview {
    -webkit-animation: revealUp .45s cubic-bezier(.4, 0, .2, 1) both;
    animation: revealUp .45s cubic-bezier(.4, 0, .2, 1) both;
  }

  .service-modal.show .service-item {
    opacity: 0;
    -webkit-transform: translate3d(0, 18px, 0);
    transform: translate3d(0, 18px, 0);
    -webkit-animation: revealUp .45s cubic-bezier(.4, 0, .2, 1) both;
    animation: revealUp .45s cubic-bezier(.4, 0, .2, 1) both;
    -webkit-animation-delay: calc(80ms + var(--service-item-delay, 0ms));
    animation-delay: calc(80ms + var(--service-item-delay, 0ms));
  }
}

.service-item-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.service-item h4 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
}

.price-group {
  display: flex;
  align-items: baseline;
  gap: .45rem;
  white-space: nowrap;
}

.price {
  font-weight: 600;
}

.old-price {
  color: #9ca3af;
  text-decoration: line-through;
}

.duration {
  color: var(--muted);
}

.service-description,
.service-subitem,
.price-disclaimer {
  color: var(--muted);
}

.service-description:empty,
.duration:empty {
  display: none;
}

.service-subitem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: .35rem;
}

.price-disclaimer {
  margin: 2rem 0 0;
  font-size: .78rem;
}

.x-icon::before,
.tiktok-icon::before,
.rednote-icon::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.x-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M761.759 122h132.321L605 452.4 945.08 902H678.8L470.24 629.32 231.599 902H99.2l309.2-353.4L82.16 122h273.04l188.52 249.24zM715.32 822.8h73.32L315.359 197.04h-78.68z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M761.759 122h132.321L605 452.4 945.08 902H678.8L470.24 629.32 231.599 902H99.2l309.2-353.4L82.16 122h273.04l188.52 249.24zM715.32 822.8h73.32L315.359 197.04h-78.68z'/%3E%3C/svg%3E");
}

.tiktok-icon::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M534.613.853C590.506 0 645.972.427 701.438 0c3.413 65.279 26.88 131.838 74.666 177.918 47.786 47.359 115.199 69.119 180.904 76.372v171.945c-61.439-2.133-123.305-14.933-179.198-41.386-24.32-11.093-46.933-25.173-69.119-39.68-.427 124.586.427 249.171-.853 373.329-3.413 59.733-23.04 119.039-57.599 168.105-55.893 81.919-152.745 135.252-252.157 136.958-61.013 3.413-122.025-13.226-174.078-43.946C137.819 928.842 77.233 835.83 68.273 735.991c-.853-21.333-1.28-42.666-.427-63.573 7.68-81.066 47.786-158.718 110.079-211.624 70.826-61.439 169.811-90.879 262.397-73.386.853 63.146-1.707 126.292-1.707 189.438-42.239-13.653-91.732-9.813-128.852 15.786-26.88 17.493-47.359 44.373-58.026 74.666-8.96 21.76-6.4 45.653-5.973 68.692 10.24 69.972 77.652 128.852 149.331 122.452 47.786-.427 93.439-28.16 118.185-68.692 8.107-14.08 17.066-28.586 17.493-45.226 4.267-76.373 2.56-152.318 2.987-228.691.427-171.944-.427-343.462.853-514.98z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M534.613.853C590.506 0 645.972.427 701.438 0c3.413 65.279 26.88 131.838 74.666 177.918 47.786 47.359 115.199 69.119 180.904 76.372v171.945c-61.439-2.133-123.305-14.933-179.198-41.386-24.32-11.093-46.933-25.173-69.119-39.68-.427 124.586.427 249.171-.853 373.329-3.413 59.733-23.04 119.039-57.599 168.105-55.893 81.919-152.745 135.252-252.157 136.958-61.013 3.413-122.025-13.226-174.078-43.946C137.819 928.842 77.233 835.83 68.273 735.991c-.853-21.333-1.28-42.666-.427-63.573 7.68-81.066 47.786-158.718 110.079-211.624 70.826-61.439 169.811-90.879 262.397-73.386.853 63.146-1.707 126.292-1.707 189.438-42.239-13.653-91.732-9.813-128.852 15.786-26.88 17.493-47.359 44.373-58.026 74.666-8.96 21.76-6.4 45.653-5.973 68.692 10.24 69.972 77.652 128.852 149.331 122.452 47.786-.427 93.439-28.16 118.185-68.692 8.107-14.08 17.066-28.586 17.493-45.226 4.267-76.373 2.56-152.318 2.987-228.691.427-171.944-.427-343.462.853-514.98z'/%3E%3C/svg%3E");
}

.rednote-icon::before {
  width: 20px;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.243 401.067h68.053s-7.936 113.963-10.027 133.973c-2.09 20.053-9.6 73.899-39.253 108.117L3.371 567.595c0 .043 7.936-7.509 15.872-166.528zM133.461 310.656h68.438v315.008s-13.909 49.536-52.309 48.981h-36.736l-29.867-59.349h44.075c4.736 0 4.608-6.528 4.608-4.779.043 3.883 1.792-299.861 1.792-299.861zM476.288 307.84l-34.517 77.909s-6.101 15.573 3.883 16.128c10.027.555 57.301 0 57.301 0l-47.872 107.392s-4.992 13.909 4.437 13.909h35.627l-23.723 55.637h-78.08s-33.963-4.992-20.053-35.627c13.909-30.635 34.517-79.019 34.517-79.019l-35.072.555s-31.701-6.699-16.128-38.955c15.573-32.299 54.528-117.973 54.528-117.973h65.152zM247.552 400.256h67.328s8.917 162.773 16 163.371l-34.389 77.611s-31.701-23.936-40.064-120.491c-6.869-79.701-8.875-120.491-8.875-120.491zM362.752 600.576s2.219 6.101 27.819 6.101h77.909l-31.147 67.328h-82.944s-24.192.555-23.509-7.253l31.872-66.176zM679.424 333.44v67.371h-42.325V606.72h65.707v67.328H477.397l29.483-66.773h57.899l1.109-207.019-40.619-.555-1.664-66.261h155.819zM1024 615.04v-94.592c0-56.192-59.648-58.453-59.648-58.453h-17.237v-62.336c.555-57.301-68.992-66.219-68.992-66.219h-42.837v-26.155h-66.773l1.109 26.155h-47.317v66.219h45.653v62.891H698.88v67.328l68.992.555v143.573H835.2V529.92h107.392c14.464 0 15.573 14.464 15.573 14.464s3.627 39.381 2.645 56.192c-.981 16.683-13.227 15.573-13.227 15.573h-55.637l26.709 57.899H969.3c59.051 0 54.699-59.008 54.699-59.008zM881.408 405.547v55.637h-47.275v-60.672h40.363c7.808 0 6.912 5.035 6.912 5.035z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.243 401.067h68.053s-7.936 113.963-10.027 133.973c-2.09 20.053-9.6 73.899-39.253 108.117L3.371 567.595c0 .043 7.936-7.509 15.872-166.528zM133.461 310.656h68.438v315.008s-13.909 49.536-52.309 48.981h-36.736l-29.867-59.349h44.075c4.736 0 4.608-6.528 4.608-4.779.043 3.883 1.792-299.861 1.792-299.861zM476.288 307.84l-34.517 77.909s-6.101 15.573 3.883 16.128c10.027.555 57.301 0 57.301 0l-47.872 107.392s-4.992 13.909 4.437 13.909h35.627l-23.723 55.637h-78.08s-33.963-4.992-20.053-35.627c13.909-30.635 34.517-79.019 34.517-79.019l-35.072.555s-31.701-6.699-16.128-38.955c15.573-32.299 54.528-117.973 54.528-117.973h65.152zM247.552 400.256h67.328s8.917 162.773 16 163.371l-34.389 77.611s-31.701-23.936-40.064-120.491c-6.869-79.701-8.875-120.491-8.875-120.491zM362.752 600.576s2.219 6.101 27.819 6.101h77.909l-31.147 67.328h-82.944s-24.192.555-23.509-7.253l31.872-66.176zM679.424 333.44v67.371h-42.325V606.72h65.707v67.328H477.397l29.483-66.773h57.899l1.109-207.019-40.619-.555-1.664-66.261h155.819zM1024 615.04v-94.592c0-56.192-59.648-58.453-59.648-58.453h-17.237v-62.336c.555-57.301-68.992-66.219-68.992-66.219h-42.837v-26.155h-66.773l1.109 26.155h-47.317v66.219h45.653v62.891H698.88v67.328l68.992.555v143.573H835.2V529.92h107.392c14.464 0 15.573 14.464 15.573 14.464s3.627 39.381 2.645 56.192c-.981 16.683-13.227 15.573-13.227 15.573h-55.637l26.709 57.899H969.3c59.051 0 54.699-59.008 54.699-59.008zM881.408 405.547v55.637h-47.275v-60.672h40.363c7.808 0 6.912 5.035 6.912 5.035z'/%3E%3C/svg%3E");
}

@media (min-width: 992px) {
  .container {
    max-width: 1280px;
  }

  .navbar {
    min-height: 86px;
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .navbar-brand {
    font-size: calc(1.2vw + 1rem);
    line-height: 1.4;
  }

  .nav-link,
  .address-link,
  .phone-link,
  .footer-links a {
    font-size: calc(.2vw + 1rem);
  }

  .nav-link {
    padding: .5rem .9rem !important;
  }

  .navbar-nav {
    column-gap: .5rem;
  }

  .social-link {
    min-width: 23px;
    font-size: calc(.2vw + 1rem);
  }

  .book-btn {
    min-width: 138px;
    min-height: 48px;
    padding: .8em 1.5em;
    font-size: 1rem;
  }

  .hero-copy {
    width: 50%;
    max-width: 760px;
  }

  .hero-copy h1,
  .services-section h2,
  .modal-services h3,
  .modal-category {
    font-size: calc(1.2vw + 1rem);
    line-height: 1.4;
  }

  .hero-copy p {
    max-width: 560px;
    font-size: calc(.2vw + 1rem);
    line-height: 1.5;
  }

  .services-section {
    padding-top: 3vw;
    padding-bottom: 3vw;
  }

  .services-section h2 {
    margin: 0;
  }

  .service-card-row {
    max-width: 1120px;
  }

  .services-swiper {
    overflow: hidden;
    padding-bottom: 0;
  }

  .services-swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(250px, 1fr));
    gap: 1.35rem;
    transform: none !important;
  }

  .services-swiper .swiper-slide {
    width: auto !important;
    margin-right: 0 !important;
  }

  .services-heading-controls {
    display: none;
  }

  .service-name {
    min-height: 88px;
    font-size: calc(.2vw + 1rem);
  }

  .before-after-section {
    max-width: 1440px;
    padding-top: 4.5rem;
    padding-bottom: 5.4rem;
  }

  .comparison-slider {
    width: min(100%, 1280px);
  }

  .comparison-label {
    font-size: 1rem;
  }

  .location-section h2 {
    font-size: calc(2.2vw + 1rem);
    line-height: 1.4;
  }

  .site-footer p {
    font-size: 1rem;
  }

  .footer-socials a {
    width: 18px;
    height: 18px;
    font-size: calc(.2vw + 1rem);
  }

  .to-top {
    width: 54px;
    height: 54px;
  }

  .service-modal .modal-dialog {
    max-width: 1024px;
  }

  .service-modal .modal-body {
    padding: 0;
  }

  .modal-preview {
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
    padding: 2rem;
  }

  .modal-category {
    flex: 1 1 0;
    min-width: 0;
    margin: 0;
    font-size: calc(.2vw + 1rem);
  }

  .modal-category-image {
    flex: 2 1 0;
    min-width: 0;
    height: clamp(280px, 28vw, 400px);
    border-radius: 12px;
  }

  .service-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-item h4,
  .price,
  .old-price,
  .duration,
  .service-description,
  .service-subitem {
    font-size: calc(.2vw + 1rem);
  }

  .price-disclaimer {
    font-size: .75rem;
  }
}
@media (max-width: 991.98px) {
  .site-header {
    color: #fff;
  }

  .site-header.scrolled {
    color: var(--ink);
  }

  .service-card-row {
    max-width: 100%;
    width: 100%;
  }

  .service-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .navbar {
    min-height: 82px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .mobile-menu {
    inset: 82px 0 0;
  }

  .services-section {
    padding-top: 3.3rem;
    padding-bottom: 4.3rem;
  }

  .service-card-row {
    max-width: 100%;
  }

  .phone-link {
    margin-bottom: 4rem;
  }

  .service-modal .modal-body {
    padding: 0;
  }

  .modal-category {
    margin: .75rem;
    padding: .85rem;
  }

  .modal-category-image {
    height: clamp(180px, 28vh, 300px);
  }

  .modal-services h3 {
    padding: .75rem 0;
  }

  .modal-services {
    padding: 0 1.25rem 1.25rem;
  }
}
