/* Launch bundle for laser-hair-removal-preparation-toronto.html. Generated to reduce CSS requests. */

/* source:css/aroma-global-header.css */
/* Aroma global header: scoped so it will not change page body layouts */
.aroma-global-header,
.aroma-global-header * {
  box-sizing: border-box;
}
.aroma-global-header {
  position: sticky;
  top: 0;
  z-index: 9999;
  background: rgba(255, 255, 255, 0.96);
  border-bottom: 1px solid rgba(46, 83, 63, 0.12);
  box-shadow: 0 8px 28px rgba(18, 38, 28, 0.08);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  font-family:
    Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: #1d2b22;
}
.aroma-header-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}
.aroma-brand {
  display: flex !important;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: #1d2b22 !important;
  min-width: 215px;
}
.aroma-brand-logo {
  width: 74px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.aroma-brand-logo img {
  display: block !important;
  width: auto !important;
  max-width: 74px !important;
  height: auto !important;
  max-height: 48px !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 0 !important;
}
.aroma-brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}
.aroma-brand-name {
  font-weight: 800;
  font-size: 14px;
  letter-spacing: -0.01em;
  color: #173b28;
}
.aroma-brand-line {
  font-weight: 600;
  font-size: 12px;
  color: #5f7567;
  margin-top: 3px;
}
.aroma-main-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex: 1;
}
.aroma-menu-item {
  position: relative;
  display: flex;
  align-items: center;
}
.aroma-nav-link,
.aroma-dropdown-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  text-decoration: none !important;
  font:
    700 14px/1 Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  color: #24362b !important;
  padding: 12px 13px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  cursor: pointer;
  white-space: nowrap;
  transition:
    background 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease;
}
.aroma-nav-link:hover,
.aroma-dropdown-toggle:hover,
.aroma-has-dropdown:focus-within > .aroma-dropdown-toggle {
  background: #eef7f1;
  color: #1f6b43 !important;
}
.aroma-book-btn {
  appearance: none;
  border: 0;
  background: #2f7d4f;
  color: #fff !important;
  text-decoration: none !important;
  font:
    800 14px/1 Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  padding: 13px 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(47, 125, 79, 0.23);
  white-space: nowrap;
  transition:
    background 0.18s ease,
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.aroma-book-btn:hover,
.aroma-booking-menu:focus-within > .aroma-book-btn {
  background: #24683f;
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(47, 125, 79, 0.27);
}
.aroma-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  min-width: 250px;
  background: #fff;
  border: 1px solid rgba(46, 83, 63, 0.13);
  border-radius: 20px;
  box-shadow: 0 22px 55px rgba(22, 45, 31, 0.16);
  padding: 10px;
  display: grid;
  gap: 4px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  pointer-events: none;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    visibility 0.18s ease;
}
.aroma-book-dropdown,
.aroma-location-dropdown {
  right: 0;
  left: auto;
}
.aroma-has-dropdown:hover > .aroma-dropdown,
.aroma-has-dropdown:focus-within > .aroma-dropdown,
.aroma-has-dropdown.aroma-dropdown-open > .aroma-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.aroma-dropdown a {
  display: flex !important;
  flex-direction: column;
  gap: 3px;
  text-decoration: none !important;
  border-radius: 14px;
  padding: 11px 12px;
  color: #203429 !important;
  background: #fff;
  line-height: 1.2;
  transition:
    background 0.18s ease,
    color 0.18s ease;
}
.aroma-dropdown a:hover {
  background: #f2f8f4;
  color: #1f6b43 !important;
}
.aroma-dropdown strong {
  font-size: 14px;
  font-weight: 800;
  color: inherit;
}
.aroma-dropdown small {
  font-size: 12px;
  font-weight: 600;
  color: #6b7d70;
}
.aroma-menu-toggle {
  display: none;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(46, 83, 63, 0.18);
  background: #fff;
  color: #173b28;
  border-radius: 999px;
  padding: 10px 14px;
  font:
    800 14px/1 Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  cursor: pointer;
}
.aroma-menu-icon {
  width: 18px;
  height: 12px;
  display: inline-block;
  position: relative;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}
.aroma-menu-icon:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 3px;
  border-top: 2px solid currentColor;
}
@media (max-width: 980px) {
  .aroma-header-inner {
    min-height: 72px;
    width: min(100% - 24px, 1180px);
  }
  .aroma-brand-logo {
    width: 62px;
    height: 42px;
  }
  .aroma-brand-logo img {
    max-width: 62px !important;
    max-height: 42px !important;
  }
  .aroma-brand-name {
    font-size: 13px;
  }
  .aroma-brand-line {
    font-size: 11px;
  }
  .aroma-menu-toggle {
    display: inline-flex;
  }
  .aroma-main-menu {
    position: absolute;
    left: 12px;
    right: 12px;
    top: calc(100% + 8px);
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 7px;
    padding: 12px;
    background: #fff;
    border: 1px solid rgba(46, 83, 63, 0.14);
    border-radius: 22px;
    box-shadow: 0 22px 50px rgba(22, 45, 31, 0.16);
  }
  .aroma-main-menu.aroma-menu-open {
    display: flex;
  }
  .aroma-menu-item {
    display: block;
    width: 100%;
  }
  .aroma-nav-link,
  .aroma-dropdown-toggle,
  .aroma-book-btn {
    width: 100%;
    justify-content: space-between;
    padding: 14px 15px;
  }
  .aroma-dropdown {
    position: static;
    min-width: 0;
    box-shadow: none;
    border-radius: 16px;
    margin: 4px 0 2px;
    padding: 6px;
    background: #f7fbf8;
    display: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
  }
  .aroma-has-dropdown:hover > .aroma-dropdown,
  .aroma-has-dropdown:focus-within > .aroma-dropdown {
    display: none;
  }
  .aroma-has-dropdown.aroma-dropdown-open > .aroma-dropdown {
    display: grid;
  }
}
@media (max-width: 520px) {
  .aroma-brand-text {
    display: none;
  }
  .aroma-brand {
    min-width: auto;
  }
  .aroma-header-inner {
    gap: 12px;
  }
}

/* ── Dropdown hover fix ──────────────────────────────────────────────────
   Problem: 12px gap between nav button and dropdown panel causes it to
   vanish the instant the mouse crosses that gap.
   Fix 1: pseudo-element bridge fills the gap invisibly.
   Fix 2: delay on hide transition so tiny mouse wobbles don't close it.
   ─────────────────────────────────────────────────────────────────────── */
.aroma-dropdown::before {
  content: "";
  position: absolute;
  top: -16px;
  left: 0;
  right: 0;
  height: 16px;
  background: transparent;
}
/* Slow the closing, open instantly, close after 120ms grace */
.aroma-has-dropdown:hover > .aroma-dropdown,
.aroma-has-dropdown:focus-within > .aroma-dropdown,
.aroma-has-dropdown.aroma-dropdown-open > .aroma-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition:
    opacity 0.15s ease,
    transform 0.15s ease,
    visibility 0s 0s;
}
.aroma-dropdown {
  transition:
    opacity 0.18s ease 0.12s,
    transform 0.18s ease 0.12s,
    visibility 0s 0.3s;
}

/* Aroma global footer safety reset, scoped footer fix only */
.aroma-global-footer,
.aroma-global-footer * {
  box-sizing: border-box;
}
.aroma-global-footer {
  background: radial-gradient(
      circle at top left,
      rgba(105, 165, 125, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 52%, #0d1b14 100%) !important;
  color: #f7fff9 !important;
}
.aroma-global-footer .aroma-footer-top,
.aroma-global-footer .aroma-footer-brand,
.aroma-global-footer .aroma-footer-col,
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-location-section,
.aroma-global-footer .aroma-footer-bottom {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #f7fff9 !important;
}
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-col {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  backdrop-filter: none !important;
}
.aroma-global-footer .aroma-footer-col h2,
.aroma-global-footer .aroma-footer-social-label {
  background: transparent !important;
  color: #fff !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-col a,
.aroma-global-footer .aroma-footer-bottom a {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.88) !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-intro,
.aroma-global-footer .aroma-footer-cancellation,
.aroma-global-footer .aroma-footer-bottom,
.aroma-global-footer .aroma-footer-bottom p {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.82) !important;
}
.aroma-global-footer .aroma-footer-col a:hover,
.aroma-global-footer .aroma-footer-col a:focus-visible,
.aroma-global-footer .aroma-footer-bottom a:hover,
.aroma-global-footer .aroma-footer-bottom a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
.aroma-global-footer .aroma-footer-logo {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
  border-radius: 16px !important;
}
.aroma-global-footer .aroma-footer-logo img {
  filter: none !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-socials a {
  background: rgba(255, 255, 255, 0.09) !important;
  color: rgba(247, 255, 249, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
.aroma-global-footer .aroma-footer-socials a:hover,
.aroma-global-footer .aroma-footer-socials a:focus-visible {
  background: #fff !important;
  color: #173625 !important;
  border-color: #fff !important;
}

/* source:css/aroma-global-footer.css */
/* Aroma global footer
   Scoped to .aroma-global-footer so it does not fight with laser, waxing, sugaring, or premium page body styles.
*/
.aroma-global-footer,
.aroma-global-footer * {
  box-sizing: border-box;
}

.aroma-global-footer {
  clear: both;
  width: 100%;
  margin: 0;
  padding: 0;
  background: radial-gradient(
      circle at top left,
      rgba(105, 165, 125, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 52%, #0d1b14 100%);
  color: #f7fff9;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-family: inherit;
}

.aroma-footer-wrap {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  padding: 46px 0 24px;
}

.aroma-footer-top {
  display: grid;
  grid-template-columns: minmax(240px, 1.35fr) repeat(4, minmax(145px, 1fr));
  gap: 28px;
  align-items: start;
}

.aroma-footer-brand {
  max-width: 360px;
}

.aroma-footer-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 172px;
  max-width: 100%;
  padding: 12px 14px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
  text-decoration: none;
}

.aroma-footer-logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 110px;
  object-fit: contain;
  object-position: center;
  image-rendering: auto;
}

.aroma-footer-intro {
  margin: 18px 0 0;
  color: rgba(247, 255, 249, 0.82);
  line-height: 1.65;
  font-size: 15px;
}

.aroma-footer-col h2,
.aroma-footer-col h3,
.aroma-footer-col h3 {
  margin: 0 0 13px;
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.aroma-footer-col a {
  display: block;
  margin: 0;
  padding: 6px 0;
  color: rgba(247, 255, 249, 0.78);
  font-size: 14px;
  line-height: 1.35;
  text-decoration: none;
}

.aroma-footer-col a:hover,
.aroma-footer-col a:focus-visible {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Location section, cancellation + social icons only */
.aroma-footer-location-section {
  display: block;
  margin-top: 0;
  padding: 28px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.aroma-footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.aroma-footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(247, 255, 249, 0.9);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

.aroma-footer-socials a:hover,
.aroma-footer-socials a:focus-visible {
  background: #ffffff;
  color: #173625;
  text-decoration: none;
}

.aroma-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 22px;
  color: rgba(247, 255, 249, 0.72);
  font-size: 13px;
}

.aroma-footer-bottom p {
  margin: 0;
}

.aroma-footer-bottom a {
  color: rgba(247, 255, 249, 0.86);
  text-decoration: none;
}

.aroma-footer-bottom a:hover,
.aroma-footer-bottom a:focus-visible {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 980px) {
  .aroma-footer-top {
    grid-template-columns: 1fr 1fr;
  }

  .aroma-footer-brand {
    grid-column: 1 / -1;
    max-width: none;
  }

  .aroma-footer-location-section {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .aroma-footer-wrap {
    width: min(100% - 28px, 1180px);
    padding: 36px 0 22px;
  }

  .aroma-footer-top {
    grid-template-columns: 1fr;
  }

  .aroma-footer-logo {
    width: 160px;
  }

  .aroma-footer-bottom {
    display: block;
  }

  .aroma-footer-bottom p + p {
    margin-top: 10px;
  }
}

.aroma-footer-cancellation {
  margin: 0 0 26px;
  color: rgba(247, 255, 249, 0.78);
  font-size: 14px;
  line-height: 1.65;
  font-style: italic;
  max-width: 640px;
}

.aroma-footer-socials-row {
  display: flex;
  flex-wrap: wrap;
  gap: 36px;
  align-items: flex-start;
}

.aroma-footer-social-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.aroma-footer-social-label {
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.aroma-footer-socials {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: nowrap;
  margin: 0;
}

.aroma-footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  min-height: unset;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.09);
  color: rgba(247, 255, 249, 0.88);
  text-decoration: none;
  transition:
    background 0.18s,
    color 0.18s,
    border-color 0.18s;
}

.aroma-footer-socials a svg {
  display: block;
  flex-shrink: 0;
}

.aroma-footer-socials a:hover,
.aroma-footer-socials a:focus-visible {
  background: #ffffff;
  color: #173625;
  border-color: #ffffff;
  text-decoration: none;
}

@media (max-width: 600px) {
  .aroma-footer-socials-row {
    gap: 24px;
  }
}

/* ── Footer logo: clean white card so original logo colours show ── */
.aroma-footer-logo {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
  border-radius: 16px !important;
  padding: 12px 16px !important;
}
/* Show logo in its own colours, no filter needed */
.aroma-footer-logo img {
  filter: none !important;
  opacity: 1 !important;
}
/* Ensure footer links are ALWAYS readable, hard override */
.aroma-global-footer,
.aroma-global-footer * {
  box-sizing: border-box;
}
.aroma-global-footer {
  background: radial-gradient(
      circle at top left,
      rgba(105, 165, 125, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 52%, #0d1b14 100%) !important;
  color: #f7fff9 !important;
}
.aroma-footer-col a,
.aroma-footer-col h2,
.aroma-footer-col h3,
.aroma-footer-intro,
.aroma-footer-cancellation,
.aroma-footer-social-label,
.aroma-footer-bottom,
.aroma-footer-bottom a,
.aroma-footer-bottom p {
  color: rgba(247, 255, 249, 0.85) !important;
}
.aroma-footer-col h2,
.aroma-footer-col h3,
.aroma-footer-col h3 {
  color: #ffffff !important;
  opacity: 1 !important;
}
.aroma-footer-col a:hover {
  color: #ffffff !important;
  text-decoration: underline;
}
/* Prevent any page-level CSS bleeding into footer */
.aroma-global-footer h2,
.aroma-global-footer h3 {
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  margin: 0 0 13px !important;
}

/* ── Footer column readability/reset repair ─────────────────────
   Color/layout-safety only inside the global footer.
   Prevents generic page nav/card styles from turning footer columns
   into pale boxes on dark footer backgrounds. */
.aroma-global-footer .aroma-footer-top,
.aroma-global-footer .aroma-footer-brand,
.aroma-global-footer .aroma-footer-col,
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-location-section,
.aroma-global-footer .aroma-footer-bottom {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  color: #f7fff9 !important;
}

.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-col {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  backdrop-filter: none !important;
}

.aroma-global-footer .aroma-footer-col h2,
.aroma-global-footer .aroma-footer-col h3,
.aroma-footer-col h3,
.aroma-global-footer .aroma-footer-social-label {
  background: transparent !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

.aroma-global-footer .aroma-footer-col a,
.aroma-global-footer .aroma-footer-bottom a {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.88) !important;
  opacity: 1 !important;
}

.aroma-global-footer .aroma-footer-intro,
.aroma-global-footer .aroma-footer-cancellation,
.aroma-global-footer .aroma-footer-bottom,
.aroma-global-footer .aroma-footer-bottom p {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.82) !important;
}

.aroma-global-footer .aroma-footer-col a:hover,
.aroma-global-footer .aroma-footer-col a:focus-visible,
.aroma-global-footer .aroma-footer-bottom a:hover,
.aroma-global-footer .aroma-footer-bottom a:focus-visible {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

.aroma-global-footer .aroma-footer-socials a {
  background: rgba(255, 255, 255, 0.09) !important;
  color: rgba(247, 255, 249, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

.aroma-global-footer .aroma-footer-socials a:hover,
.aroma-global-footer .aroma-footer-socials a:focus-visible {
  background: #ffffff !important;
  color: #173625 !important;
  border-color: #ffffff !important;
}

/* Aroma global footer safety reset, scoped footer fix only */
.aroma-global-footer,
.aroma-global-footer * {
  box-sizing: border-box;
}
.aroma-global-footer {
  background: radial-gradient(
      circle at top left,
      rgba(105, 165, 125, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 52%, #0d1b14 100%) !important;
  color: #f7fff9 !important;
}
.aroma-global-footer .aroma-footer-top,
.aroma-global-footer .aroma-footer-brand,
.aroma-global-footer .aroma-footer-col,
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-location-section,
.aroma-global-footer .aroma-footer-bottom {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #f7fff9 !important;
}
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-col {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  backdrop-filter: none !important;
}
.aroma-global-footer .aroma-footer-col h2,
.aroma-global-footer .aroma-footer-col h3,
.aroma-footer-col h3,
.aroma-global-footer .aroma-footer-social-label {
  background: transparent !important;
  color: #fff !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-col a,
.aroma-global-footer .aroma-footer-bottom a {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.88) !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-intro,
.aroma-global-footer .aroma-footer-cancellation,
.aroma-global-footer .aroma-footer-bottom,
.aroma-global-footer .aroma-footer-bottom p {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.82) !important;
}
.aroma-global-footer .aroma-footer-col a:hover,
.aroma-global-footer .aroma-footer-col a:focus-visible,
.aroma-global-footer .aroma-footer-bottom a:hover,
.aroma-global-footer .aroma-footer-bottom a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
.aroma-global-footer .aroma-footer-logo {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
  border-radius: 16px !important;
}
.aroma-global-footer .aroma-footer-logo img {
  filter: none !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-socials a {
  background: rgba(255, 255, 255, 0.09) !important;
  color: rgba(247, 255, 249, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
.aroma-global-footer .aroma-footer-socials a:hover,
.aroma-global-footer .aroma-footer-socials a:focus-visible {
  background: #fff !important;
  color: #173625 !important;
  border-color: #fff !important;
}

/* Footer nav column h3 (converted from h2 for heading hierarchy) */
.aroma-footer-col h3 {
  display: block;
}

/* source:css/aroma-tailwind-lite.css */
/* Aroma Tailwind Lite
   Generated for the exact utility classes used in the current Aroma laser pages.
   Replaces the development-only Tailwind CDN script for production speed. */
*,
::before,
::after {
  box-sizing: border-box;
}
[class~="divide-y"] > :not([hidden]) ~ :not([hidden]) {
  border-top-width: 1px;
  border-top-style: solid;
  border-color: #e5e7eb;
}
[class~="-top-3"] {
  top: -0.75rem;
}
[class~="-translate-x-1/2"] {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="-translate-x-1/3"] {
  --tw-translate-x: -33.333333%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="-translate-x-1/4"] {
  --tw-translate-x: -25%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="-translate-y-1/2"] {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="-translate-y-1/3"] {
  --tw-translate-y: -33.333333%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="absolute"] {
  position: absolute;
}
[class~="backdrop-blur"] {
  backdrop-filter: blur(8px);
}
[class~="bg-[#12B24B]"] {
  background-color: #12b24b;
}
[class~="bg-[#1FB25A]"] {
  background-color: #1fb25a;
}
[class~="bg-[#E8F8F2]"] {
  background-color: #e8f8f2;
}
[class~="bg-[#f0faf4]"] {
  background-color: #f0faf4;
}
[class~="bg-[#f7fbf8]"] {
  background-color: #f7fbf8;
}
[class~="bg-amber-50"] {
  background-color: #fffbeb;
}
[class~="bg-amber-500"] {
  background-color: #f59e0b;
}
[class~="bg-amber-600"] {
  background-color: #d97706;
}
[class~="bg-black"] {
  background-color: #000;
}
[class~="bg-black/20"] {
  background-color: rgba(0, 0, 0, 0.2);
}
[class~="bg-blue-50"] {
  background-color: #eff6ff;
}
[class~="bg-blue-500"] {
  background-color: #3b82f6;
}
[class~="bg-cyan-500"] {
  background-color: #06b6d4;
}
[class~="bg-gradient-to-b"] {
  background-image: linear-gradient(
    to bottom,
    var(--tw-gradient-from, transparent),
    var(--tw-gradient-via, var(--tw-gradient-to, transparent)),
    var(--tw-gradient-to, transparent)
  );
}
[class~="bg-gradient-to-br"] {
  background-image: linear-gradient(
    to bottom right,
    var(--tw-gradient-from, transparent),
    var(--tw-gradient-via, var(--tw-gradient-to, transparent)),
    var(--tw-gradient-to, transparent)
  );
}
[class~="bg-gradient-to-r"] {
  background-image: linear-gradient(
    to right,
    var(--tw-gradient-from, transparent),
    var(--tw-gradient-via, var(--tw-gradient-to, transparent)),
    var(--tw-gradient-to, transparent)
  );
}
[class~="bg-gray-200"] {
  background-color: #e5e7eb;
}
[class~="bg-gray-400"] {
  background-color: #9ca3af;
}
[class~="bg-gray-50"] {
  background-color: #f9fafb;
}
[class~="bg-gray-500"] {
  background-color: #6b7280;
}
[class~="bg-gray-800"] {
  background-color: #1f2937;
}
[class~="bg-gray-900"] {
  background-color: #111827;
}
[class~="bg-green-100"] {
  background-color: #dcfce7;
}
[class~="bg-green-50"] {
  background-color: #f0fdf4;
}
[class~="bg-green-500"] {
  background-color: #22c55e;
}
[class~="bg-green-600"] {
  background-color: #16a34a;
}
[class~="bg-opacity-10"] {
  background-color: rgba(255, 255, 255, 0.1);
}
[class~="bg-orange-50"] {
  background-color: #fff7ed;
}
[class~="bg-orange-500"] {
  background-color: #f97316;
}
[class~="bg-pink-50"] {
  background-color: #fdf2f8;
}
[class~="bg-purple-100"] {
  background-color: #f3e8ff;
}
[class~="bg-purple-50"] {
  background-color: #faf5ff;
}
[class~="bg-purple-500"] {
  background-color: #a855f7;
}
[class~="bg-red-50"] {
  background-color: #fef2f2;
}
[class~="bg-red-500"] {
  background-color: #ef4444;
}
[class~="bg-rose-50"] {
  background-color: #fff1f2;
}
[class~="bg-slate-50"] {
  background-color: #f8fafc;
}
[class~="bg-white"] {
  background-color: #fff;
}
[class~="bg-white/10"] {
  background-color: rgba(255, 255, 255, 0.1);
}
[class~="bg-white/15"] {
  background-color: rgba(255, 255, 255, 0.15);
}
[class~="bg-white/20"] {
  background-color: rgba(255, 255, 255, 0.2);
}
[class~="bg-white/5"] {
  background-color: rgba(255, 255, 255, 0.05);
}
[class~="bg-yellow-400"] {
  background-color: #facc15;
}
[class~="bg-yellow-500"] {
  background-color: #eab308;
}
[class~="block"] {
  display: block;
}
[class~="border"] {
  border-width: 1px;
  border-style: solid;
}
[class~="border-2"] {
  border-width: 2px;
  border-style: solid;
}
[class~="border-[#12B24B]"] {
  border-color: #12b24b;
}
[class~="border-[#1FB25A]"] {
  border-color: #1fb25a;
}
[class~="border-[#dceee3]"] {
  border-color: #dceee3;
}
[class~="border-amber-100"] {
  border-color: #fef3c7;
}
[class~="border-amber-200"] {
  border-color: #fde68a;
}
[class~="border-b"] {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
[class~="border-blue-100"] {
  border-color: #dbeafe;
}
[class~="border-blue-200"] {
  border-color: #bfdbfe;
}
[class~="border-collapse"] {
  border-collapse: collapse;
}
[class~="border-cyan-200"] {
  border-color: #a5f3fc;
}
[class~="border-gray-100"] {
  border-color: #f3f4f6;
}
[class~="border-gray-200"] {
  border-color: #e5e7eb;
}
[class~="border-gray-300"] {
  border-color: #d1d5db;
}
[class~="border-green-100"] {
  border-color: #dcfce7;
}
[class~="border-green-200"] {
  border-color: #bbf7d0;
}
[class~="border-l-4"] {
  border-left-width: 4px;
  border-left-style: solid;
}
[class~="border-orange-100"] {
  border-color: #ffedd5;
}
[class~="border-orange-200"] {
  border-color: #fed7aa;
}
[class~="border-pink-200"] {
  border-color: #fbcfe8;
}
[class~="border-purple-200"] {
  border-color: #e9d5ff;
}
[class~="border-red-100"] {
  border-color: #fee2e2;
}
[class~="border-red-200"] {
  border-color: #fecaca;
}
[class~="border-rose-200"] {
  border-color: #fecdd3;
}
[class~="border-slate-200"] {
  border-color: #e2e8f0;
}
[class~="border-t"] {
  border-top-width: 1px;
  border-top-style: solid;
}
[class~="border-t-2"] {
  border-top-width: 2px;
  border-top-style: solid;
}
[class~="border-transparent"] {
  border-color: transparent;
}
[class~="border-white"] {
  border-color: #fff;
}
[class~="border-white/10"] {
  border-color: rgba(255, 255, 255, 0.1);
}
[class~="border-white/20"] {
  border-color: rgba(255, 255, 255, 0.2);
}
[class~="border-white/30"] {
  border-color: rgba(255, 255, 255, 0.3);
}
[class~="border-white/60"] {
  border-color: rgba(255, 255, 255, 0.6);
}
[class~="border-white/70"] {
  border-color: rgba(255, 255, 255, 0.7);
}
[class~="bottom-0"] {
  bottom: 0;
}
[class~="cursor-pointer"] {
  cursor: pointer;
}
[class~="divide-y"] {
  --tw-divide-y-reverse: 0;
}
[class~="duration-200"] {
  transition-duration: 0.2s;
}
[class~="flex"] {
  display: flex;
}
[class~="flex-1"] {
  flex: 1 1 0%;
}
[class~="flex-col"] {
  flex-direction: column;
}
[class~="flex-shrink-0"] {
  flex-shrink: 0;
}
[class~="flex-wrap"] {
  flex-wrap: wrap;
}
[class~="font-black"] {
  font-weight: 900;
}
[class~="font-bold"] {
  font-weight: 700;
}
[class~="font-display"] {
  font-family: "Playfair Display", "Lora", serif;
}
[class~="font-extrabold"] {
  font-weight: 800;
}
[class~="font-medium"] {
  font-weight: 500;
}
[class~="font-normal"] {
  font-weight: 400;
}
[class~="font-sans"] {
  font-family: "DM Sans", "Montserrat", Arial, sans-serif;
}
[class~="font-semibold"] {
  font-weight: 600;
}
[class~="from-[#0a3d1f]"] {
  --tw-gradient-from: #0a3d1f;
}
[class~="from-[#0f172a]"] {
  --tw-gradient-from: #0f172a;
}
[class~="from-amber-50"] {
  --tw-gradient-from: #fffbeb;
}
[class~="from-blue-50"] {
  --tw-gradient-from: #eff6ff;
}
[class~="from-cyan-50"] {
  --tw-gradient-from: #ecfeff;
}
[class~="from-gray-50"] {
  --tw-gradient-from: #f9fafb;
}
[class~="from-green-50"] {
  --tw-gradient-from: #f0fdf4;
}
[class~="from-orange-50"] {
  --tw-gradient-from: #fff7ed;
}
[class~="from-pink-50"] {
  --tw-gradient-from: #fdf2f8;
}
[class~="from-purple-50"] {
  --tw-gradient-from: #faf5ff;
}
[class~="from-red-50"] {
  --tw-gradient-from: #fef2f2;
}
[class~="gap-1.5"] {
  gap: 0.375rem;
}
[class~="gap-10"] {
  gap: 2.5rem;
}
[class~="gap-2"] {
  gap: 0.5rem;
}
[class~="gap-3"] {
  gap: 0.75rem;
}
[class~="gap-4"] {
  gap: 1rem;
}
[class~="gap-5"] {
  gap: 1.25rem;
}
[class~="gap-6"] {
  gap: 1.5rem;
}
[class~="gap-8"] {
  gap: 2rem;
}
[class~="grid"] {
  display: grid;
}
[class~="grid-cols-1"] {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
[class~="grid-cols-2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.group:hover [class~="group-hover:text-white"] {
  color: #fff;
}
[class~="h-11"] {
  height: 2.75rem;
}
[class~="h-12"] {
  height: 3rem;
}
[class~="h-16"] {
  height: 4rem;
}
[class~="h-2"] {
  height: 0.5rem;
}
[class~="h-3"] {
  height: 0.75rem;
}
[class~="h-5"] {
  height: 1.25rem;
}
[class~="h-6"] {
  height: 1.5rem;
}
[class~="h-60"] {
  height: 15rem;
}
[class~="h-64"] {
  height: 16rem;
}
[class~="h-8"] {
  height: 2rem;
}
[class~="h-80"] {
  height: 20rem;
}
[class~="h-96"] {
  height: 24rem;
}
[class~="has-[:checked]:bg-[#12B24B]/50"]:has(:checked) {
  background-color: rgba(18, 178, 75, 0.5);
}
[class~="has-[:checked]:border-[#12B24B]"]:has(:checked) {
  border-color: #12b24b;
}
[class~="hover:bg-[#12B24B]"]:hover {
  background-color: #12b24b;
}
[class~="hover:bg-green-100"]:hover {
  background-color: #dcfce7;
}
[class~="hover:bg-green-50"]:hover {
  background-color: #f0fdf4;
}
[class~="hover:bg-green-600"]:hover {
  background-color: #16a34a;
}
[class~="hover:bg-white"]:hover {
  background-color: #fff;
}
[class~="hover:bg-white/10"]:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
[class~="hover:bg-white/20"]:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
[class~="hover:border-[#12B24B]"]:hover {
  border-color: #12b24b;
}
[class~="hover:shadow-sm"]:hover {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
[class~="hover:text-[#0e9a3e]"]:hover {
  font-size: #0e9a3e;
}
[class~="hover:text-white"]:hover {
  color: #fff;
}
[class~="hover:underline"]:hover {
  text-decoration: underline;
}
[class~="inline-block"] {
  display: inline-block;
}
[class~="inline-flex"] {
  display: inline-flex;
}
[class~="inset-0"] {
  inset: 0;
}
[class~="items-center"] {
  align-items: center;
}
[class~="items-start"] {
  align-items: flex-start;
}
[class~="justify-between"] {
  justify-content: space-between;
}
[class~="justify-center"] {
  justify-content: center;
}
[class~="leading-7"] {
  line-height: 1.75rem;
}
[class~="leading-8"] {
  line-height: 2rem;
}
[class~="leading-none"] {
  line-height: 1;
}
[class~="leading-relaxed"] {
  line-height: 1.625;
}
[class~="leading-tight"] {
  line-height: 1.25;
}
[class~="left-0"] {
  left: 0;
}
[class~="left-1/2"] {
  left: 50%;
}
[class~="max-h-80"] {
  max-height: 20rem;
}
[class~="max-w-2xl"] {
  max-width: 42rem;
}
[class~="max-w-3xl"] {
  max-width: 48rem;
}
[class~="max-w-4xl"] {
  max-width: 56rem;
}
[class~="max-w-5xl"] {
  max-width: 64rem;
}
[class~="max-w-6xl"] {
  max-width: 72rem;
}
[class~="max-w-xl"] {
  max-width: 36rem;
}
[class~="mb-0.5"] {
  margin-bottom: 0.125rem;
}
[class~="mb-1"] {
  margin-bottom: 0.25rem;
}
[class~="mb-10"] {
  margin-bottom: 2.5rem;
}
[class~="mb-12"] {
  margin-bottom: 3rem;
}
[class~="mb-14"] {
  margin-bottom: 3.5rem;
}
[class~="mb-2"] {
  margin-bottom: 0.5rem;
}
[class~="mb-3"] {
  margin-bottom: 0.75rem;
}
[class~="mb-4"] {
  margin-bottom: 1rem;
}
[class~="mb-5"] {
  margin-bottom: 1.25rem;
}
[class~="mb-6"] {
  margin-bottom: 1.5rem;
}
[class~="mb-7"] {
  margin-bottom: 1.75rem;
}
[class~="mb-8"] {
  margin-bottom: 2rem;
}
[class~="ml-1"] {
  margin-left: 0.25rem;
}
[class~="mr-2"] {
  margin-right: 0.5rem;
}
[class~="mr-3"] {
  margin-right: 0.75rem;
}
[class~="mr-4"] {
  margin-right: 1rem;
}
[class~="mt-0.5"] {
  margin-top: 0.125rem;
}
[class~="mt-1"] {
  margin-top: 0.25rem;
}
[class~="mt-10"] {
  margin-top: 2.5rem;
}
[class~="mt-14"] {
  margin-top: 3.5rem;
}
[class~="mt-2"] {
  margin-top: 0.5rem;
}
[class~="mt-3"] {
  margin-top: 0.75rem;
}
[class~="mt-4"] {
  margin-top: 1rem;
}
[class~="mt-5"] {
  margin-top: 1.25rem;
}
[class~="mt-6"] {
  margin-top: 1.5rem;
}
[class~="mt-8"] {
  margin-top: 2rem;
}
[class~="mx-4"] {
  margin-left: 1rem;
  margin-right: 1rem;
}
[class~="mx-auto"] {
  margin-left: auto;
  margin-right: auto;
  margin-left: auto;
  margin-right: auto;
}
[class~="my-1"] {
  margin-top: 0.25rem;
  margin-bottom: 0.25rem;
}
[class~="my-14"] {
  margin-top: 3.5rem;
  margin-bottom: 3.5rem;
}
[class~="object-contain"] {
  object-fit: contain;
}
[class~="opacity-5"] {
  opacity: 0.05;
}
[class~="opacity-60"] {
  opacity: 0.6;
}
[class~="opacity-70"] {
  opacity: 0.7;
}
[class~="opacity-80"] {
  opacity: 0.8;
}
[class~="overflow-hidden"] {
  overflow: hidden;
}
[class~="overflow-x-auto"] {
  overflow-x: auto;
}
[class~="p-1"] {
  padding: 0.25rem;
}
[class~="p-3"] {
  padding: 0.75rem;
}
[class~="p-4"] {
  padding: 1rem;
}
[class~="p-5"] {
  padding: 1.25rem;
}
[class~="p-6"] {
  padding: 1.5rem;
}
[class~="p-7"] {
  padding: 1.75rem;
}
[class~="p-8"] {
  padding: 2rem;
}
[class~="p-[1px]"] {
  padding: 1px;
}
[class~="pointer-events-none"] {
  pointer-events: none;
}
[class~="pt-2"] {
  padding-top: 0.5rem;
}
[class~="px-10"] {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}
[class~="px-3"] {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
[class~="px-4"] {
  padding-left: 1rem;
  padding-right: 1rem;
}
[class~="px-5"] {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
[class~="px-6"] {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
[class~="px-8"] {
  padding-left: 2rem;
  padding-right: 2rem;
}
[class~="px-9"] {
  padding-left: 2.25rem;
  padding-right: 2.25rem;
}
[class~="py-1"] {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
[class~="py-1.5"] {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
[class~="py-12"] {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
[class~="py-14"] {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
}
[class~="py-16"] {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
[class~="py-2"] {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
[class~="py-20"] {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
[class~="py-3"] {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
[class~="py-3.5"] {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
[class~="py-4"] {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
[class~="py-8"] {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
[class~="relative"] {
  position: relative;
}
[class~="right-0"] {
  right: 0;
}
[class~="rounded-2xl"] {
  border-radius: 1rem;
}
[class~="rounded-3xl"] {
  border-radius: 1.5rem;
}
[class~="rounded-b-2xl"] {
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
[class~="rounded-full"] {
  border-radius: 9999px;
}
[class~="rounded-lg"] {
  border-radius: 0.5rem;
}
[class~="rounded-xl"] {
  border-radius: 0.75rem;
}
[class~="shadow-2xl"] {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
[class~="shadow-sm"] {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}
[class~="shrink-0"] {
  flex-shrink: 0;
}
[class~="space-y-1"] > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.25rem;
}
[class~="space-y-2"] > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.5rem;
}
[class~="space-y-3"] > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.75rem;
}
[class~="space-y-4"] > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1rem;
}
[class~="space-y-5"] > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1.25rem;
}
[class~="space-y-6"] > :not([hidden]) ~ :not([hidden]) {
  margin-top: 1.5rem;
}
[class~="text-2xl"] {
  font-size: 1.5rem;
  line-height: 2rem;
}
[class~="text-3xl"] {
  font-size: 1.875rem;
  line-height: 2.25rem;
}
[class~="text-4xl"] {
  font-size: 2.25rem;
  line-height: 2.5rem;
}
[class~="text-5xl"] {
  font-size: 3rem;
  line-height: 1;
}
[class~="text-6xl"] {
  font-size: 3.75rem;
  line-height: 1;
}
[class~="text-[#12B24B]"] {
  font-size: #12b24b;
}
[class~="text-[#1FB25A]"] {
  font-size: #1fb25a;
}
[class~="text-[#8DE1B0]"] {
  font-size: #8de1b0;
}
[class~="text-amber-700"] {
  color: #b45309;
}
[class~="text-amber-800"] {
  color: #92400e;
}
[class~="text-black"] {
  color: #000;
}
[class~="text-blue-500"] {
  color: #3b82f6;
}
[class~="text-blue-700"] {
  color: #1d4ed8;
}
[class~="text-brand"] {
  color: #12b24b;
}
[class~="text-center"] {
  text-align: center;
}
[class~="text-cyan-700"] {
  color: #0e7490;
}
[class~="text-gray-100"] {
  color: #f3f4f6;
}
[class~="text-gray-300"] {
  color: #d1d5db;
}
[class~="text-gray-400"] {
  color: #9ca3af;
}
[class~="text-gray-500"] {
  color: #6b7280;
}
[class~="text-gray-600"] {
  color: #4b5563;
}
[class~="text-gray-700"] {
  color: #374151;
}
[class~="text-gray-800"] {
  color: #1f2937;
}
[class~="text-gray-900"] {
  color: #111827;
}
[class~="text-green-100"] {
  color: #dcfce7;
}
[class~="text-green-100/80"] {
  color: rgba(220, 252, 231, 0.8);
}
[class~="text-green-200"] {
  color: #bbf7d0;
}
[class~="text-green-200/70"] {
  color: rgba(187, 247, 208, 0.7);
}
[class~="text-green-300"] {
  color: #86efac;
}
[class~="text-green-50"] {
  color: #f0fdf4;
}
[class~="text-green-700"] {
  color: #15803d;
}
[class~="text-green-800"] {
  color: #166534;
}
[class~="text-left"] {
  text-align: left;
}
[class~="text-lg"] {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
[class~="text-orange-600"] {
  color: #ea580c;
}
[class~="text-orange-700"] {
  color: #c2410c;
}
[class~="text-pink-700"] {
  color: #be185d;
}
[class~="text-purple-700"] {
  color: #7e22ce;
}
[class~="text-purple-800"] {
  color: #6b21a8;
}
[class~="text-red-400"] {
  color: #f87171;
}
[class~="text-red-500"] {
  color: #ef4444;
}
[class~="text-red-600"] {
  color: #dc2626;
}
[class~="text-red-700"] {
  color: #b91c1c;
}
[class~="text-red-800"] {
  color: #991b1b;
}
[class~="text-rose-500"] {
  color: #f43f5e;
}
[class~="text-sm"] {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
[class~="text-white"] {
  color: #fff;
}
[class~="text-xl"] {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
[class~="text-xs"] {
  font-size: 0.75rem;
  line-height: 1rem;
}
[class~="text-yellow-300"] {
  color: #fde047;
}
[class~="to-[#12B24B]"] {
  --tw-gradient-to: #12b24b;
}
[class~="to-[#1FB25A]"] {
  --tw-gradient-to: #1fb25a;
}
[class~="to-amber-100"] {
  --tw-gradient-to: #fef3c7;
}
[class~="to-amber-50"] {
  --tw-gradient-to: #fffbeb;
}
[class~="to-blue-100"] {
  --tw-gradient-to: #dbeafe;
}
[class~="to-blue-50"] {
  --tw-gradient-to: #eff6ff;
}
[class~="to-gray-100"] {
  --tw-gradient-to: #f3f4f6;
}
[class~="to-green-100"] {
  --tw-gradient-to: #dcfce7;
}
[class~="to-orange-100"] {
  --tw-gradient-to: #ffedd5;
}
[class~="to-orange-50"] {
  --tw-gradient-to: #fff7ed;
}
[class~="to-pink-50"] {
  --tw-gradient-to: #fdf2f8;
}
[class~="to-purple-100"] {
  --tw-gradient-to: #f3e8ff;
}
[class~="to-red-100"] {
  --tw-gradient-to: #fee2e2;
}
[class~="to-teal-50"] {
  --tw-gradient-to: #f0fdfa;
}
[class~="to-white"] {
  --tw-gradient-to: #fff;
}
[class~="top-0"] {
  top: 0;
}
[class~="tracking-[0.18em]"] {
  letter-spacing: 0.18em;
}
[class~="tracking-[0.2em]"] {
  letter-spacing: 0.2em;
}
[class~="tracking-wide"] {
  letter-spacing: 0.025em;
}
[class~="tracking-widest"] {
  letter-spacing: 0.1em;
}
[class~="transition"] {
  transition-property: color, background-color, border-color,
    text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter,
    backdrop-filter;
  transition-duration: 0.15s;
}
[class~="transition-all"] {
  transition-property: all;
  transition-duration: 0.15s;
}
[class~="translate-x-1/2"] {
  --tw-translate-x: 50%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="translate-x-1/3"] {
  --tw-translate-x: 33.333333%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="translate-y-1/3"] {
  --tw-translate-y: 33.333333%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="translate-y-1/4"] {
  --tw-translate-y: 25%;
  transform: translate(var(--tw-translate-x, 0), var(--tw-translate-y, 0));
}
[class~="underline"] {
  text-decoration: underline;
}
[class~="uppercase"] {
  text-transform: uppercase;
}
[class~="via-[#0e5a2b]"] {
  --tw-gradient-via: #0e5a2b;
}
[class~="via-[#163022]"] {
  --tw-gradient-via: #163022;
}
[class~="w-11"] {
  width: 2.75rem;
}
[class~="w-12"] {
  width: 3rem;
}
[class~="w-16"] {
  width: 4rem;
}
[class~="w-20"] {
  width: 5rem;
}
[class~="w-28"] {
  width: 7rem;
}
[class~="w-40"] {
  width: 10rem;
}
[class~="w-5"] {
  width: 1.25rem;
}
[class~="w-6"] {
  width: 1.5rem;
}
[class~="w-60"] {
  width: 15rem;
}
[class~="w-64"] {
  width: 16rem;
}
[class~="w-8"] {
  width: 2rem;
}
[class~="w-80"] {
  width: 20rem;
}
[class~="w-96"] {
  width: 24rem;
}
[class~="w-full"] {
  width: 100%;
  width: 100%;
}
[class~="z-10"] {
  z-index: 10;
}
@media (min-width: 640px) {
  [class~="sm:flex-row"] {
    flex-direction: row;
  }
  [class~="sm:grid-cols-2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  [class~="sm:grid-cols-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  [class~="sm:grid-cols-4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  [class~="sm:text-sm"] {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
  [class~="sm:w-auto"] {
    width: auto;
  }
}
@media (min-width: 768px) {
  [class~="md:grid-cols-2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  [class~="md:grid-cols-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  [class~="md:grid-cols-4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  [class~="md:grid-cols-[1.3fr_0.7fr]"] {
    grid-template-columns: 1.3fr 0.7fr;
  }
  [class~="md:p-10"] {
    padding: 2.5rem;
  }
  [class~="md:p-7"] {
    padding: 1.75rem;
  }
  [class~="md:p-8"] {
    padding: 2rem;
  }
  [class~="md:px-8"] {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  [class~="md:py-10"] {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
  [class~="md:text-3xl"] {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  [class~="md:text-4xl"] {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
  [class~="md:text-5xl"] {
    font-size: 3rem;
    line-height: 1;
  }
  [class~="md:text-7xl"] {
    font-size: 4.5rem;
    line-height: 1;
  }
  [class~="md:text-[15px]"] {
    font-size: 15px;
  }
}
@media (min-width: 1024px) {
  [class~="lg:flex-row"] {
    flex-direction: row;
  }
  [class~="lg:grid-cols-3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  [class~="lg:grid-cols-4"] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  [class~="lg:items-end"] {
    align-items: flex-end;
  }
  [class~="lg:justify-between"] {
    justify-content: space-between;
  }
}
[class~="container"] {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
[class~="text-brand"] {
  color: #12b24b;
}

[class~="rounded-[27px]"] {
  border-radius: 27px;
}
[class~="rounded-[28px]"] {
  border-radius: 28px;
}
[class~="divide-gray-100"] > :not([hidden]) ~ :not([hidden]) {
  border-color: #f3f4f6;
}

/* Aroma global footer safety reset, scoped footer fix only */
.aroma-global-footer,
.aroma-global-footer * {
  box-sizing: border-box;
}
.aroma-global-footer {
  background: radial-gradient(
      circle at top left,
      rgba(105, 165, 125, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 52%, #0d1b14 100%) !important;
  color: #f7fff9 !important;
}
.aroma-global-footer .aroma-footer-top,
.aroma-global-footer .aroma-footer-brand,
.aroma-global-footer .aroma-footer-col,
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-location-section,
.aroma-global-footer .aroma-footer-bottom {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #f7fff9 !important;
}
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-col {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  backdrop-filter: none !important;
}
.aroma-global-footer .aroma-footer-col h2,
.aroma-global-footer .aroma-footer-social-label {
  background: transparent !important;
  color: #fff !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-col a,
.aroma-global-footer .aroma-footer-bottom a {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.88) !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-intro,
.aroma-global-footer .aroma-footer-cancellation,
.aroma-global-footer .aroma-footer-bottom,
.aroma-global-footer .aroma-footer-bottom p {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.82) !important;
}
.aroma-global-footer .aroma-footer-col a:hover,
.aroma-global-footer .aroma-footer-col a:focus-visible,
.aroma-global-footer .aroma-footer-bottom a:hover,
.aroma-global-footer .aroma-footer-bottom a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
.aroma-global-footer .aroma-footer-logo {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
  border-radius: 16px !important;
}
.aroma-global-footer .aroma-footer-logo img {
  filter: none !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-socials a {
  background: rgba(255, 255, 255, 0.09) !important;
  color: rgba(247, 255, 249, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
.aroma-global-footer .aroma-footer-socials a:hover,
.aroma-global-footer .aroma-footer-socials a:focus-visible {
  background: #fff !important;
  color: #173625 !important;
  border-color: #fff !important;
}

/* source:css/aroma-font-unified.css */
/* =========================================================
   AROMA UNIFIED FONT SYSTEM, matches laser guide page style
   DM Sans is the brand font across all pages.
   Applied last so it safely overrides Lora/Montserrat/Papyrus.
   ========================================================= */

/* Body */
body {
  font-family: "DM Sans", Montserrat, Arial, Helvetica, sans-serif !important;
}

/* All headings */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "DM Sans", Montserrat, Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

/* Named class overrides where Lora was applied */
.section-title,
.section-lead,
.pg-hero h1,
.faq-q,
.faq-a,
.afaq-q,
.afaq-a,
.svc-card h3,
.team-card h3,
.team-card .role,
.stat .num,
.prod-body h3,
.prod-price,
.btn,
.toc-list,
.loc-card h3,
.loc-card p,
.aroma-hero-word {
  font-family: "DM Sans", Montserrat, Arial, Helvetica, sans-serif !important;
}

/* Headings weight */
h1 {
  font-weight: 800 !important;
}
h2 {
  font-weight: 700 !important;
}
h3 {
  font-weight: 700 !important;
}

/* FAQ accents */
.afaq-q {
  font-weight: 700 !important;
  color: #1d2b22;
}
.afaq-a {
  color: #374151;
  line-height: 1.75;
}

/* Hero word, was Papyrus, now bold DM Sans */
.aroma-hero-word {
  font-weight: 900 !important;
  letter-spacing: -0.02em;
}

/* Inline-style font overrides, CSS attr selector won't catch inline, but 
   these class-based rules handle the common patterns */
[class*="font-display"] {
  font-family: "DM Sans", Montserrat, Arial, Helvetica, sans-serif !important;
  font-weight: 700 !important;
}

/* Global header stays Inter-first (already defined in its own scoped CSS).
   These rules do NOT target .aroma-global-header to avoid breaking nav. */

/* Aroma global footer safety reset, scoped footer fix only */
.aroma-global-footer,
.aroma-global-footer * {
  box-sizing: border-box;
}
.aroma-global-footer {
  background: radial-gradient(
      circle at top left,
      rgba(105, 165, 125, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 52%, #0d1b14 100%) !important;
  color: #f7fff9 !important;
}
.aroma-global-footer .aroma-footer-top,
.aroma-global-footer .aroma-footer-brand,
.aroma-global-footer .aroma-footer-col,
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-location-section,
.aroma-global-footer .aroma-footer-bottom {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #f7fff9 !important;
}
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-col {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  backdrop-filter: none !important;
}
.aroma-global-footer .aroma-footer-col h2,
.aroma-global-footer .aroma-footer-social-label {
  background: transparent !important;
  color: #fff !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-col a,
.aroma-global-footer .aroma-footer-bottom a {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.88) !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-intro,
.aroma-global-footer .aroma-footer-cancellation,
.aroma-global-footer .aroma-footer-bottom,
.aroma-global-footer .aroma-footer-bottom p {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.82) !important;
}
.aroma-global-footer .aroma-footer-col a:hover,
.aroma-global-footer .aroma-footer-col a:focus-visible,
.aroma-global-footer .aroma-footer-bottom a:hover,
.aroma-global-footer .aroma-footer-bottom a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
.aroma-global-footer .aroma-footer-logo {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
  border-radius: 16px !important;
}
.aroma-global-footer .aroma-footer-logo img {
  filter: none !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-socials a {
  background: rgba(255, 255, 255, 0.09) !important;
  color: rgba(247, 255, 249, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
.aroma-global-footer .aroma-footer-socials a:hover,
.aroma-global-footer .aroma-footer-socials a:focus-visible {
  background: #fff !important;
  color: #173625 !important;
  border-color: #fff !important;
}

/* source:css/aroma-theme.css */
/* ===============================================================
   AROMA UNIFIED THEME CSS, v2
   Model: waxing-toronto.html design system
   Applied last on every page. Does NOT override layouts/images.
   Uses CSS custom properties so each service can have its colour.
   Service-specific <style> blocks in each page set the variables.
   =============================================================== */

/* ── Default variables (waxing green, fallback for unset pages) ── */
:root {
  --svc-ink: #21483a;
  --svc-dark: #2f5f4c;
  --svc-mid: #4f8a68;
  --svc-light: #8fcfa5;
  --svc-pale: #e3f6e7;
  --svc-mist: #f4fbf6;
  --svc-glow: rgba(199, 223, 203, 0.48);
  --svc-shadow: rgba(47, 89, 65, 0.1);
  --svc-muted: #54645a;
  --svc-border: rgba(47, 89, 65, 0.12);
}

/* ── Body: soft gradient background ─────────────────────────────── */
/* Uses var(--svc-glow) so each service gets its own tinted backdrop */
body {
  background: radial-gradient(
      circle at top left,
      var(--svc-glow),
      transparent 26%
    ),
    linear-gradient(180deg, #fdfffd 0%, #fbfefb 34%, #ffffff 100%);
}
/* Preserve dark CTAs / section backgrounds, do NOT affect those */
/* (they are set with inline styles or specific classes) */

/* ── Typography: match waxing-toronto heading impact ────────────── */
/* Only target headings WITHOUT an explicit white/light color class  */
h1:not([class*="text-white"]):not([style*="color:#fff"]):not(
    [style*="color: #fff"]
  ) {
  font-size: clamp(2.4rem, 4.5vw, 4.2rem);
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-weight: 800;
  color: var(--svc-ink);
}
h2:not([class*="text-white"]):not([style*="color:#fff"]):not(
    [style*="color: #fff"]
  ) {
  letter-spacing: -0.02em;
  font-weight: 700;
  color: var(--svc-ink);
}
h3:not([class*="text-white"]):not([style*="color:#fff"]):not(
    [style*="color: #fff"]
  ) {
  font-weight: 700;
  color: var(--svc-dark);
}

/* ── Tailwind gray heading overrides (Tailwind laser pages) ──────── */
/* Targets headings that have a gray Tailwind color class */
h1[class*="text-gray"],
h2[class*="text-gray"],
h3[class*="text-gray"] {
  color: var(--svc-ink) !important;
}

/* ── Tailwind muted text, warm muted instead of cold gray ──────── */
[class~="text-gray-600"] {
  color: var(--svc-muted) !important;
}
[class~="text-gray-500"] {
  color: var(--svc-muted) !important;
}

/* ── Override Tailwind lime green accents with service colour ────── */
[class~="text-green-700"] {
  color: var(--svc-dark) !important;
}
[class~="text-green-600"] {
  color: var(--svc-mid) !important;
}

/* ── Card lift, match waxing-toronto card shadow & radius ──────── */
/* Only applies where no explicit inline shadow is set */
.rounded-xl,
.rounded-2xl {
  box-shadow: 0 14px 36px var(--svc-shadow) !important;
}

/* ── Waxing-toronto button system ───────────────────────────────── */
/* These are already defined per page; this ensures hover states      */
.btn-primary:hover,
.btn:hover {
  transform: translateY(-2px);
}

/* ── Section lead copy: add warmth like waxing-toronto ──────────── */
/* Targets .lead, .hero-lead, .section-copy used on waxing pages     */
.lead,
.hero-lead,
.section-copy,
.section-lead {
  font-size: 17px;
  line-height: 1.8;
  color: var(--svc-muted);
}

/* ── Trust bar / section tags: use service colour ───────────────── */
.section-tag,
.eyebrow,
.tag {
  color: var(--svc-mid);
}
.trust-bar,
.trust-inner .trust-item {
  background: var(--svc-ink);
  color: rgba(255, 255, 255, 0.9);
}

/* ── FAQ improvements ───────────────────────────────────────────── */
.faq button {
  color: var(--svc-ink);
}
.faq-icon {
  background: var(--svc-pale);
  color: var(--svc-dark);
}

/* ── Booking card title ─────────────────────────────────────────── */
[style*="letter-spacing: 0.16em"],
[style*="letter-spacing:0.16em"] {
  color: var(--svc-mid) !important;
}

/* ── Hub card hover top accent bar, use service colour ─────────── */
.hub-card::before {
  background: linear-gradient(90deg, var(--svc-light), var(--svc-pale));
}
.hub-card:hover {
  border-color: var(--svc-pale);
}

/* ── Floating badges / booking cards, use service colour ──────── */
.hub-card-price {
  background: var(--svc-mist);
  color: var(--svc-dark);
}

/* ── CTA section, preserve dark bg but use service gradient ────── */
.cta {
  background: linear-gradient(135deg, var(--svc-ink), var(--svc-dark));
}

/* ── Breadcrumb links ────────────────────────────────────────────── */
.breadcrumb a {
  color: var(--svc-dark);
}

/* ── Pill links ─────────────────────────────────────────────────── */
.pill.active {
  background: linear-gradient(
    180deg,
    var(--svc-light) 0%,
    var(--svc-dark) 100%
  );
}

/* ── Focus visible ring, use service colour ─────────────────────── */
:focus-visible {
  outline-color: var(--svc-light);
}

/* ── Scrollbar accent (Webkit) ──────────────────────────────────── */
::-webkit-scrollbar-thumb {
  background: var(--svc-pale);
}

/* ── FONT SIZE NORMALISATION ─────────────────────────────────────── */
/* Prevent tiny or overly large body text */
body {
  font-size: 16px;
  line-height: 1.65;
  color: var(--svc-ink);
}
p {
  line-height: 1.7;
}

/* ── Prevent old CSS files from making the body white ───────────── */
/* (other-style.css sets background:#fff; this overrides it cleanly) */
/* Already handled by the gradient above (last CSS wins, no !important needed) */

/* ════════════════════════════════════════════════════════════
   ADDITIONAL FIXES, v3
   ════════════════════════════════════════════════════════════ */

/* ── Fix h1 em Papyrus (used in sugaring/waxing pages) ────── */
h1 em {
  font-family: "DM Sans", Montserrat, Arial, sans-serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
}

/* ── CTA final gradient, override ugly olive sugaring color ── */
/* The sugaring shared CSS hardcodes #3f2f08/#84600d with !important.
   Our service vars produce a much nicer warm brown. Override it. */
.cta-final {
  background: linear-gradient(
    135deg,
    var(--svc-ink),
    var(--svc-dark)
  ) !important;
  color: #fff !important;
}
.cta-final h2 {
  color: #fff !important;
}
.cta-final p {
  color: rgba(255, 255, 255, 0.88) !important;
}

.promo-strip {
  background: linear-gradient(
    135deg,
    var(--svc-ink),
    var(--svc-dark)
  ) !important;
}
.promo-strip strong {
  color: #fff !important;
}
.promo-strip p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* ── Related cluster (bottom of sugaring pages) ────────────── */
.related-cluster {
  background: var(--svc-mist) !important;
  padding: 36px 0 !important;
  border-top: 1px solid var(--svc-border) !important;
}
.related-cluster .container,
.related-cluster .wrap {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto;
}
.related-cluster h2 {
  font-size: 1.3rem !important;
  color: var(--svc-ink) !important;
  margin: 0 0 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}
.related-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
@media (max-width: 900px) {
  .related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 520px) {
  .related-grid {
    grid-template-columns: 1fr !important;
  }
}
.related-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #ffffff !important;
  border: 1px solid var(--svc-border) !important;
  border-radius: 14px !important;
  padding: 16px 18px !important;
  color: var(--svc-dark) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition:
    box-shadow 0.2s,
    border-color 0.2s,
    background 0.2s !important;
  box-shadow: 0 4px 14px var(--svc-shadow) !important;
}
.related-card::after {
  content: "→";
  color: var(--svc-mid);
  flex-shrink: 0;
  font-size: 16px;
  margin-left: 8px;
}
.related-card:hover {
  background: var(--svc-pale) !important;
  border-color: var(--svc-light) !important;
  box-shadow: 0 8px 24px var(--svc-shadow) !important;
}

/* ── Style menu two-column layout (Brazilian page) ──────────── */
.style-menu-2col {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 32px;
  align-items: start;
  margin-bottom: 28px;
}
.style-menu-text-panel {
  background: #fff;
  border: 1px solid var(--svc-border);
  border-radius: 24px;
  padding: 32px 28px;
  box-shadow: 0 14px 36px var(--svc-shadow);
}
.style-menu-text-panel .section-tag {
  display: block;
  margin-bottom: 12px;
}
.style-menu-text-panel h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem) !important;
  line-height: 1.1 !important;
  margin-bottom: 18px !important;
}
.style-menu-text-panel p {
  color: var(--svc-muted);
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 14px;
}
@media (max-width: 860px) {
  .style-menu-2col {
    grid-template-columns: 1fr;
  }
}

/* ── afaq section (Thinking About Laser After Sugaring?) ────── */
.afaq-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 20px;
}
.afaq-item {
  border-bottom: 1px solid var(--svc-border);
  padding: 18px 0;
}
.afaq-item:last-child {
  border-bottom: none;
}
.afaq-q {
  font-size: 16px;
  font-weight: 700;
  color: var(--svc-ink);
  cursor: pointer;
  list-style: none;
  margin: 0;
}
.afaq-q::marker {
  display: none;
}
.afaq-a {
  color: var(--svc-muted);
  font-size: 15px;
  line-height: 1.75;
  padding: 10px 0 0;
  margin: 0;
}
/* Aroma stability repair: shared layout, FAQ, and related-link fallback styles */
.aroma-book-price-check {
  padding: clamp(32px, 5vw, 64px) 0;
  background: #f8fbf7;
}
.aroma-book-price-check .wrap {
  width: min(1120px, 92vw);
  margin: 0 auto;
}
.aroma-book-price-check .price-card {
  background: #fff;
  border: 1px solid rgba(79, 138, 104, 0.18);
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 14px 34px rgba(24, 51, 38, 0.08);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 220px;
}
.aroma-book-price-check .price-label {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(79, 138, 104, 0.11);
  color: #315f47;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.aroma-book-price-check .card-actions {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.aroma-book-price-check .section-lead {
  color: #5a7a6a;
  line-height: 1.65;
}
.area-pills,
.area-grid.tight {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}
.area-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  border: 1px solid rgba(22, 138, 70, 0.22);
  border-radius: 999px;
  padding: 10px 16px;
  background: #fff;
  color: #145a32 !important;
  font-weight: 800;
  line-height: 1.2;
  box-shadow: 0 10px 24px rgba(24, 51, 38, 0.07);
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}
.area-pill:visited {
  color: #145a32 !important;
}
.area-pill:hover,
.area-pill:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(22, 138, 70, 0.45);
  background: #f4fbf6;
  color: #0f4c2a !important;
}
.faq-item .faq-a,
.faq-item .faq-content {
  display: none;
}
.faq-item.open .faq-a {
  display: block !important;
  max-height: none !important;
  padding: 0 24px 20px !important;
}
.faq-item.open .faq-content {
  display: block !important;
}
.fi .fa {
  display: block;
}
@media (max-width: 640px) {
  .aroma-book-price-check .price-card {
    padding: 20px;
  }
  .area-pills,
  .area-grid.tight {
    gap: 10px;
  }
  .area-pill {
    width: 100%;
  }
}

/* Laser service image behavior fix: match laser-underarms image card treatment */
.pimg {
  background: linear-gradient(
    135deg,
    var(--mint, #dcefe6),
    var(--green-light, #eef7f1)
  );
  width: 100%;
  aspect-ratio: 3/4;
  border-radius: 18px;
  display: block;
  overflow: hidden;
  box-shadow: var(--shad, 0 18px 40px rgba(17, 56, 34, 0.12));
}
.pimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  border-radius: 0;
}
.inline-photo {
  width: 100%;
  aspect-ratio: 3/4;
  border-radius: 18px;
  overflow: hidden;
  display: block;
  box-shadow: var(--shad, var(--shadow-lg, 0 18px 40px rgba(17, 56, 34, 0.12)));
}
.inline-photo img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}
.two-col > .pimg {
  align-self: start;
}
@media (max-width: 760px) {
  .pimg,
  .inline-photo {
    aspect-ratio: 4/5;
  }
}

/* ── Color readability repair for dark Aroma panels ─────────────
   Scope: color only. This prevents shared heading rules from making
   headings dark green on dark green/charcoal backgrounds. */
.start-here-copy h2,
.review-summary h2,
.final-cta h2,
.cta h2,
.cta-section h2,
.cta-band h2,
.loc-cta h2,
.dark-section .section-title,
.dark-section h2,
.dark-section h3,
.dark-section .feature-card h3,
.card-dark h2,
.card-dark h3 {
  color: #fff8ed !important;
}

.start-here-copy .section-kicker,
.review-summary .stars,
.final-cta .section-kicker,
.cta .eyebrow,
.cta-section .eyebrow,
.cta-band .eyebrow,
.loc-cta .eyebrow,
.dark-section .eyebrow {
  color: #dff7ea !important;
}

.start-here-copy p,
.review-summary p,
.final-cta p,
.cta p,
.cta-section p,
.cta-band p,
.loc-cta p,
.dark-section .section-copy,
.dark-section .feature-card p,
.card-dark p,
.card-dark li {
  color: #f8f1e6 !important;
}

.final-cta .btn-secondary,
.cta .btn-secondary,
.cta-section .btn-secondary,
.cta-band .btn-secondary,
.loc-cta .loc-btn.secondary,
.dark-section .btn-secondary {
  color: #fff8ed !important;
  border-color: rgba(255, 248, 237, 0.78) !important;
}

.final-cta .btn-secondary:hover,
.cta .btn-secondary:hover,
.cta-section .btn-secondary:hover,
.cta-band .btn-secondary:hover,
.loc-cta .loc-btn.secondary:hover,
.dark-section .btn-secondary:hover {
  background: rgba(255, 248, 237, 0.12) !important;
}

/* ── Whole-site dark surface readability guard ─────────────────
   Color-only fix. This protects dark green, charcoal, and gradient
   booking/CTA/promo panels across the website from inherited dark
   heading colors. No layout, content, links, scripts, or SEO changed. */

.cta,
.cta-final,
.cta-section,
.cta-band,
.final-cta,
.loc-cta,
.dark-section,
.dark-panel,
.card-dark,
.review-summary,
.start-here-copy,
.promo-strip,
.promo-band,
.promo-card,
.yonge-only,
.booking-cta,
.booking-panel,
.location-cta,
.aroma-dark-panel,
[class*="dark-card"],
[class*="dark-panel"] {
  color: #f8f1e6 !important;
}

.cta h1,
.cta h2,
.cta h3,
.cta h4,
.cta-final h1,
.cta-final h2,
.cta-final h3,
.cta-final h4,
.cta-section h1,
.cta-section h2,
.cta-section h3,
.cta-section h4,
.cta-band h1,
.cta-band h2,
.cta-band h3,
.cta-band h4,
.final-cta h1,
.final-cta h2,
.final-cta h3,
.final-cta h4,
.loc-cta h1,
.loc-cta h2,
.loc-cta h3,
.loc-cta h4,
.dark-section h1,
.dark-section h2,
.dark-section h3,
.dark-section h4,
.dark-panel h1,
.dark-panel h2,
.dark-panel h3,
.dark-panel h4,
.card-dark h1,
.card-dark h2,
.card-dark h3,
.card-dark h4,
.review-summary h1,
.review-summary h2,
.review-summary h3,
.review-summary h4,
.start-here-copy h1,
.start-here-copy h2,
.start-here-copy h3,
.start-here-copy h4,
.promo-strip h1,
.promo-strip h2,
.promo-strip h3,
.promo-strip h4,
.promo-band h1,
.promo-band h2,
.promo-band h3,
.promo-band h4,
.promo-card h1,
.promo-card h2,
.promo-card h3,
.promo-card h4,
.yonge-only h1,
.yonge-only h2,
.yonge-only h3,
.yonge-only h4,
.booking-cta h1,
.booking-cta h2,
.booking-cta h3,
.booking-cta h4,
.booking-panel h1,
.booking-panel h2,
.booking-panel h3,
.booking-panel h4,
.location-cta h1,
.location-cta h2,
.location-cta h3,
.location-cta h4,
[class*="dark-card"] h1,
[class*="dark-card"] h2,
[class*="dark-card"] h3,
[class*="dark-card"] h4,
[class*="dark-panel"] h1,
[class*="dark-panel"] h2,
[class*="dark-panel"] h3,
[class*="dark-panel"] h4 {
  color: #fff8ed !important;
}

.cta p,
.cta li,
.cta span:not(.icon):not([class*="arrow"]),
.cta-final p,
.cta-final li,
.cta-final span:not(.icon):not([class*="arrow"]),
.cta-section p,
.cta-section li,
.cta-section span:not(.icon):not([class*="arrow"]),
.cta-band p,
.cta-band li,
.cta-band span:not(.icon):not([class*="arrow"]),
.final-cta p,
.final-cta li,
.final-cta span:not(.icon):not([class*="arrow"]),
.loc-cta p,
.loc-cta li,
.loc-cta span:not(.icon):not([class*="arrow"]),
.dark-section p,
.dark-section li,
.dark-section span:not(.icon):not([class*="arrow"]),
.dark-panel p,
.dark-panel li,
.dark-panel span:not(.icon):not([class*="arrow"]),
.card-dark p,
.card-dark li,
.card-dark span:not(.icon):not([class*="arrow"]),
.review-summary p,
.review-summary li,
.review-summary span:not(.icon):not([class*="arrow"]),
.start-here-copy p,
.start-here-copy li,
.start-here-copy span:not(.icon):not([class*="arrow"]),
.promo-strip p,
.promo-strip li,
.promo-strip span:not(.icon):not([class*="arrow"]),
.promo-band p,
.promo-band li,
.promo-band span:not(.icon):not([class*="arrow"]),
.promo-card p,
.promo-card li,
.promo-card span:not(.icon):not([class*="arrow"]),
.yonge-only p,
.yonge-only li,
.yonge-only span:not(.icon):not([class*="arrow"]),
.booking-cta p,
.booking-cta li,
.booking-cta span:not(.icon):not([class*="arrow"]),
.booking-panel p,
.booking-panel li,
.booking-panel span:not(.icon):not([class*="arrow"]),
.location-cta p,
.location-cta li,
.location-cta span:not(.icon):not([class*="arrow"]),
[class*="dark-card"] p,
[class*="dark-card"] li,
[class*="dark-card"] span:not(.icon):not([class*="arrow"]),
[class*="dark-panel"] p,
[class*="dark-panel"] li,
[class*="dark-panel"] span:not(.icon):not([class*="arrow"]) {
  color: #f8f1e6 !important;
}

.cta .eyebrow,
.cta .section-tag,
.cta .section-kicker,
.cta small,
.cta-final .eyebrow,
.cta-final .section-tag,
.cta-final .section-kicker,
.cta-final small,
.cta-section .eyebrow,
.cta-section .section-tag,
.cta-section .section-kicker,
.cta-section small,
.cta-band .eyebrow,
.cta-band .section-tag,
.cta-band .section-kicker,
.cta-band small,
.final-cta .eyebrow,
.final-cta .section-tag,
.final-cta .section-kicker,
.final-cta small,
.loc-cta .eyebrow,
.loc-cta .section-tag,
.loc-cta .section-kicker,
.loc-cta small,
.dark-section .eyebrow,
.dark-section .section-tag,
.dark-section .section-kicker,
.dark-section small,
.dark-panel .eyebrow,
.dark-panel .section-tag,
.dark-panel .section-kicker,
.dark-panel small,
.card-dark .eyebrow,
.card-dark .section-tag,
.card-dark .section-kicker,
.card-dark small,
.review-summary .eyebrow,
.review-summary .section-tag,
.review-summary .section-kicker,
.review-summary small,
.start-here-copy .eyebrow,
.start-here-copy .section-tag,
.start-here-copy .section-kicker,
.start-here-copy small,
.promo-strip .eyebrow,
.promo-strip .section-tag,
.promo-strip .section-kicker,
.promo-strip small,
.promo-band .eyebrow,
.promo-band .section-tag,
.promo-band .section-kicker,
.promo-band small,
.promo-card .eyebrow,
.promo-card .section-tag,
.promo-card .section-kicker,
.promo-card small,
.yonge-only .eyebrow,
.yonge-only .section-tag,
.yonge-only .section-kicker,
.yonge-only small {
  color: #dff7ea !important;
}

.cta a:not(.btn-primary):not(.btn-light):not(.btn-white),
.cta-final a:not(.btn-primary):not(.btn-light):not(.btn-white),
.cta-section a:not(.btn-primary):not(.btn-light):not(.btn-white),
.cta-band a:not(.btn-primary):not(.btn-light):not(.btn-white),
.final-cta a:not(.btn-primary):not(.btn-light):not(.btn-white),
.loc-cta a:not(.btn-primary):not(.btn-light):not(.btn-white),
.dark-section a:not(.btn-primary):not(.btn-light):not(.btn-white),
.dark-panel a:not(.btn-primary):not(.btn-light):not(.btn-white),
.card-dark a:not(.btn-primary):not(.btn-light):not(.btn-white),
.review-summary a:not(.btn-primary):not(.btn-light):not(.btn-white),
.start-here-copy a:not(.btn-primary):not(.btn-light):not(.btn-white),
.promo-strip a:not(.btn-primary):not(.btn-light):not(.btn-white),
.promo-band a:not(.btn-primary):not(.btn-light):not(.btn-white),
.promo-card a:not(.btn-primary):not(.btn-light):not(.btn-white),
.yonge-only a:not(.btn-primary):not(.btn-light):not(.btn-white) {
  color: #fff8ed !important;
}

.cta .btn-secondary,
.cta .btn-outline,
.cta-final .btn-secondary,
.cta-final .btn-outline,
.cta-section .btn-secondary,
.cta-section .btn-outline,
.cta-band .btn-secondary,
.cta-band .btn-outline,
.final-cta .btn-secondary,
.final-cta .btn-outline,
.loc-cta .loc-btn.secondary,
.dark-section .btn-secondary,
.dark-section .btn-outline,
.dark-panel .btn-secondary,
.dark-panel .btn-outline,
.card-dark .btn-secondary,
.card-dark .btn-outline,
.promo-strip .btn-secondary,
.promo-strip .btn-outline,
.promo-band .btn-secondary,
.promo-band .btn-outline,
.promo-card .btn-secondary,
.promo-card .btn-outline,
.yonge-only .btn-secondary,
.yonge-only .btn-outline {
  color: #fff8ed !important;
  border-color: rgba(255, 248, 237, 0.8) !important;
  background: rgba(255, 248, 237, 0.08) !important;
}

/* Inline dark background safety net */
[style*="background:#10251b"] h1,
[style*="background:#10251b"] h2,
[style*="background:#10251b"] h3,
[style*="background: #10251b"] h1,
[style*="background: #10251b"] h2,
[style*="background: #10251b"] h3,
[style*="background:#26352c"] h1,
[style*="background:#26352c"] h2,
[style*="background:#26352c"] h3,
[style*="background: #26352c"] h1,
[style*="background: #26352c"] h2,
[style*="background: #26352c"] h3,
[style*="background:#103723"] h1,
[style*="background:#103723"] h2,
[style*="background:#103723"] h3,
[style*="background: #103723"] h1,
[style*="background: #103723"] h2,
[style*="background: #103723"] h3,
[style*="background:#113822"] h1,
[style*="background:#113822"] h2,
[style*="background:#113822"] h3,
[style*="background: #113822"] h1,
[style*="background: #113822"] h2,
[style*="background: #113822"] h3,
[style*="linear-gradient"][style*="#10251b"] h1,
[style*="linear-gradient"][style*="#10251b"] h2,
[style*="linear-gradient"][style*="#10251b"] h3,
[style*="linear-gradient"][style*="#26352c"] h1,
[style*="linear-gradient"][style*="#26352c"] h2,
[style*="linear-gradient"][style*="#26352c"] h3,
[style*="linear-gradient"][style*="#103723"] h1,
[style*="linear-gradient"][style*="#103723"] h2,
[style*="linear-gradient"][style*="#103723"] h3 {
  color: #fff8ed !important;
}

[style*="background:#10251b"] p,
[style*="background:#10251b"] li,
[style*="background: #10251b"] p,
[style*="background: #10251b"] li,
[style*="background:#26352c"] p,
[style*="background:#26352c"] li,
[style*="background: #26352c"] p,
[style*="background: #26352c"] li,
[style*="background:#103723"] p,
[style*="background:#103723"] li,
[style*="background: #103723"] p,
[style*="background: #103723"] li,
[style*="background:#113822"] p,
[style*="background:#113822"] li,
[style*="background: #113822"] p,
[style*="background: #113822"] li,
[style*="linear-gradient"][style*="#10251b"] p,
[style*="linear-gradient"][style*="#10251b"] li,
[style*="linear-gradient"][style*="#26352c"] p,
[style*="linear-gradient"][style*="#26352c"] li,
[style*="linear-gradient"][style*="#103723"] p,
[style*="linear-gradient"][style*="#103723"] li {
  color: #f8f1e6 !important;
}

/* ── Footer column readability/reset repair ─────────────────────
   Color/layout-safety only inside the global footer.
   Prevents generic page nav/card styles from turning footer columns
   into pale boxes on dark footer backgrounds. */
.aroma-global-footer .aroma-footer-top,
.aroma-global-footer .aroma-footer-brand,
.aroma-global-footer .aroma-footer-col,
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-location-section,
.aroma-global-footer .aroma-footer-bottom {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  border-left: 0 !important;
  border-right: 0 !important;
  color: #f7fff9 !important;
}

.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-col {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  backdrop-filter: none !important;
}

.aroma-global-footer .aroma-footer-col h2,
.aroma-global-footer .aroma-footer-social-label {
  background: transparent !important;
  color: #ffffff !important;
  opacity: 1 !important;
}

.aroma-global-footer .aroma-footer-col a,
.aroma-global-footer .aroma-footer-bottom a {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.88) !important;
  opacity: 1 !important;
}

.aroma-global-footer .aroma-footer-intro,
.aroma-global-footer .aroma-footer-cancellation,
.aroma-global-footer .aroma-footer-bottom,
.aroma-global-footer .aroma-footer-bottom p {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.82) !important;
}

.aroma-global-footer .aroma-footer-col a:hover,
.aroma-global-footer .aroma-footer-col a:focus-visible,
.aroma-global-footer .aroma-footer-bottom a:hover,
.aroma-global-footer .aroma-footer-bottom a:focus-visible {
  color: #ffffff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

.aroma-global-footer .aroma-footer-socials a {
  background: rgba(255, 255, 255, 0.09) !important;
  color: rgba(247, 255, 249, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

.aroma-global-footer .aroma-footer-socials a:hover,
.aroma-global-footer .aroma-footer-socials a:focus-visible {
  background: #ffffff !important;
  color: #173625 !important;
  border-color: #ffffff !important;
}

/* Aroma global footer safety reset, scoped footer fix only */
.aroma-global-footer,
.aroma-global-footer * {
  box-sizing: border-box;
}
.aroma-global-footer {
  background: radial-gradient(
      circle at top left,
      rgba(105, 165, 125, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 52%, #0d1b14 100%) !important;
  color: #f7fff9 !important;
}
.aroma-global-footer .aroma-footer-top,
.aroma-global-footer .aroma-footer-brand,
.aroma-global-footer .aroma-footer-col,
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-location-section,
.aroma-global-footer .aroma-footer-bottom {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  color: #f7fff9 !important;
}
.aroma-global-footer nav.aroma-footer-col,
.aroma-global-footer .aroma-footer-col {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  backdrop-filter: none !important;
}
.aroma-global-footer .aroma-footer-col h2,
.aroma-global-footer .aroma-footer-social-label {
  background: transparent !important;
  color: #fff !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-col a,
.aroma-global-footer .aroma-footer-bottom a {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.88) !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-intro,
.aroma-global-footer .aroma-footer-cancellation,
.aroma-global-footer .aroma-footer-bottom,
.aroma-global-footer .aroma-footer-bottom p {
  background: transparent !important;
  color: rgba(247, 255, 249, 0.82) !important;
}
.aroma-global-footer .aroma-footer-col a:hover,
.aroma-global-footer .aroma-footer-col a:focus-visible,
.aroma-global-footer .aroma-footer-bottom a:hover,
.aroma-global-footer .aroma-footer-bottom a:focus-visible {
  color: #fff !important;
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
.aroma-global-footer .aroma-footer-logo {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
  border-radius: 16px !important;
}
.aroma-global-footer .aroma-footer-logo img {
  filter: none !important;
  opacity: 1 !important;
}
.aroma-global-footer .aroma-footer-socials a {
  background: rgba(255, 255, 255, 0.09) !important;
  color: rgba(247, 255, 249, 0.9) !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}
.aroma-global-footer .aroma-footer-socials a:hover,
.aroma-global-footer .aroma-footer-socials a:focus-visible {
  background: #fff !important;
  color: #173625 !important;
  border-color: #fff !important;
}

/* Batch 91: replace repeated hidden iframe inline style */
.aroma-hidden-frame {
  display: none !important;
  visibility: hidden !important;
}

/* source:css/aroma-faq-product-contact-fix.css */
/* Aroma QA sweep: FAQ, contrast, products, contact
   Keeps existing layout but makes shared UI consistent and readable. */
:root {
  --aroma-fix-dark: #10351f;
  --aroma-fix-green: #1f7a4d;
  --aroma-fix-green-2: #2f8f5f;
  --aroma-fix-mint: #d9f7e5;
  --aroma-fix-mint-2: #effaf3;
  --aroma-fix-cream: #fbfff8;
  --aroma-fix-ink: #173625;
  --aroma-fix-text: #395144;
  --aroma-fix-line: rgba(31, 122, 77, 0.16);
  --aroma-fix-shadow: 0 18px 48px rgba(17, 56, 34, 0.09);
}

/* No salmon/warm peach text inside green panels: use clean white + mint. */
.pg-hero,
.cta,
.cta-section,
.cta-final,
.cta-band,
.booking-box,
.promo-band,
.hero.dark,
.dark-panel,
.dark-card,
[class*="dark-green"],
[style*="#10251b"],
[style*="#193626"],
[style*="#113822"] {
  color: #f7fff9 !important;
}
.pg-hero h1,
.pg-hero h2,
.pg-hero h3,
.cta h1,
.cta h2,
.cta h3,
.cta-section h1,
.cta-section h2,
.cta-section h3,
.cta-final h1,
.cta-final h2,
.cta-final h3,
.cta-band h1,
.cta-band h2,
.cta-band h3,
.booking-box h1,
.booking-box h2,
.booking-box h3,
.promo-band h1,
.promo-band h2,
.promo-band h3,
.dark-panel h1,
.dark-panel h2,
.dark-panel h3,
.dark-card h1,
.dark-card h2,
.dark-card h3,
[style*="#10251b"] h1,
[style*="#10251b"] h2,
[style*="#10251b"] h3,
[style*="#193626"] h1,
[style*="#193626"] h2,
[style*="#193626"] h3,
[style*="#113822"] h1,
[style*="#113822"] h2,
[style*="#113822"] h3 {
  color: #f7fff9 !important;
  opacity: 1 !important;
}
.pg-hero p,
.cta p,
.cta-section p,
.cta-final p,
.cta-band p,
.booking-box p,
.promo-band p,
.dark-panel p,
.dark-card p,
[style*="#10251b"] p,
[style*="#193626"] p,
[style*="#113822"] p {
  color: rgba(247, 255, 249, 0.88) !important;
}
.pg-hero .eyebrow,
.cta .section-tag,
.cta-final .section-tag,
.booking-box .section-tag,
.cta-section .section-tag,
.promo-band .section-tag,
.dark-panel .section-tag,
.dark-card .section-tag,
[style*="#10251b"] .section-tag,
[style*="#193626"] .section-tag,
[style*="#113822"] .section-tag {
  color: #bff2d0 !important;
}
.machine-card,
.tech-card,
.cta .card,
.cta-section .card,
.dark-panel .card,
.dark-card .card {
  border-color: rgba(255, 255, 255, 0.18) !important;
}
.machine-card strong,
.tech-card strong,
.machine-card h3,
.tech-card h3 {
  color: #f7fff9 !important;
}
.machine-card span,
.tech-card span {
  color: rgba(247, 255, 249, 0.84) !important;
}

/* FAQ visual system: one clean rounded card style and one right-side icon style. */
.faq-wrap,
.faq-list,
.faq-grid {
  gap: 14px !important;
}
.faq-wrap {
  display: grid !important;
}
.faq-list:not(.no-grid),
.faq-grid {
  display: grid !important;
}
.faq,
.faq-item,
details {
  background: #ffffff !important;
  border: 1px solid var(--aroma-fix-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(17, 56, 34, 0.06) !important;
  overflow: hidden !important;
}
.faq:not(:has(button)),
.faq-item:not(:has(button)) {
  padding: 20px 22px !important;
}
.faq h3,
.faq-item h3,
details summary {
  color: var(--aroma-fix-ink) !important;
}
.faq p,
.faq-item p,
details p,
.faq-answer,
.faq-a,
.faq-content {
  color: var(--aroma-fix-text) !important;
  line-height: 1.75 !important;
}
.faq > button,
.faq-btn,
.faq-q,
details > summary {
  width: 100% !important;
  border: 0 !important;
  background: #ffffff !important;
  color: var(--aroma-fix-ink) !important;
  text-align: left !important;
  padding: 20px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  cursor: pointer !important;
  font-family: "DM Sans", Montserrat, Arial, sans-serif !important;
  font-size: clamp(15px, 1.55vw, 17px) !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.faq > button:hover,
.faq-btn:hover,
.faq-q:hover,
details > summary:hover {
  background: var(--aroma-fix-mint-2) !important;
}
.faq-answer,
.faq-a,
.faq-content {
  background: #ffffff !important;
  padding: 0 24px 22px !important;
}
.faq-answer p,
.faq-a p,
.faq-content p {
  margin-top: 0 !important;
}
.faq-icon,
.faq-chevron,
.chev,
.faq-btn .faq-icon {
  position: relative !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e7f5ec !important;
  border: 1px solid rgba(31, 122, 77, 0.12) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
  transform: none !important;
}
.faq-icon::before,
.faq-chevron::before,
.chev::before,
.faq-btn .faq-icon::before {
  content: "+" !important;
  color: var(--aroma-fix-green) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.faq.open .faq-icon::before,
.faq-item.open .faq-chevron::before,
.faq-item.open .chev::before,
.faq-item.open .faq-q .faq-icon::before,
.faq-item.open .faq-btn .faq-icon::before,
.faq.open .faq-btn .faq-icon::before {
  content: "×" !important;
}
.faq.open .faq-icon,
.faq-item.open .faq-chevron,
.faq-item.open .chev,
.faq-item.open .faq-q .faq-icon,
.faq-item.open .faq-btn .faq-icon {
  background: var(--aroma-fix-green) !important;
  border-color: var(--aroma-fix-green) !important;
}
.faq.open .faq-icon::before,
.faq-item.open .faq-chevron::before,
.faq-item.open .chev::before,
.faq-item.open .faq-q .faq-icon::before,
.faq-item.open .faq-btn .faq-icon::before,
.faq.open .faq-btn .faq-icon::before {
  color: #fff !important;
}
details {
  padding: 0 !important;
  margin: 12px 0 !important;
}
details > summary {
  list-style: none !important;
}
details > summary::-webkit-details-marker {
  display: none !important;
}
details > summary::after {
  content: "+";
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e7f5ec;
  border: 1px solid rgba(31, 122, 77, 0.12);
  color: var(--aroma-fix-green);
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
}
details[open] > summary::after {
  content: "×";
  background: var(--aroma-fix-green);
  border-color: var(--aroma-fix-green);
  color: #fff;
}
details > p,
details > div {
  padding: 0 24px 22px !important;
  margin: 0 !important;
}

/* FAQ main page polish */
body.aroma-faq-page main {
  background: linear-gradient(180deg, #f7fbf8 0%, #ffffff 32%, #f3f8f5 100%);
}
body.aroma-faq-page .section {
  max-width: 1040px;
  margin: 0 auto;
  padding-left: 22px;
  padding-right: 22px;
}
body.aroma-faq-page .section-tag {
  color: var(--aroma-fix-green) !important;
}
body.aroma-faq-page .faq-wrap {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(31, 122, 77, 0.1);
  border-radius: 28px;
  padding: 18px;
  box-shadow: var(--aroma-fix-shadow);
}

/* Products page */
body.aroma-products-page .pg-hero {
  background: radial-gradient(
      circle at top left,
      rgba(191, 242, 208, 0.22),
      transparent 30%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 62%, #0d1b14 100%) !important;
}
body.aroma-products-page .product-intro-card {
  max-width: 820px;
  margin: 0 auto 34px;
  padding: 24px 26px;
  background: #ffffff;
  border: 1px solid var(--aroma-fix-line);
  border-radius: 24px;
  box-shadow: var(--aroma-fix-shadow);
  color: var(--aroma-fix-text);
  line-height: 1.75;
}
body.aroma-products-page .prod-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
  gap: 22px !important;
}
body.aroma-products-page .prod-card {
  border-radius: 24px !important;
  border: 1px solid rgba(31, 122, 77, 0.14) !important;
  box-shadow: 0 14px 34px rgba(17, 56, 34, 0.08) !important;
  overflow: hidden;
  background: #fff !important;
}
body.aroma-products-page .prod-img-wrap {
  min-height: 240px !important;
  padding: 24px !important;
  background: linear-gradient(180deg, #f7fbf8 0%, #f1f7f3 100%) !important;
}
body.aroma-products-page .prod-img-wrap img {
  width: 100%;
  height: 210px;
  max-height: 210px !important;
  object-fit: contain !important;
}
body.aroma-products-page .prod-body h3 {
  color: var(--aroma-fix-ink) !important;
  font-size: 20px !important;
}
body.aroma-products-page .prod-price {
  color: var(--aroma-fix-green) !important;
  font-size: 22px !important;
}
body.aroma-products-page .prod-btn {
  border-radius: 999px !important;
  background: var(--aroma-fix-ink) !important;
}
body.aroma-products-page .prod-btn:hover {
  background: var(--aroma-fix-green) !important;
}

/* Contact page */
body.aroma-contact-page main {
  background: linear-gradient(180deg, #f7fbf8 0%, #ffffff 42%, #f4faf6 100%);
}
body.aroma-contact-page .contact-shell {
  max-width: 1180px;
  margin: 0 auto;
  padding: 68px 24px;
}
body.aroma-contact-page .contact-hero-card {
  background: radial-gradient(
      circle at top right,
      rgba(191, 242, 208, 0.22),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b, #193626);
  color: #f7fff9;
  border-radius: 34px;
  padding: 42px;
  box-shadow: 0 24px 60px rgba(17, 56, 34, 0.18);
}
body.aroma-contact-page .contact-hero-card h1,
body.aroma-contact-page .contact-hero-card h2 {
  color: #f7fff9 !important;
}
body.aroma-contact-page .contact-hero-card p {
  color: rgba(247, 255, 249, 0.88) !important;
}
body.aroma-contact-page .contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 26px;
}
body.aroma-contact-page .contact-location-card,
body.aroma-contact-page .contact-support-card {
  background: #ffffff;
  border: 1px solid rgba(31, 122, 77, 0.14);
  border-radius: 26px;
  padding: 24px;
  box-shadow: 0 14px 34px rgba(17, 56, 34, 0.08);
}
body.aroma-contact-page .contact-location-card h3,
body.aroma-contact-page .contact-support-card h3 {
  color: var(--aroma-fix-ink) !important;
}
body.aroma-contact-page .contact-location-card p,
body.aroma-contact-page .contact-support-card p,
body.aroma-contact-page .contact-location-card li {
  color: var(--aroma-fix-text) !important;
}
body.aroma-contact-page .contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
body.aroma-contact-page .contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 11px 16px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 800;
  font-family: "DM Sans", Montserrat, Arial, sans-serif;
}
body.aroma-contact-page .contact-btn.primary {
  background: var(--aroma-fix-green);
  color: #fff;
}
body.aroma-contact-page .contact-btn.secondary {
  background: #fff;
  color: var(--aroma-fix-green);
  border: 1px solid rgba(31, 122, 77, 0.22);
}
body.aroma-contact-page .contact-kicker,
body.aroma-contact-page .location-label {
  color: var(--aroma-fix-green) !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  body.aroma-contact-page .contact-grid {
    grid-template-columns: 1fr;
  }
  body.aroma-contact-page .contact-hero-card {
    padding: 30px 24px;
    border-radius: 26px;
  }
}
@media (max-width: 720px) {
  .faq > button,
  .faq-btn,
  .faq-q,
  details > summary {
    padding: 18px 18px !important;
  }
  .faq-answer,
  .faq-a,
  .faq-content,
  details > p,
  details > div {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* Stronger FAQ behavior fix: closed questions stay closed, open answers reveal cleanly.
   This protects the main FAQ page and service-page FAQ blocks from looking broken. */
.faq-answer {
  display: grid !important;
  grid-template-rows: 0fr !important;
  overflow: hidden !important;
  padding: 0 24px !important;
  transition:
    grid-template-rows 0.24s ease,
    padding-bottom 0.24s ease !important;
}
.faq-answer > div {
  overflow: hidden !important;
}
.faq-answer > div > p,
.faq-answer p {
  padding: 0 0 20px !important;
  margin: 0 !important;
}
.faq.open .faq-answer,
.faq:has(> button[aria-expanded="true"]) .faq-answer {
  grid-template-rows: 1fr !important;
  padding-bottom: 2px !important;
}
.faq.open > button,
.faq:has(> button[aria-expanded="true"]) > button {
  background: #f3fbf6 !important;
}
.faq.open .faq-icon::before,
.faq:has(> button[aria-expanded="true"]) .faq-icon::before {
  content: "×" !important;
  color: #fff !important;
}
.faq.open .faq-icon,
.faq:has(> button[aria-expanded="true"]) .faq-icon {
  background: var(--aroma-fix-green) !important;
  border-color: var(--aroma-fix-green) !important;
}

/* Main FAQ page: premium spacing, no plain broken list look. */
body.aroma-faq-page {
  background: #f7fbf8 !important;
}
body.aroma-faq-page .breadcrumb {
  max-width: 1120px !important;
  width: calc(100% - 44px) !important;
  margin: 0 auto !important;
}
body.aroma-faq-page .hero {
  max-width: 1120px !important;
  width: calc(100% - 44px) !important;
  margin: 28px auto 16px !important;
  padding: 54px 42px 42px !important;
  border-radius: 34px !important;
  background: radial-gradient(
      circle at top right,
      rgba(191, 242, 208, 0.26),
      transparent 34%
    ),
    linear-gradient(135deg, #fbfffc 0%, #eef8f2 100%) !important;
  border: 1px solid rgba(31, 122, 77, 0.13) !important;
  box-shadow: 0 22px 60px rgba(17, 56, 34, 0.1) !important;
}
body.aroma-faq-page .hero h1 {
  color: #10251b !important;
}
body.aroma-faq-page .hero .hero-lead {
  color: #395144 !important;
  max-width: 780px !important;
}
body.aroma-faq-page .hero-points {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 24px !important;
}
body.aroma-faq-page .hero-point {
  background: #fff !important;
  border: 1px solid rgba(31, 122, 77, 0.12) !important;
  border-radius: 22px !important;
  padding: 18px !important;
  box-shadow: 0 12px 28px rgba(17, 56, 34, 0.06) !important;
}
body.aroma-faq-page .hero-point strong {
  color: #173625 !important;
}
body.aroma-faq-page .hero-point span {
  color: #395144 !important;
}
body.aroma-faq-page .section h2,
body.aroma-faq-page .section-tag {
  color: #173625 !important;
}
body.aroma-faq-page .faq-wrap {
  margin-top: 18px !important;
}
@media (max-width: 850px) {
  body.aroma-faq-page .hero {
    padding: 34px 22px !important;
    border-radius: 26px !important;
  }
  body.aroma-faq-page .hero-points {
    grid-template-columns: 1fr !important;
  }
}

/* Launch cleanup: normalize additional FAQ class variants used on older laser/service pages. */
.fl,
.afaq-wrap,
.faq-list,
.faq-wrap,
.faq-grid {
  display: grid !important;
  gap: 14px !important;
}
.fi,
.afaq-item,
.faq-detail {
  background: #ffffff !important;
  border: 1px solid var(--aroma-fix-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 32px rgba(17, 56, 34, 0.06) !important;
  overflow: hidden !important;
}
.fq,
.afaq-q {
  width: 100% !important;
  border: 0 !important;
  background: #ffffff !important;
  color: var(--aroma-fix-ink) !important;
  text-align: left !important;
  padding: 20px 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  cursor: pointer !important;
  font-family: "DM Sans", Montserrat, Arial, sans-serif !important;
  font-size: clamp(15px, 1.55vw, 17px) !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.fq:hover,
.afaq-q:hover {
  background: var(--aroma-fix-mint-2) !important;
}
.fa,
.afaq-a {
  color: var(--aroma-fix-text) !important;
  line-height: 1.75 !important;
  padding: 0 24px 22px !important;
}
.fc2 {
  position: relative !important;
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e7f5ec !important;
  border: 1px solid rgba(31, 122, 77, 0.12) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
.fc2::before {
  content: "+" !important;
  color: var(--aroma-fix-green) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.fi.open .fc2,
.fi:has(.fq[aria-expanded="true"]) .fc2 {
  background: var(--aroma-fix-green) !important;
  border-color: var(--aroma-fix-green) !important;
}
.fi.open .fc2::before,
.fi:has(.fq[aria-expanded="true"]) .fc2::before {
  content: "×" !important;
  color: #fff !important;
}

/* Aroma universal FAQ repair: every FAQ starts closed, opens on click, and keeps the question text visible. */
.faq > button,
.faq-btn,
.faq-q,
.fq,
.afaq-q {
  position: relative !important;
  width: 100% !important;
  border: 0 !important;
  background: #ffffff !important;
  color: var(--aroma-fix-ink) !important;
  text-align: left !important;
  padding: 20px 72px 20px 24px !important;
  display: block !important;
  cursor: pointer !important;
  font-family: "DM Sans", Montserrat, Arial, sans-serif !important;
  font-size: clamp(15px, 1.55vw, 17px) !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}
.faq > button:hover,
.faq-btn:hover,
.faq-q:hover,
.fq:hover,
.afaq-q:hover,
.faq.open > button,
.faq-item.open > button,
.fi.open > button,
.afaq-item.open > button {
  background: #f3fbf6 !important;
}
.faq > button span,
.faq-btn span,
.faq-q span,
.fq span,
.afaq-q span {
  position: static !important;
  flex: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  display: inline !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  transform: none !important;
}
.faq > button span::before,
.faq-btn span::before,
.faq-q span::before,
.fq span::before,
.afaq-q span::before {
  content: none !important;
}
.faq-icon,
.faq-chevron,
.chev,
.fc2 {
  display: none !important;
}
.faq > button::after,
.faq-btn::after,
.faq-q::after,
.fq::after,
.afaq-q::after {
  content: "+" !important;
  position: absolute !important;
  right: 22px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e7f5ec !important;
  border: 1px solid rgba(31, 122, 77, 0.12) !important;
  color: var(--aroma-fix-green) !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.faq.open > button::after,
.faq:has(> button[aria-expanded="true"]) > button::after,
.faq-item.open > button::after,
.faq-item:has(> button[aria-expanded="true"]) > button::after,
.fi.open > button::after,
.fi:has(> button[aria-expanded="true"]) > button::after,
.afaq-item.open > button::after,
.afaq-item:has(> button[aria-expanded="true"]) > button::after {
  content: "×" !important;
  background: var(--aroma-fix-green) !important;
  border-color: var(--aroma-fix-green) !important;
  color: #fff !important;
}
.faq .faq-answer,
.faq .faq-a,
.faq .fa,
.faq .afaq-a,
.faq .faq-content,
.faq-item .faq-answer,
.faq-item .faq-a,
.faq-item .fa,
.faq-item .afaq-a,
.faq-item .faq-content,
.fi .faq-answer,
.fi .faq-a,
.fi .fa,
.fi .afaq-a,
.fi .faq-content,
.afaq-item .faq-answer,
.afaq-item .faq-a,
.afaq-item .fa,
.afaq-item .afaq-a,
.afaq-item .faq-content {
  display: block !important;
  max-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  padding: 0 24px !important;
  transition:
    max-height 0.25s ease,
    opacity 0.18s ease,
    padding-bottom 0.25s ease !important;
}
.faq.open .faq-answer,
.faq.open .faq-a,
.faq.open .fa,
.faq.open .afaq-a,
.faq.open .faq-content,
.faq:has(> button[aria-expanded="true"]) .faq-answer,
.faq:has(> button[aria-expanded="true"]) .faq-a,
.faq:has(> button[aria-expanded="true"]) .fa,
.faq:has(> button[aria-expanded="true"]) .afaq-a,
.faq:has(> button[aria-expanded="true"]) .faq-content,
.faq-item.open .faq-answer,
.faq-item.open .faq-a,
.faq-item.open .fa,
.faq-item.open .afaq-a,
.faq-item.open .faq-content,
.faq-item:has(> button[aria-expanded="true"]) .faq-answer,
.faq-item:has(> button[aria-expanded="true"]) .faq-a,
.faq-item:has(> button[aria-expanded="true"]) .fa,
.faq-item:has(> button[aria-expanded="true"]) .afaq-a,
.faq-item:has(> button[aria-expanded="true"]) .faq-content,
.fi.open .faq-answer,
.fi.open .faq-a,
.fi.open .fa,
.fi.open .afaq-a,
.fi.open .faq-content,
.fi:has(> button[aria-expanded="true"]) .faq-answer,
.fi:has(> button[aria-expanded="true"]) .faq-a,
.fi:has(> button[aria-expanded="true"]) .fa,
.fi:has(> button[aria-expanded="true"]) .afaq-a,
.fi:has(> button[aria-expanded="true"]) .faq-content,
.afaq-item.open .faq-answer,
.afaq-item.open .faq-a,
.afaq-item.open .fa,
.afaq-item.open .afaq-a,
.afaq-item.open .faq-content,
.afaq-item:has(> button[aria-expanded="true"]) .faq-answer,
.afaq-item:has(> button[aria-expanded="true"]) .faq-a,
.afaq-item:has(> button[aria-expanded="true"]) .fa,
.afaq-item:has(> button[aria-expanded="true"]) .afaq-a,
.afaq-item:has(> button[aria-expanded="true"]) .faq-content {
  max-height: 1400px !important;
  visibility: visible !important;
  opacity: 1 !important;
  padding: 0 24px 22px !important;
}
.faq-answer > div,
.faq-a > div,
.fa > div,
.afaq-a > div,
.faq-content > div {
  overflow: visible !important;
}
.faq-answer p,
.faq-a p,
.fa p,
.afaq-a p,
.faq-content p {
  margin: 0 !important;
  padding: 0 !important;
}
@media (max-width: 720px) {
  .faq > button,
  .faq-btn,
  .faq-q,
  .fq,
  .afaq-q {
    padding: 18px 62px 18px 18px !important;
  }
  .faq > button::after,
  .faq-btn::after,
  .faq-q::after,
  .fq::after,
  .afaq-q::after {
    right: 16px !important;
  }
  .faq .faq-answer,
  .faq .faq-a,
  .faq .fa,
  .faq .afaq-a,
  .faq .faq-content,
  .faq-item .faq-answer,
  .faq-item .faq-a,
  .faq-item .fa,
  .faq-item .afaq-a,
  .faq-item .faq-content,
  .fi .faq-answer,
  .fi .faq-a,
  .fi .fa,
  .fi .afaq-a,
  .fi .faq-content,
  .afaq-item .faq-answer,
  .afaq-item .faq-a,
  .afaq-item .fa,
  .afaq-item .afaq-a,
  .afaq-item .faq-content {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* Final FAQ text guard: older CSS targeted the only span in a FAQ button as if it were the icon. */
.faq > button span:first-child:last-child,
.faq-btn span:first-child:last-child,
.faq-q span:first-child:last-child,
.fq span:first-child:last-child,
.afaq-q span:first-child:last-child {
  position: static !important;
  flex: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: inherit !important;
  display: inline !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  transform: none !important;
}
.faq > button span:first-child:last-child::before,
.faq-btn span:first-child:last-child::before,
.faq-q span:first-child:last-child::before,
.fq span:first-child:last-child::before,
.afaq-q span:first-child:last-child::before {
  content: none !important;
}

/* source:css/aroma-color-system.css */
/* ===============================================================
   AROMA COLOUR SYSTEM, master overlay
   Loaded LAST on every page. Drives the brand palette and per-
   service accent colours via a single body class. Also normalises
   the accessibility skip link so it never visibly leaks on top-left.
   No layout, copy, links, scripts, or markup are touched.
   =============================================================== */

/* ── 1. GLOBAL BRAND TOKENS ─────────────────────────────────── */
:root {
  /* Aroma core brand */
  --aroma-green: #23483b;
  --aroma-green-dark: #14352b;
  --aroma-green-cta: #2f6b54;
  --aroma-sage: #eef5f1;
  --aroma-sage-border: #d9e5dd;

  /* Backgrounds */
  --aroma-cream: #faf6ee;
  --aroma-ivory: #fffdf8;
  --aroma-white: #ffffff;

  /* Text */
  --aroma-text: #1f2421;
  --aroma-text-muted: #66746c;
  --aroma-text-light: #ffffff;

  /* Waxing / general (soft green) */
  --waxing-main: #6f9f7a;
  --waxing-soft: #f1f7ef;
  --waxing-accent: #a7c48e;

  /* Sugaring (soft yellow) */
  --sugaring-main: #d8a93b;
  --sugaring-soft: #fff7e2;
  --sugaring-accent: #f1c86a;

  /* Threading (soft pink) */
  --threading-main: #d99aa7;
  --threading-soft: #fff1f4;
  --threading-accent: #e8b7c0;

  /* Spray tan (warm beige) */
  --spraytan-main: #b98252;
  --spraytan-soft: #f8efe7;
  --spraytan-accent: #d2a176;

  /* Shop / products (warm brown) */
  --shop-main: #7b604a;
  --shop-soft: #f7f1ea;
  --shop-accent: #c5a17e;

  /* Laser (light blue) */
  --laser-main: #4f8fb3;
  --laser-soft: #eef8fc;
  --laser-accent: #a8d8ea;
  --laser-dark: #245b78;

  /* Tinting & lashes (soft purple) */
  --lashes-main: #9b7bb8;
  --lashes-soft: #f6f0fa;
  --lashes-accent: #c7add9;
  --lashes-dark: #66457f;
}

/* ── 2. SKIP LINK, global, accessibility-correct ──────────────
   Every page has the same skip link element. This rule keeps it
   off-screen until a keyboard user focuses it. Without this rule
   the link visibly stuck to the top-left on any page that lacked
   a local override. */
.skip-link {
  position: absolute;
  left: 12px;
  top: -80px;
  z-index: 10000;
  background: #14352b;
  color: #ffffff;
  padding: 10px 16px;
  border-radius: 0 0 10px 10px;
  font:
    700 14px/1 Inter,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(20, 53, 43, 0.22);
  transition: top 0.18s ease;
}
.skip-link:focus,
.skip-link:focus-visible {
  top: 0;
  outline: 3px solid #a7c48e;
  outline-offset: 2px;
}

/* ── 3. THEME ENGINE ───────────────────────────────────────────
   The site already uses a --svc-* variable system for per-service
   accents. Setting them at body-class scope (specificity 0,1,1)
   cleanly overrides any earlier :root definitions (specificity
   0,1,0) without touching markup or the cascade order. */

/* Default brand identity (general / homepage / about / contact /
   pricing / promotions / locations / blog / faqs / reviews) */
body.theme-aroma {
  --svc-ink: #23483b;
  --svc-dark: #2f6b54;
  --svc-mid: #4f8a68;
  --svc-light: #8fcfa5;
  --svc-pale: #eef5f1;
  --svc-mist: #faf6ee;
  --svc-glow: rgba(199, 223, 203, 0.4);
  --svc-shadow: rgba(35, 72, 59, 0.1);
  --svc-muted: #4f5e55;
  --svc-border: rgba(35, 72, 59, 0.12);
}

/* Waxing, soft green, brand-aligned */
body.theme-waxing {
  --svc-ink: #23483b;
  --svc-dark: #2f6b54;
  --svc-mid: #6f9f7a;
  --svc-light: #a7c48e;
  --svc-pale: #f1f7ef;
  --svc-mist: #f6fbf6;
  --svc-glow: rgba(167, 196, 142, 0.36);
  --svc-shadow: rgba(35, 72, 59, 0.1);
  --svc-muted: #4f5e55;
  --svc-border: rgba(35, 72, 59, 0.14);
}

/* Laser, light blue */
body.theme-laser {
  --svc-ink: #245b78;
  --svc-dark: #2f7aa0;
  --svc-mid: #4f8fb3;
  --svc-light: #a8d8ea;
  --svc-pale: #eef8fc;
  --svc-mist: #f6fbfe;
  --svc-glow: rgba(168, 216, 234, 0.38);
  --svc-shadow: rgba(36, 91, 120, 0.1);
  --svc-muted: #4a6b7c;
  --svc-border: rgba(36, 91, 120, 0.14);
}

/* Sugaring, light yellow / honey */
body.theme-sugaring {
  --svc-ink: #6b4d14;
  --svc-dark: #a07a1f;
  --svc-mid: #c8932f;
  --svc-light: #f1c86a;
  --svc-pale: #fff7e2;
  --svc-mist: #fffcf1;
  --svc-glow: rgba(241, 200, 106, 0.36);
  --svc-shadow: rgba(107, 77, 20, 0.1);
  --svc-muted: #6f5a30;
  --svc-border: rgba(107, 77, 20, 0.14);
}

/* Threading, light pink */
body.theme-threading {
  --svc-ink: #7a4750;
  --svc-dark: #b26878;
  --svc-mid: #d99aa7;
  --svc-light: #e8b7c0;
  --svc-pale: #fff1f4;
  --svc-mist: #fff8fa;
  --svc-glow: rgba(232, 183, 192, 0.36);
  --svc-shadow: rgba(122, 71, 80, 0.1);
  --svc-muted: #6e545a;
  --svc-border: rgba(122, 71, 80, 0.14);
}

/* Spray tan, warm beige / light brown */
body.theme-spraytan {
  --svc-ink: #6b4628;
  --svc-dark: #8c5f3a;
  --svc-mid: #b98252;
  --svc-light: #d2a176;
  --svc-pale: #f8efe7;
  --svc-mist: #fcf7f1;
  --svc-glow: rgba(210, 161, 118, 0.34);
  --svc-shadow: rgba(107, 70, 40, 0.1);
  --svc-muted: #6e5644;
  --svc-border: rgba(107, 70, 40, 0.14);
}

/* Tinting & lashes, soft purple */
body.theme-lashes {
  --svc-ink: #66457f;
  --svc-dark: #7e579e;
  --svc-mid: #9b7bb8;
  --svc-light: #c7add9;
  --svc-pale: #f6f0fa;
  --svc-mist: #fbf8fd;
  --svc-glow: rgba(199, 173, 217, 0.34);
  --svc-shadow: rgba(102, 69, 127, 0.1);
  --svc-muted: #5e4d6a;
  --svc-border: rgba(102, 69, 127, 0.14);
}

/* Shop / products, warm brown / neutral */
body.theme-shop {
  --svc-ink: #4a3725;
  --svc-dark: #7b604a;
  --svc-mid: #a07f60;
  --svc-light: #c5a17e;
  --svc-pale: #f7f1ea;
  --svc-mist: #fcf8f3;
  --svc-glow: rgba(197, 161, 126, 0.34);
  --svc-shadow: rgba(74, 55, 37, 0.1);
  --svc-muted: #6b584a;
  --svc-border: rgba(74, 55, 37, 0.14);
}

/* ── 4. UNIVERSAL READABILITY GUARDS ──────────────────────────
   These rules apply regardless of the body theme class. They
   protect against the most common contrast failure modes the
   site has had: dark text on dark panels, pale text on pale
   panels, and washed-out CTA buttons. Color only, no layout. */

/* 4a. Make sure CTA / dark / hero gradient panels keep readable
       white text even when the service theme is light (laser,
       sugaring, threading, spraytan, lashes, shop). */
body[class*="theme-"] .cta,
body[class*="theme-"] .cta-final,
body[class*="theme-"] .cta-section,
body[class*="theme-"] .cta-band,
body[class*="theme-"] .final-cta,
body[class*="theme-"] .loc-cta,
body[class*="theme-"] .dark-section,
body[class*="theme-"] .dark-panel,
body[class*="theme-"] .booking-cta,
body[class*="theme-"] .booking-panel,
body[class*="theme-"] .location-cta {
  color: #fff8ed;
}
body[class*="theme-"] .cta h1,
body[class*="theme-"] .cta h2,
body[class*="theme-"] .cta h3,
body[class*="theme-"] .cta-final h1,
body[class*="theme-"] .cta-final h2,
body[class*="theme-"] .cta-final h3,
body[class*="theme-"] .cta-section h1,
body[class*="theme-"] .cta-section h2,
body[class*="theme-"] .cta-section h3,
body[class*="theme-"] .cta-band h1,
body[class*="theme-"] .cta-band h2,
body[class*="theme-"] .cta-band h3,
body[class*="theme-"] .final-cta h1,
body[class*="theme-"] .final-cta h2,
body[class*="theme-"] .final-cta h3,
body[class*="theme-"] .loc-cta h1,
body[class*="theme-"] .loc-cta h2,
body[class*="theme-"] .loc-cta h3,
body[class*="theme-"] .dark-section h1,
body[class*="theme-"] .dark-section h2,
body[class*="theme-"] .dark-section h3,
body[class*="theme-"] .dark-panel h1,
body[class*="theme-"] .dark-panel h2,
body[class*="theme-"] .dark-panel h3,
body[class*="theme-"] .booking-cta h1,
body[class*="theme-"] .booking-cta h2,
body[class*="theme-"] .booking-cta h3,
body[class*="theme-"] .booking-panel h1,
body[class*="theme-"] .booking-panel h2,
body[class*="theme-"] .booking-panel h3,
body[class*="theme-"] .location-cta h1,
body[class*="theme-"] .location-cta h2,
body[class*="theme-"] .location-cta h3 {
  color: #ffffff;
}

/* 4b. Pale-panel safety, never white text on pale themed
       backgrounds. If a service-theme soft block uses --svc-pale
       as background, make sure the text is dark (--svc-ink). */
body[class*="theme-"] .soft .lead,
body[class*="theme-"] .section-soft .lead,
body[class*="theme-"] .pale-panel,
body[class*="theme-"] .light-panel {
  color: var(--svc-ink);
}

/* 4c. Hero / promo strip text on soft service backgrounds */
body[class*="theme-"] .hero-lead,
body[class*="theme-"] .section-copy,
body[class*="theme-"] .section-lead {
  color: var(--svc-muted);
}

/* ── 5. HEADER & FOOTER LOCK ──────────────────────────────────
   The global header and footer must look identical on every page
   regardless of the service theme. The header is a light, sticky
   bar with green accents; the footer is dark green. We re-assert
   the brand colours here so a per-page inline style can never
   accidentally redirect them through the --svc-* variables. */

/* Header brand-name colour stays Aroma green on every page */
.aroma-global-header .aroma-brand,
.aroma-global-header .aroma-brand-name {
  color: #173b28 !important;
}
.aroma-global-header .aroma-brand-line {
  color: #5f7567 !important;
}
.aroma-global-header .aroma-nav-link,
.aroma-global-header .aroma-dropdown-toggle {
  color: #24362b !important;
}
.aroma-global-header .aroma-nav-link:hover,
.aroma-global-header .aroma-dropdown-toggle:hover,
.aroma-global-header .aroma-has-dropdown:focus-within > .aroma-dropdown-toggle {
  background: #eef5f1 !important;
  color: #1f6b43 !important;
}
.aroma-global-header .aroma-book-btn {
  background: #2f6b54 !important;
  color: #ffffff !important;
}
.aroma-global-header .aroma-book-btn:hover,
.aroma-global-header .aroma-booking-menu:focus-within > .aroma-book-btn {
  background: #14352b !important;
}
.aroma-global-header .aroma-dropdown a {
  color: #203429 !important;
}
.aroma-global-header .aroma-dropdown a:hover {
  background: #f2f8f4 !important;
  color: #1f6b43 !important;
}
.aroma-global-header .aroma-dropdown small {
  color: #6b7d70 !important;
}

/* Footer stays dark Aroma green on every page (already enforced
   in aroma-theme.css; this just guarantees it survives any
   service-theme change). */
.aroma-global-footer {
  background: radial-gradient(
      circle at top left,
      rgba(105, 165, 125, 0.18),
      transparent 34%
    ),
    linear-gradient(135deg, #10251b 0%, #193626 52%, #0d1b14 100%) !important;
  color: #f7fff9 !important;
}
.aroma-global-footer .aroma-footer-col h2 {
  color: #ffffff !important;
}
.aroma-global-footer .aroma-footer-col a,
.aroma-global-footer .aroma-footer-bottom a {
  color: rgba(247, 255, 249, 0.88) !important;
}
.aroma-global-footer .aroma-footer-col a:hover,
.aroma-global-footer .aroma-footer-bottom a:hover {
  color: #ffffff !important;
}
.aroma-global-footer .aroma-footer-intro,
.aroma-global-footer .aroma-footer-bottom p,
.aroma-global-footer .aroma-footer-cancellation {
  color: rgba(247, 255, 249, 0.82) !important;
}

/* ── 6. PRE-EXISTING WHITE-ON-LIGHT FIXES ─────────────────────
   Two site panels were inheriting "dark-panel" colour rules from
   aroma-faq-product-contact-fix.css even though their actual
   background is a LIGHT mint or cream, making the heading and
   body copy invisible. The classes affected are:
     .booking-box  , used on 27 sugaring/waxing pages (always
                      light mint #eef6f1)
     .pg-hero      , used on 6 pages, but only LIGHT on
                      promotions.html and
                      services-eyelash-lifting-tinting.html
                      (those two pages get a `pg-hero-light`
                      body class so this rule can target them).
   The rules below restore theme-appropriate dark text. They use
   higher specificity than the FAQ-fix file so they win the
   cascade without depending on source order. */

/* 6a. Booking box, always light mint, restore dark text */
body[class*="theme-"] .booking-box,
body[class*="theme-"] .booking-box .section-lead,
body[class*="theme-"] .booking-box p,
body[class*="theme-"] .booking-card,
body[class*="theme-"] .booking-card p {
  color: var(--svc-muted) !important;
}
body[class*="theme-"] .booking-box h1,
body[class*="theme-"] .booking-box h2,
body[class*="theme-"] .booking-box h3,
body[class*="theme-"] .booking-card h3 {
  color: var(--svc-ink) !important;
  opacity: 1 !important;
}
body[class*="theme-"] .booking-box .section-tag,
body[class*="theme-"] .booking-box .eyebrow {
  color: var(--svc-mid) !important;
}
body[class*="theme-"] .booking-card small {
  color: var(--svc-dark) !important;
}

/* 6b. Page hero, only the LIGHT variants. Tagged with the
       pg-hero-light body class on promotions.html and
       services-eyelash-lifting-tinting.html. Pages with a real
       dark gradient hero (about, blog, products,
       services-by-location) are NOT tagged and keep white text. */
body.pg-hero-light .pg-hero {
  color: var(--svc-ink) !important;
}
body.pg-hero-light .pg-hero h1,
body.pg-hero-light .pg-hero h2,
body.pg-hero-light .pg-hero h3 {
  color: var(--svc-ink) !important;
  opacity: 1 !important;
}
body.pg-hero-light .pg-hero p {
  color: var(--svc-muted) !important;
}
body.pg-hero-light .pg-hero .eyebrow {
  color: var(--svc-mid) !important;
  background: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid var(--svc-border) !important;
}

/* ── 7. CATEGORY ACCENT SUPPORT ───────────────────────────────
   A few site-wide widgets reference a tag/eyebrow color that
   should pick up the service accent. These already use --svc-mid
   internally, so once the body class flips the variable, the
   accent flows everywhere. No additional rules needed. */

/* End of Aroma colour system */

/* source:css/laser-guide-image-placement-batch96.css */
/* Batch 96: moved repeated laser guide image placement CSS out of inline <style> blocks */
/* Laser guide image placement fix: moves page photos out of the hero and into a lower right-side content position. */
.aroma-laser-side-section {
  max-width: 1120px;
  margin: 42px auto 48px;
  padding: 0 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.9fr);
  gap: 28px;
  align-items: start;
}
.aroma-laser-side-section.in-main {
  max-width: 100%;
  margin: 0 0 48px;
  padding: 0;
}
.aroma-laser-side-card {
  background: #ffffff;
  border: 1px solid rgba(37, 108, 155, 0.14);
  border-radius: 24px;
  padding: 28px 30px;
  box-shadow: 0 18px 50px rgba(13, 42, 68, 0.08);
}
.aroma-laser-side-card > *:first-child {
  margin-top: 0;
}
.aroma-laser-side-card > *:last-child {
  margin-bottom: 0;
}
.aroma-laser-side-label {
  display: block;
  margin: 0 0 10px;
  color: #2e9ed6;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.aroma-laser-side-visual {
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(37, 108, 155, 0.16);
  background: #ffffff;
  box-shadow: 0 18px 44px rgba(13, 42, 68, 0.12);
  display: block;
  height: auto;
  min-height: 0;
}
.aroma-laser-side-visual img {
  display: block;
  width: 100%;
  height: clamp(220px, 24vw, 320px);
  min-height: 0;
  max-height: 320px;
  object-fit: cover;
  object-position: center;
  flex: none;
}

@media (max-width: 860px) {
  .aroma-laser-side-section,
  .aroma-laser-side-section.in-main {
    grid-template-columns: 1fr;
    margin: 30px auto 38px;
  }
  .aroma-laser-side-section.in-main {
    margin-bottom: 38px;
  }
  .aroma-laser-side-card {
    padding: 24px;
  }
  .aroma-laser-side-visual {
    min-height: 0;
    display: block;
  }
  .aroma-laser-side-visual img {
    height: clamp(190px, 54vw, 260px);
    min-height: 0;
    max-height: 260px;
  }
}

/* source:css/aroma-batch3-components.css */
/* ===============================================================
   AROMA BATCH 3 COMPONENT SYSTEM
   Purpose: one reusable service trust strip and one calmer card
   language across service pages. Loaded last on every HTML page.
   =============================================================== */

/* Service trust strip, same structure, service colour comes from body theme variables */
.service-trust-strip {
  background: radial-gradient(
      circle at top left,
      var(--svc-glow),
      transparent 32%
    ),
    linear-gradient(135deg, var(--svc-mist), #ffffff 68%);
  border-top: 1px solid var(--svc-border);
  border-bottom: 1px solid var(--svc-border);
  padding: 16px 22px;
  margin: 0;
}
.service-trust-strip .service-trust-inner {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.service-trust-strip .service-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid var(--svc-border);
  box-shadow: 0 12px 28px var(--svc-shadow);
  color: var(--svc-ink);
  font-weight: 800;
  line-height: 1.3;
  font-size: 14px;
}
.service-trust-strip .service-trust-icon {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, var(--svc-light), var(--svc-dark));
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  box-shadow: 0 8px 18px var(--svc-shadow);
}
.service-trust-strip .service-trust-text {
  display: block;
}

/* Consistent card language, without forcing every card to become identical */
:where(
    .price-card,
    .info-card,
    .booking-card,
    .option-card,
    .link-card,
    .why-card,
    .service-card,
    .guide-card,
    .feature-card,
    .hub-card,
    .loc-card,
    .location-card,
    .quick-card,
    .benefit-card,
    .step-card,
    .blog-card,
    .svc-card,
    .promo-card,
    .review-card,
    .face-price-card,
    .mini-price-card,
    .area-card,
    .compare-card,
    .machine-card,
    .note-card,
    .comfort-card,
    .reason-card,
    .choice-card,
    .quick-link-card,
    .service-detail-card,
    .fitz-card,
    .eth-card,
    .objection-card,
    .timeline-card,
    .expect-card,
    .tech-card,
    .sculpt-card,
    .quote-card,
    .loc-service-card,
    .access-card,
    .diff-card,
    .hyg-card,
    .welcome-card,
    .team-card,
    .prod-card,
    .inquiry-card,
    .contact-support-card,
    .other-card,
    .policy-card
  ) {
  border-radius: 24px !important;
  border-color: var(--svc-border) !important;
  box-shadow: 0 16px 38px var(--svc-shadow) !important;
}
:where(
    .price-card,
    .info-card,
    .booking-card,
    .option-card,
    .link-card,
    .why-card,
    .service-card,
    .guide-card,
    .feature-card,
    .hub-card,
    .loc-card,
    .location-card,
    .quick-card,
    .benefit-card,
    .step-card,
    .blog-card,
    .svc-card,
    .promo-card,
    .review-card,
    .face-price-card,
    .mini-price-card,
    .area-card,
    .compare-card,
    .machine-card,
    .note-card,
    .comfort-card,
    .reason-card,
    .choice-card,
    .quick-link-card,
    .service-detail-card,
    .fitz-card,
    .eth-card,
    .objection-card,
    .timeline-card,
    .expect-card,
    .tech-card,
    .sculpt-card,
    .quote-card,
    .loc-service-card,
    .access-card,
    .diff-card,
    .hyg-card,
    .welcome-card,
    .team-card,
    .prod-card,
    .inquiry-card,
    .contact-support-card,
    .other-card,
    .policy-card
  ) {
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}
:where(
    .price-card,
    .info-card,
    .booking-card,
    .option-card,
    .link-card,
    .why-card,
    .service-card,
    .guide-card,
    .feature-card,
    .hub-card,
    .loc-card,
    .location-card,
    .quick-card,
    .benefit-card,
    .step-card,
    .blog-card,
    .svc-card,
    .promo-card,
    .review-card,
    .face-price-card,
    .mini-price-card,
    .area-card,
    .compare-card,
    .machine-card,
    .note-card,
    .comfort-card,
    .reason-card,
    .choice-card,
    .quick-link-card,
    .service-detail-card,
    .timeline-card,
    .expect-card,
    .tech-card,
    .sculpt-card,
    .quote-card,
    .loc-service-card,
    .access-card,
    .diff-card,
    .hyg-card,
    .welcome-card,
    .team-card,
    .prod-card,
    .inquiry-card,
    .contact-support-card,
    .other-card,
    .policy-card
  ):hover {
  border-color: var(--svc-light) !important;
}

/* Make common card links and buttons feel related without changing their job */
:where(
    .link-card,
    .hub-card,
    .service-card-link,
    .quick-link-card,
    .choice-card
  ) {
  text-decoration: none;
}
:where(.card-actions, .actions) .btn,
:where(
    .price-card,
    .booking-card,
    .promo-card,
    .service-card,
    .svc-card,
    .loc-service-card
  )
  .btn {
  border-radius: 999px !important;
}

@media (max-width: 900px) {
  .service-trust-strip .service-trust-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .service-trust-strip {
    padding: 12px 16px;
  }
  .service-trust-strip .service-trust-inner {
    grid-template-columns: 1fr;
  }
  .service-trust-strip .service-trust-item {
    min-height: auto;
    padding: 13px 14px;
    font-size: 13.5px;
  }
}

/* source:css/aroma-batch5-layout-cleanup.css */
/* ===============================================================
   AROMA BATCH 5 LAYOUT CLEANUP
   Purpose: standardize callout/text boxes and image treatment
   without changing page copy, booking links, pricing anchors,
   FAQ content, header, or footer.

   Lingo:
   - callout box = highlighted note/helper box
   - image treatment = sizing, crop, radius, and frame behavior
   - layout exception = page intentionally allowed to keep a custom visual flow
   =============================================================== */

/* 1. Shared callout language ------------------------------------------------
   These rules make repeated note boxes, help boxes, CTA panels, and service
   info boxes feel related. It does not force every box to become identical. */
main
  :where(
    .panel,
    .hero-panel,
    .glass-panel,
    .dark-panel,
    .sun-panel,
    .hero-note,
    .note,
    .note-box,
    .note-card,
    .help-box,
    .welcome-card,
    .inquiry-note,
    .floating-note,
    .included-note,
    .split-note,
    .style-menu-note,
    .booking-box,
    .pay-box,
    .package-box,
    .package-payment-box,
    .package-pay-card,
    .package-payment-grid,
    .promo-strip,
    .promo-band,
    .promo-banner,
    .highlight-strip,
    .cta-band,
    .cta-final,
    .cta-section
  ) {
  border-radius: clamp(20px, 2.2vw, 28px) !important;
  border: 1px solid var(--svc-border, rgba(35, 72, 59, 0.14)) !important;
  box-shadow: 0 18px 42px var(--svc-shadow, rgba(35, 72, 59, 0.1)) !important;
}

/* Keep small text notes readable without turning them into heavy cards. */
main :where(.price-note, .hero-price-note, .face-from-note, .mini-price-note) {
  color: var(--svc-muted, #4f5e55) !important;
  line-height: 1.55 !important;
}

/* Give callout headings one calmer rhythm across services. */
main
  :where(
    .panel,
    .hero-panel,
    .glass-panel,
    .note-box,
    .note-card,
    .help-box,
    .welcome-card,
    .booking-box,
    .pay-box,
    .package-box,
    .cta-final,
    .cta-section
  )
  :where(h2, h3, h4) {
  color: var(--svc-ink, #23483b) !important;
  letter-spacing: -0.015em;
}

/* 2. CTA/readability cleanup ------------------------------------------------
   Dark or promo callouts sometimes fought with button/readability rules.
   This keeps promo and final CTA sections readable without touching links. */
main
  :where(
    .promo-strip,
    .promo-band,
    .promo-banner,
    .highlight-strip,
    .cta-band,
    .cta-final,
    .cta-section
  ) {
  overflow: hidden;
}
main
  :where(.promo-strip, .promo-band, .promo-banner, .highlight-strip)
  :where(p, li, span, small) {
  line-height: 1.55;
}
main
  :where(
    .cta-final,
    .cta-section,
    .cta-band,
    .promo-strip,
    .promo-band,
    .promo-banner
  )
  :where(
    .btn,
    .booking-card-btn,
    .booking-card-btn-solid,
    .booking-card-btn-outline
  ) {
  white-space: normal;
  text-align: center;
}

/* 3. Image treatment consistency -------------------------------------------
   Standard service/guide images use the same premium frame. Brazilian/Bikini
   and comparison layouts get an exception class so their custom placement
   can stay different where it works better. */
body:not(.aroma-visual-exception):not(.page-home)
  main
  :where(
    .page-photo-card,
    .image-card,
    .what-cover-image,
    .service-photo-card,
    .service-image,
    .aroma-laser-side-visual,
    .hero-visual,
    .pg-hero-visual,
    .loc-media,
    .aroma-hero-media,
    .style-menu-image,
    .compare-photo
  ) {
  overflow: hidden !important;
  border-radius: clamp(22px, 2.5vw, 32px) !important;
  border: 1px solid var(--svc-border, rgba(35, 72, 59, 0.12)) !important;
  box-shadow: 0 18px 44px var(--svc-shadow, rgba(35, 72, 59, 0.11)) !important;
  background: var(--svc-pale, #f1f7ef);
}

body:not(.aroma-visual-exception):not(.page-home)
  main
  :where(
    .page-photo-card,
    .image-card,
    .what-cover-image,
    .service-photo-card,
    .service-image,
    .aroma-laser-side-visual,
    .hero-visual,
    .pg-hero-visual,
    .loc-media,
    .aroma-hero-media,
    .style-menu-image,
    .compare-photo
  )
  img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: cover !important;
}

/* Hero/side visuals get a controlled ratio only when the page is not marked
   as a visual exception. This prevents random huge or stretched images. */
body:not(.aroma-visual-exception):not(.page-home)
  main
  :where(
    .hero-visual,
    .pg-hero-visual,
    .aroma-hero-media,
    .aroma-laser-side-visual,
    .service-photo-card,
    .page-photo-card,
    .image-card
  )
  img {
  aspect-ratio: 4 / 3;
}

/* Smaller inline treatment images should not become poster-size on desktop. */
body:not(.aroma-visual-exception):not(.page-home)
  main
  :where(.what-cover-image, .style-menu-image, .service-image)
  img {
  aspect-ratio: 3 / 2;
}

/* 4. Grid and spacing cleanup ----------------------------------------------
   Keeps two-column content blocks aligned without changing their order. */
main
  :where(
    .split-grid,
    .two-grid,
    .hero-grid,
    .service-grid,
    .contact-grid,
    .booking-grid,
    .location-grid,
    .loc-grid,
    .feature-grid,
    .why-grid,
    .options-grid,
    .option-grid,
    .price-grid,
    .pricing-grid,
    .grid-2,
    .grid-3,
    .grid-4
  ) {
  gap: clamp(18px, 2.6vw, 34px) !important;
}

main
  :where(
    .split-grid,
    .two-grid,
    .hero-grid,
    .service-grid,
    .contact-grid,
    .booking-grid,
    .location-grid,
    .loc-grid
  ) {
  align-items: center;
}

/* 5. Mobile polish ---------------------------------------------------------- */
@media (max-width: 780px) {
  main
    :where(
      .panel,
      .hero-panel,
      .glass-panel,
      .note-box,
      .note-card,
      .help-box,
      .welcome-card,
      .booking-box,
      .pay-box,
      .package-box,
      .cta-final,
      .cta-section
    ) {
    border-radius: 20px !important;
  }
  body:not(.aroma-visual-exception):not(.page-home)
    main
    :where(
      .page-photo-card,
      .image-card,
      .what-cover-image,
      .service-photo-card,
      .service-image,
      .aroma-laser-side-visual,
      .hero-visual,
      .pg-hero-visual,
      .loc-media,
      .aroma-hero-media,
      .style-menu-image
    ) {
    border-radius: 22px !important;
  }
  body:not(.aroma-visual-exception):not(.page-home)
    main
    :where(
      .hero-visual,
      .pg-hero-visual,
      .aroma-hero-media,
      .aroma-laser-side-visual,
      .service-photo-card,
      .page-photo-card,
      .image-card
    )
    img {
    aspect-ratio: 16 / 11;
  }
}

/* source:css/aroma-batch6-final-qa.css */
/* Batch 6 final QA polish: mobile spacing, overflow protection, FAQ state, and leftover layout conflicts. */
html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}
body {
  overflow-x: clip;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
img,
picture,
video,
iframe,
svg {
  max-width: 100%;
}
img,
video,
iframe {
  height: auto;
}
figure {
  margin-left: 0;
  margin-right: 0;
}
[id] {
  scroll-margin-top: 110px;
}
.skip-link {
  position: absolute;
  left: -999px;
  top: 12px;
  z-index: 9999;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  color: #163324;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.14);
}
.skip-link:focus {
  left: 12px;
}
:where(.btn, .aroma-book-btn, .aroma-nav-link, button, [class*="btn"]) {
  max-width: 100%;
}
:where(.btn, a.btn, button.btn, .pill-link, .hub-card-cta, .aroma-book-btn) {
  min-height: 44px;
  white-space: normal;
  text-align: center;
  line-height: 1.25;
}
:where(
    .actions,
    .button-row,
    .cta-actions,
    .hero-actions,
    .booking-actions,
    .pill-links
  ) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
:where(.faq-a, .faq-answer)[aria-hidden="true"] {
  display: none;
}
:where(.faq-a, .faq-answer)[aria-hidden="false"] {
  display: block;
}
:where(.faq-q, .faq-question, [data-faq-toggle]) {
  cursor: pointer;
  width: 100%;
  text-align: left;
}
:where(.faq, .faq-item, .fi, .afaq-item).open,
:where(.faq, .faq-item, .fi, .afaq-item).is-open {
  isolation: isolate;
}
:where(.wrap, .container, .narrow, .hero-inner, .pg-hero, .section-inner) {
  max-width: min(100%, var(--aroma-content-max, 1180px));
}
:where(
    .card,
    .info-card,
    .green-card,
    .hub-card,
    .link-card,
    .booking-card,
    .price-card,
    .pricing-card,
    .service-card,
    .review-card,
    .panel,
    .note,
    .help-box,
    .cta,
    .booking-box,
    .promo-strip
  ) {
  min-width: 0;
  overflow-wrap: anywhere;
}
:where(
    .service-trust-inner,
    .trust-inner,
    .grid,
    .grid-2,
    .grid-3,
    .grid-4,
    .two,
    .wrap.two,
    .cards,
    .card-grid,
    .hub-grid,
    .links,
    .booking-cards,
    .location-grid,
    .quick-grid,
    .pricing-grid,
    .service-grid,
    .diff-grid,
    .review-grid,
    .stat-grid,
    .story-grid
  ) {
  min-width: 0;
}
@media (max-width: 900px) {
  :where(
      .pg-hero,
      .hero-inner,
      .wrap.two,
      .two,
      .story-grid,
      .location-grid,
      .booking-box
    ) {
    grid-template-columns: 1fr !important;
  }
  :where(.pg-hero, .hero, section) {
    overflow: hidden;
  }
  :where(.pg-hero-visual, .hero-visual, .image-card, .page-photo-card) {
    max-width: 100%;
  }
}
@media (max-width: 760px) {
  :where(
      .service-trust-inner,
      .trust-inner,
      .grid,
      .grid-2,
      .grid-3,
      .grid-4,
      .cards,
      .card-grid,
      .hub-grid,
      .links,
      .booking-cards,
      .quick-grid,
      .pricing-grid,
      .service-grid,
      .diff-grid,
      .review-grid,
      .stat-grid
    ) {
    grid-template-columns: 1fr !important;
  }
  :where(
      .actions,
      .button-row,
      .cta-actions,
      .hero-actions,
      .booking-actions,
      .pill-links
    ) {
    flex-direction: column;
    align-items: stretch;
  }
  :where(
      .actions > *,
      .button-row > *,
      .cta-actions > *,
      .hero-actions > *,
      .booking-actions > *,
      .pill-links > *
    ) {
    width: 100%;
    justify-content: center;
  }
  :where(.btn, a.btn, button.btn, .pill-link) {
    width: 100%;
  }
  :where(.service-trust-strip) {
    margin-left: 12px;
    margin-right: 12px;
  }
}
@media (max-width: 480px) {
  :where(.wrap, .container, .narrow) {
    padding-left: 16px;
    padding-right: 16px;
  }
  :where(h1) {
    overflow-wrap: balance;
  }
  :where(h2, h3, p, li, a, span, strong) {
    overflow-wrap: anywhere;
  }
}

/* source:css/aroma-batch7-hero-banner-alignment.css */
/* Batch 7: rounded hero/banner alignment
   Purpose: match the softer rounded contact-page banner style on resource pages,
   especially About, Products, and Pricing, without changing service-page content. */

:root {
  --aroma-hero-card-radius: 30px;
  --aroma-hero-card-shadow: 0 22px 58px rgba(17, 56, 34, 0.12);
  --aroma-hero-card-border: 1px solid rgba(47, 89, 65, 0.13);
  --aroma-hero-card-width: min(1180px, calc(100% - 40px));
}

body.aroma-rounded-hero-page .pg-hero,
body.aroma-rounded-hero-page .pricing-hero,
body.aroma-rounded-hero-page .hero.has-hero-image,
body.aroma-rounded-hero-page .aroma-review-page-hero {
  width: var(--aroma-hero-card-width) !important;
  max-width: 1180px !important;
  margin: clamp(18px, 3vw, 34px) auto clamp(28px, 4vw, 48px) !important;
  border-radius: var(--aroma-hero-card-radius) !important;
  border: var(--aroma-hero-card-border) !important;
  box-shadow: var(--aroma-hero-card-shadow) !important;
  overflow: hidden !important;
  padding: clamp(30px, 5vw, 58px) !important;
  box-sizing: border-box !important;
}

/* Keep the content inside the rounded banner balanced instead of drifting left or right. */
body.aroma-rounded-hero-page .pg-hero.has-hero-image,
body.aroma-rounded-hero-page .hero.has-hero-image {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr) !important;
  gap: clamp(22px, 4vw, 42px) !important;
  align-items: center !important;
  text-align: left !important;
}

body.aroma-rounded-hero-page .pg-hero.has-hero-image .pg-hero-copy,
body.aroma-rounded-hero-page .pg-hero.has-hero-image .hero-copy,
body.aroma-rounded-hero-page .hero.has-hero-image .faq-hero-copy,
body.aroma-rounded-hero-page .aroma-review-hero-copy {
  max-width: 720px !important;
  margin: 0 !important;
  min-width: 0 !important;
}

body.aroma-rounded-hero-page .pg-hero.has-hero-image p,
body.aroma-rounded-hero-page .hero.has-hero-image p,
body.aroma-rounded-hero-page .aroma-review-page-hero p {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.aroma-rounded-hero-page .pg-hero-visual,
body.aroma-rounded-hero-page .faq-hero-media,
body.aroma-rounded-hero-page .aroma-review-hero-media,
body.aroma-rounded-hero-page .hero-img-wrap,
body.aroma-rounded-hero-page .pricing-hero-visual {
  max-width: 520px !important;
  margin: 0 !important;
  justify-self: end !important;
}

body.aroma-rounded-hero-page .pg-hero-visual img,
body.aroma-rounded-hero-page .faq-hero-media img,
body.aroma-rounded-hero-page .aroma-review-hero-media img,
body.aroma-rounded-hero-page .hero-img-wrap img,
body.aroma-rounded-hero-page .pricing-hero-visual img {
  border-radius: 26px !important;
  object-fit: cover !important;
}

/* Product and Promotions do not have hero images, so center the text inside the rounded banner. */
body.page-products .pg-hero,
body.page-promotions .pg-hero {
  text-align: center !important;
}
body.page-products .pg-hero > *,
body.page-promotions .pg-hero > * {
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.page-products .pg-hero .btn,
body.page-promotions .pg-hero .btn {
  margin-left: 6px !important;
  margin-right: 6px !important;
}

/* Pricing page: keep the two-column hero, but put the whole banner inside the same rounded card system. */
body.page-pricing .pricing-hero .inner {
  max-width: none !important;
  width: 100% !important;
  margin: 0 !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.78fr) !important;
  gap: clamp(22px, 4vw, 42px) !important;
}
body.page-pricing .pricing-hero .hero-copy {
  max-width: 720px !important;
}
body.page-pricing .pricing-hero .hero-panel {
  margin: 0 !important;
}

/* Review page had a centered inner max-width but no dependable auto margin. */
body.page-reviews .aroma-review-page-hero-inner {
  max-width: none !important;
  margin: 0 !important;
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr) !important;
}

/* Services page already uses a card. This keeps it aligned with the rounded hero family. */
body.page-services .services-hero {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
body.page-services .services-hero-card,
body.page-services .services-hero-card-clean {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: var(--aroma-hero-card-radius) !important;
  box-shadow: var(--aroma-hero-card-shadow) !important;
  overflow: hidden !important;
}

/* Tinting/lashes uses a nested wrap inside pg-hero, so align that inner layout too. */
body.page-tinting-lashes .pg-hero.has-hero-image > .wrap {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr) !important;
  gap: clamp(22px, 4vw, 42px) !important;
  align-items: center !important;
  margin: 0 !important;
}
body.page-tinting-lashes .pg-hero.has-hero-image .hero-actions {
  justify-content: flex-start !important;
}

/* Mobile: stack cleanly and keep rounded banners from touching the screen edges. */
@media (max-width: 900px) {
  :root {
    --aroma-hero-card-width: calc(100% - 28px);
  }
  body.aroma-rounded-hero-page .pg-hero,
  body.aroma-rounded-hero-page .pricing-hero,
  body.aroma-rounded-hero-page .hero.has-hero-image,
  body.aroma-rounded-hero-page .aroma-review-page-hero {
    padding: clamp(26px, 7vw, 42px) !important;
    border-radius: 24px !important;
    text-align: center !important;
  }
  body.aroma-rounded-hero-page .pg-hero.has-hero-image,
  body.aroma-rounded-hero-page .hero.has-hero-image,
  body.page-pricing .pricing-hero .inner,
  body.page-reviews .aroma-review-page-hero-inner,
  body.page-tinting-lashes .pg-hero.has-hero-image > .wrap {
    grid-template-columns: 1fr !important;
  }
  body.aroma-rounded-hero-page .pg-hero.has-hero-image .pg-hero-copy,
  body.aroma-rounded-hero-page .pg-hero.has-hero-image .hero-copy,
  body.aroma-rounded-hero-page .hero.has-hero-image .faq-hero-copy,
  body.aroma-rounded-hero-page .aroma-review-hero-copy {
    margin: 0 auto !important;
  }
  body.aroma-rounded-hero-page .pg-hero.has-hero-image p,
  body.aroma-rounded-hero-page .hero.has-hero-image p,
  body.aroma-rounded-hero-page .aroma-review-page-hero p {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  body.aroma-rounded-hero-page .pg-hero-visual,
  body.aroma-rounded-hero-page .faq-hero-media,
  body.aroma-rounded-hero-page .aroma-review-hero-media,
  body.aroma-rounded-hero-page .hero-img-wrap,
  body.aroma-rounded-hero-page .pricing-hero-visual {
    justify-self: center !important;
    max-width: 640px !important;
    margin: 8px auto 0 !important;
  }
  body.page-tinting-lashes .pg-hero.has-hero-image .hero-actions {
    justify-content: center !important;
  }
}

@media (max-width: 560px) {
  :root {
    --aroma-hero-card-width: calc(100% - 20px);
  }
  body.aroma-rounded-hero-page .pg-hero,
  body.aroma-rounded-hero-page .pricing-hero,
  body.aroma-rounded-hero-page .hero.has-hero-image,
  body.aroma-rounded-hero-page .aroma-review-page-hero {
    border-radius: 20px !important;
  }
}

/* source:css/aroma-batch13-pricing-booking-order.css */
/* Batch 13: place booking directly after pricing and strengthen View prices button readability. */
#pricing + #booking,
#pricing + .aroma-standard-booking,
#pricing + .aroma-standard-booking-lite,
#pricing + .cta-section#booking {
  margin-top: 0 !important;
}
#pricing.aroma-service-pricing .promo-strip .pricing-page-access .btn,
#pricing.aroma-service-pricing .promo-strip .pricing-page-access a.btn,
#pricing.aroma-service-pricing .promo-strip a[href*="pricing.html"] {
  background: #ffffff !important;
  color: var(--svc-accent-dark, #285f43) !important;
  border: 2px solid rgba(255, 255, 255, 0.82) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.12) !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
#pricing.aroma-service-pricing .promo-strip .pricing-page-access .btn:hover,
#pricing.aroma-service-pricing .promo-strip a[href*="pricing.html"]:hover {
  background: var(--svc-soft, #f7fbf8) !important;
  transform: translateY(-1px);
}
@media (max-width: 760px) {
  #pricing.aroma-service-pricing .promo-strip .pricing-page-access,
  #pricing.aroma-service-pricing .promo-strip .pricing-page-access .btn,
  #pricing.aroma-service-pricing .promo-strip a[href*="pricing.html"] {
    width: 100% !important;
    text-align: center !important;
  }
}

/* Aroma inline style cleanup utilities */
.laser-hair-removal-preparation-toronto-clean-19 {
  display: block;
  font-weight: 800;
  font-size: 15px;
  line-height: 1.25;
}
.laser-hair-removal-preparation-toronto-clean-20 {
  display: block;
  margin-top: 5px;
  color: #4f6680;
  font-size: 12.5px;
  line-height: 1.35;
}
.laser-hair-removal-preparation-toronto-clean-18 {
  display: block;
  padding: 15px 16px;
  border: 1px solid rgba(37, 108, 155, 0.18);
  border-radius: 16px;
  background: #fff;
  color: #0d2a44;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(13, 42, 68, 0.05);
}
.aroma-inline-card-wax {
  display: block;
  padding: 14px 16px;
  border: 1px solid rgba(79, 138, 104, 0.22);
  border-radius: 16px;
  background: #fff;
  color: #2f4f3c;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(20, 53, 43, 0.06);
}
.laser-hair-removal-preparation-toronto-clean-0710 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}
.aroma-inline-card-sugar {
  display: block;
  padding: 14px 16px;
  border: 1px solid #f0d6b8;
  border-radius: 16px;
  background: #fff;
  color: #9b5a1d;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(168, 100, 36, 0.06);
}
.aroma-inline-container-1120 {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 22px;
}
.aroma-inline-justify-center {
  justify-content: center;
}
.laser-hair-removal-preparation-toronto-clean-08 {
  background: #ffffff;
  border: 1px solid #d7e2dc;
  border-radius: 20px;
  padding: 20px;
  min-height: 172px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.03);
}
.laser-hair-removal-preparation-toronto-clean-10 {
  color: #7d8897;
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 8px;
}
.aroma-inline-small-green-link {
  display: block;
  padding: 4px 0;
  font-size: 13.5px;
  color: #2d7a4f;
  text-decoration: none;
}
.aroma-inline-mb-0 {
  margin-bottom: 0;
}
.aroma-inline-kicker-green {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1fb25a;
  margin: 0 0 8px;
}
.laser-hair-removal-preparation-toronto-clean-13 {
  max-width: 1120px;
  margin: 42px auto;
  padding: 28px 22px;
  border-radius: 26px;
  background: linear-gradient(135deg, #f3faff 0%, #ffffff 78%);
  border: 1px solid rgba(37, 108, 155, 0.16);
  box-shadow: 0 18px 48px rgba(13, 42, 68, 0.06);
}
.laser-hair-removal-preparation-toronto-clean-14 {
  margin: 0 0 8px;
  color: #256c9b;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.laser-hair-removal-preparation-toronto-clean-15 {
  margin: 0 0 10px;
  color: #0d2a44;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
}
.laser-hair-removal-preparation-toronto-clean-16 {
  margin: 0 0 20px;
  color: #516579;
  font-size: 15px;
  line-height: 1.65;
  max-width: 780px;
}
.aroma-inline-h-100 {
  height: 100%;
}
.aroma-inline-card-heading {
  font-size: 1.45rem;
  margin: 8px 0 10px;
}
.aroma-inline-card-copy-tight {
  font-size: 15px;
  margin-bottom: 16px;
}
.aroma-inline-kicker-wax {
  margin: 0 0 8px;
  color: #4f8a68;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.aroma-inline-section-wax {
  padding: 38px 0;
  background: #f7fbf8;
}
.aroma-inline-heading-wax {
  margin: 0 0 10px;
  color: #183326;
  font-size: clamp(24px, 3vw, 34px);
}
.aroma-inline-copy-wax {
  margin: 0 0 18px;
  color: #3f5949;
  max-width: 760px;
  line-height: 1.65;
}
.aroma-inline-section-blue-soft {
  padding: 34px 0;
  background: #eef7fb;
}
.aroma-inline-card-blue-soft {
  border: 1px solid rgba(55, 127, 155, 0.22);
  border-radius: 22px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 18px 40px rgba(14, 64, 82, 0.08);
}
.aroma-inline-kicker-teal {
  margin: 0 0 8px;
  color: #2f728d;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.aroma-inline-heading-green-32 {
  margin: 0 0 10px;
  color: #183326;
  font-size: clamp(23px, 3vw, 32px);
}
.aroma-inline-copy-green-780 {
  margin: 0 0 18px;
  color: #3f5949;
  max-width: 780px;
  line-height: 1.65;
}
.laser-hair-removal-preparation-toronto-clean-01 {
  padding: 34px 5% 20px;
  background: #ffffff;
}
.laser-hair-removal-preparation-toronto-clean-02 {
  max-width: 1100px;
  margin: 0 auto;
}
.laser-hair-removal-preparation-toronto-clean-03 {
  background: #eef3f0;
  border: 1px solid #d8e4dd;
  border-radius: 24px;
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.95fr);
  gap: 22px;
  align-items: center;
}
.laser-hair-removal-preparation-toronto-clean-05 {
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #3a3a3d;
  margin: 0 0 14px;
}
.laser-hair-removal-preparation-toronto-clean-07 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.aroma-inline-btn-white-outline {
  display: inline-block;
  background: transparent;
  color: #ffffff;
  padding: 12px 28px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  border: 2px solid #ffffff;
}
.aroma-inline-section-sugar {
  padding: 34px 0;
  background: #fff7ed;
}
.aroma-inline-card-sugar-soft {
  border: 1px solid #f0d6b8;
  border-radius: 22px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 18px 40px rgba(168, 100, 36, 0.08);
}
.aroma-inline-kicker-sugar {
  margin: 0 0 8px;
  color: #9b5a1d;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.aroma-inline-heading-sugar {
  margin: 0 0 10px;
  color: #3a2208;
  font-size: clamp(23px, 3vw, 32px);
}
.aroma-inline-copy-sugar {
  margin: 0 0 18px;
  color: #6b5038;
  max-width: 780px;
  line-height: 1.65;
}
.aroma-inline-btn-white-green {
  display: inline-block;
  background: #ffffff;
  color: #1fb25a;
  padding: 12px 28px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  border: 2px solid #ffffff;
}
.aroma-inline-eyebrow-green {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #1fb25a;
  margin: 0 0 12px;
}
.aroma-inline-copy-dm-muted {
  font-size: 16px;
  line-height: 1.7;
  color: #7d8897;
  margin: 0;
  font-family: "DM Sans", Montserrat, Arial, sans-serif;
}
.aroma-inline-btn-green-full {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  border: 2px solid #39b55c;
  background: #39b55c;
  color: #ffffff;
  box-sizing: border-box;
}
.aroma-inline-btn-green-outline-full {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  border: 2px solid #1fb25a;
  background: #ffffff;
  color: #1fb25a;
  box-sizing: border-box;
}

/* Extra safe inline style cleanup utilities. Generated from repeated inline styles. */
.aroma-inline-extra-001 {
  background: var(--off-white) !important;
}
.aroma-inline-extra-002 {
  text-align: center !important;
}
.aroma-inline-extra-003 {
  display: block !important;
  font-size: 11px !important;
  color: var(--aroma-muted, #888) !important;
  margin-top: 4px !important;
}
.aroma-inline-extra-004 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.aroma-inline-extra-005 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.aroma-inline-extra-006 {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
  color: #183326 !important;
}
.aroma-inline-extra-007 {
  margin-top: 28px !important;
}
.aroma-inline-extra-008 {
  color: #4f8a68 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.aroma-inline-extra-009 {
  display: block !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(79, 138, 104, 0.22) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #2f4f3c !important;
  text-decoration: none !important;
  font-weight: 700 !important;
}
.aroma-inline-extra-010 {
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  color: #183326 !important;
  margin: 10px 0 8px !important;
}
.aroma-inline-extra-011 {
  padding: 52px 0 !important;
  background: #f6fbf7 !important;
}
.aroma-inline-extra-012 {
  text-align: center !important;
  margin-bottom: 28px !important;
}
.aroma-inline-extra-013 {
  color: #5a7a6a !important;
  font-size: 15px !important;
  margin: 0 0 24px !important;
  line-height: 1.7 !important;
}
.aroma-inline-extra-014 {
  display: block !important;
  padding: 15px 16px !important;
  border: 1px solid rgba(37, 108, 155, 0.2) !important;
  border-radius: 16px !important;
  background: #f8fcff !important;
  color: #0d2a44 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(13, 42, 68, 0.06) !important;
}
.aroma-inline-extra-015 {
  display: block !important;
  padding: 15px 16px !important;
  border: 1px solid rgba(79, 138, 104, 0.22) !important;
  border-radius: 16px !important;
  background: #fff !important;
  color: #2f4f3c !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(20, 53, 43, 0.06) !important;
}
.aroma-inline-extra-016 {
  display: block !important;
  margin: auto !important;
}
.aroma-inline-extra-017 {
  font-size: 16px !important;
  color: var(--slate) !important;
  line-height: 1.7 !important;
  max-width: 640px !important;
  margin-bottom: 8px !important;
}
.aroma-inline-extra-018 {
  margin: 0 !important;
}
.aroma-inline-extra-019 {
  margin: 0 0 14px !important;
  color: #0d2a44 !important;
  font-size: clamp(26px, 3vw, 36px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
}
.aroma-inline-extra-020 {
  margin: 0 !important;
  color: #516579 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
.aroma-inline-extra-021 {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
.aroma-inline-extra-022 {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
}
.aroma-inline-extra-023 {
  font-size: 1.6rem !important;
}
.aroma-inline-extra-024 {
  font-size: 20px !important;
  font-weight: 500 !important;
  margin: 32px 0 12px !important;
}
.aroma-inline-extra-025 {
  font-weight: 400 !important;
  font-size: 0.88rem !important;
  color: var(--muted) !important;
}
.aroma-inline-extra-026 {
  background: #fff !important;
  border-color: rgba(122, 74, 28, 0.22) !important;
  box-shadow: 0 8px 22px rgba(122, 74, 28, 0.07) !important;
}
.aroma-inline-extra-027 {
  color: var(--svc-dark) !important;
  font-weight: 700 !important;
}
.aroma-inline-extra-028 {
  margin-top: 20px !important;
}
.aroma-inline-extra-029 {
  margin-top: auto !important;
}
.aroma-inline-extra-030 {
  border: 1px solid rgba(79, 138, 104, 0.2) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  padding: 26px !important;
  box-shadow: 0 18px 42px rgba(20, 53, 43, 0.07) !important;
}
.aroma-inline-extra-031 {
  color: var(--mint) !important;
}
.aroma-inline-extra-032 {
  display: block !important;
  padding: 15px 16px !important;
  border: 1px solid rgba(18, 178, 75, 0.28) !important;
  border-radius: 16px !important;
  background: #f0faf4 !important;
  color: #183326 !important;
  text-decoration: none !important;
  box-shadow: 0 10px 24px rgba(20, 53, 43, 0.06) !important;
}
.aroma-inline-extra-033 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)) !important;
  gap: 12px !important;
}
.aroma-inline-extra-034 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #ffffff !important;
  color: #073b2f !important;
  border: 2px solid #bfe7fb !important;
  border-radius: 9999px !important;
  padding: 10px 15px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  min-height: 38px !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.22) !important;
  white-space: nowrap !important;
  text-shadow: none !important;
}
.laser-hair-removal-preparation-toronto-clean-09 {
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #2e9ed6 !important;
  margin: 0 0 8px !important;
}
.aroma-inline-extra-036 {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: #888 !important;
  margin: 0 0 8px !important;
}
.aroma-inline-extra-037 {
  font-size: 16px !important;
}
.aroma-inline-extra-038 {
  margin-top: 16px !important;
}
.aroma-inline-extra-039 {
  margin: 0 0 10px !important;
  color: #183326 !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.12 !important;
}
.aroma-inline-extra-040 {
  margin: 0 0 20px !important;
  color: #3f5949 !important;
  max-width: 820px !important;
  line-height: 1.65 !important;
}
.aroma-inline-extra-041 {
  margin: 0 0 8px !important;
  color: #4f8a68 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 12px !important;
}
.aroma-inline-extra-042 {
  padding: 42px 0 !important;
  background: #f7fbf8 !important;
}
.aroma-inline-extra-043 {
  background: var(--off) !important;
}
.aroma-inline-extra-044 {
  background: var(--off-white) !important;
}
.aroma-inline-extra-047 {
  color: rgba(255, 255, 255, 0.85) !important;
}
.aroma-inline-extra-048 {
  font-size: 12px !important;
  color: #4a7c59 !important;
  margin-top: 4px !important;
}
.aroma-inline-extra-049 {
  max-width: 780px !important;
}
.aroma-inline-extra-050 {
  background: #f0faf4 !important;
  border: 1px solid #bae0ca !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-bottom: 20px !important;
}
.aroma-inline-extra-051 {
  background: #fbfdfc !important;
}
.aroma-inline-extra-052 {
  background: rgba(255, 255, 255, 0.04) !important;
  border-radius: 10px !important;
  padding: 16px !important;
}
.aroma-inline-extra-053 {
  background: var(--ow) !important;
}
.aroma-inline-extra-054 {
  background: var(--wax-950) !important;
}
.aroma-inline-extra-055 {
  color: #2b4437 !important;
}
.aroma-inline-extra-056 {
  color: var(--muted) !important;
  font-size: 15px !important;
  font-family: "DM Sans", Montserrat, Arial, sans-serif !important;
  line-height: 1.7 !important;
}
.aroma-inline-extra-057 {
  color: var(--slate) !important;
  font-size: 15px !important;
}
.aroma-inline-extra-058 {
  color: var(--wax-800) !important;
  font-weight: 600 !important;
}
.laser-hair-removal-preparation-toronto-clean-11 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 18px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border: 2px solid #2e9ed6 !important;
  background: #2e9ed6 !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
}
.laser-hair-removal-preparation-toronto-clean-12 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 18px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  border: 2px solid #2e9ed6 !important;
  background: #ffffff !important;
  color: #2e9ed6 !important;
  box-sizing: border-box !important;
}
.aroma-inline-extra-061 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.aroma-inline-extra-062 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.3) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  padding: 12px 22px !important;
  border-radius: 999px !important;
  text-decoration: none !important;
  transition: 0.2s !important;
}
.aroma-inline-extra-063 {
  flex: 1 !important;
  border-top: 2px dashed #d1d5db !important;
  margin: 0 8px !important;
}
.laser-hair-removal-preparation-toronto-clean-04 {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #2e9ed6 !important;
  margin: 0 0 12px !important;
}
.laser-hair-removal-preparation-toronto-clean-06 {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #7d8897 !important;
  margin: 0 !important;
  font-family: "Montserrat", sans-serif !important;
}
.aroma-inline-extra-066 {
  font-size: 1.7rem !important;
  margin-bottom: 10px !important;
}
.aroma-inline-extra-067 {
  font-size: 1.9rem !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 10px !important;
}
.aroma-inline-extra-068 {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--mint) !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.aroma-inline-extra-069 {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  line-height: 1.6 !important;
}
.aroma-inline-extra-070 {
  font-size: 22px !important;
  line-height: 1 !important;
}
.aroma-inline-extra-071 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.aroma-inline-extra-072 {
  left: 50% !important;
}
.aroma-inline-extra-073 {
  margin-bottom: 24px !important;
}
.aroma-inline-extra-074 {
  margin-bottom: 28px !important;
}
.aroma-inline-extra-075 {
  margin-top: 18px !important;
}
.aroma-inline-extra-076 {
  margin-top: 56px !important;
}
.aroma-inline-extra-077 {
  margin: 0 0 14px !important;
  color: #183326 !important;
  font-size: clamp(24px, 3vw, 34px) !important;
}
.aroma-inline-extra-078 {
  max-width: 1120px !important;
  margin: 34px auto !important;
  padding: 26px 20px !important;
  border-radius: 24px !important;
  background: #f6fbf7 !important;
  border: 1px solid rgba(79, 138, 104, 0.16) !important;
}
.laser-hair-removal-preparation-toronto-clean-21 {
  max-width: 1120px !important;
  width: calc(100% - 32px) !important;
  margin: 42px auto 48px !important;
  padding: 28px 22px !important;
}
.aroma-inline-extra-080 {
  max-width: 760px !important;
}
.aroma-inline-extra-081 {
  padding-top: 0 !important;
}
.aroma-inline-extra-082 {
  width: 50% !important;
}
.aroma-inline-extra-083 {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #2d6b48 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}
.aroma-inline-extra-084 {
  width: 24px !important;
  height: 24px !important;
  border-radius: 50% !important;
  background: #4b5563 !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

/* Batch 6 money-page polish: safe spacing, mobile tap targets, and booking clarity. */
.theme-aroma .hero-actions,
.theme-waxing .hero-actions,
.theme-sugaring .actions,
.theme-waxing .cta-actions {
  gap: 12px;
  flex-wrap: wrap;
}

.theme-aroma .btn,
.theme-waxing .btn,
.theme-sugaring .btn {
  text-align: center;
  line-height: 1.15;
}

.theme-aroma .location-card,
.theme-aroma .service-card,
.theme-waxing .hub-card,
.theme-sugaring .hub-card,
.theme-waxing .booking-card,
.theme-sugaring .booking-card {
  backface-visibility: hidden;
}

.theme-aroma .location-card a,
.theme-waxing .booking-card a,
.theme-sugaring .booking-card a {
  white-space: nowrap;
}

@media (max-width: 680px) {
  .theme-aroma .hero-actions .btn,
  .theme-waxing .hero-actions .btn,
  .theme-sugaring .actions .btn,
  .theme-waxing .cta-actions .btn,
  .theme-aroma .location-card .btn,
  .theme-waxing .booking-card .btn,
  .theme-sugaring .booking-card .btn {
    width: 100%;
    justify-content: center;
  }

  .theme-aroma .hero-proof,
  .theme-waxing .hero-points,
  .theme-sugaring .service-trust-inner {
    gap: 10px;
  }
}

/* Launch cleanup: readable guide/comparison classes replacing aroma-inline utilities. */
.aroma-actions-center {
  justify-content: center;
}
.aroma-copy-mb-0 {
  margin-bottom: 0;
}
.aroma-booking-card-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.aroma-booking-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.aroma-card-fill {
  height: 100%;
}
.aroma-booking-card-heading {
  font-size: 1.45rem;
  margin: 8px 0 10px;
}
.aroma-booking-card-copy-tight {
  font-size: 15px;
  margin-bottom: 16px;
}
.aroma-guide-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 22px;
}
.aroma-guide-link-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}
.aroma-wax-guide-links-section {
  padding: 38px 0;
  background: #f7fbf8;
}
.aroma-wax-guide-kicker {
  margin: 0 0 8px;
  color: #4f8a68;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.aroma-wax-guide-heading {
  margin: 0 0 10px;
  color: #183326;
  font-size: clamp(24px, 3vw, 34px);
}
.aroma-wax-guide-copy {
  margin: 0 0 18px;
  color: #3f5949;
  max-width: 760px;
  line-height: 1.65;
}
.aroma-guide-card-wax {
  display: block;
  padding: 14px 16px;
  border: 1px solid rgba(79, 138, 104, 0.22);
  border-radius: 16px;
  background: #fff;
  color: #2f4f3c;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(20, 53, 43, 0.06);
}
.aroma-guide-card-wax:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(20, 53, 43, 0.1);
}
.aroma-laser-crosslink-soft-section {
  padding: 34px 0;
  background: #eef7fb;
}
.aroma-laser-crosslink-card {
  border: 1px solid rgba(55, 127, 155, 0.22);
  border-radius: 22px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 18px 40px rgba(14, 64, 82, 0.08);
}
.aroma-laser-crosslink-kicker {
  margin: 0 0 8px;
  color: #2f728d;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.aroma-laser-crosslink-heading {
  margin: 0 0 10px;
  color: #183326;
  font-size: clamp(23px, 3vw, 32px);
}
.aroma-laser-crosslink-copy {
  margin: 0 0 18px;
  color: #3f5949;
  max-width: 780px;
  line-height: 1.65;
}
.aroma-sugar-crosslink-soft-section {
  padding: 34px 0;
  background: #fff7ed;
}
.aroma-sugar-crosslink-card {
  border: 1px solid #f0d6b8;
  border-radius: 22px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 18px 40px rgba(168, 100, 36, 0.08);
}
.aroma-sugar-crosslink-kicker {
  margin: 0 0 8px;
  color: #9b5a1d;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.aroma-sugar-crosslink-heading {
  margin: 0 0 10px;
  color: #3a2208;
  font-size: clamp(23px, 3vw, 32px);
}
.aroma-sugar-crosslink-copy {
  margin: 0 0 18px;
  color: #6b5038;
  max-width: 780px;
  line-height: 1.65;
}
.aroma-guide-card-sugar {
  display: block;
  padding: 14px 16px;
  border: 1px solid #f0d6b8;
  border-radius: 16px;
  background: #fff;
  color: #9b5a1d;
  text-decoration: none;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(168, 100, 36, 0.06);
}
.aroma-guide-card-sugar:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(168, 100, 36, 0.11);
}
.aroma-comparison-cover-spaced {
  margin-bottom: 28px;
}
.aroma-comparison-options-section {
  padding: 42px 0;
  background: #f7fbf8;
}
.aroma-comparison-options-panel {
  border: 1px solid rgba(79, 138, 104, 0.2);
  border-radius: 24px;
  background: #ffffff;
  padding: 26px;
  box-shadow: 0 18px 42px rgba(20, 53, 43, 0.07);
}
.aroma-comparison-options-kicker {
  margin: 0 0 8px;
  color: #4f8a68;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 12px;
}
.aroma-comparison-options-heading {
  margin: 0 0 10px;
  color: #183326;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
}
.aroma-comparison-options-copy {
  margin: 0 0 20px;
  color: #3f5949;
  max-width: 820px;
  line-height: 1.65;
}
.aroma-comparison-options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr));
  gap: 12px;
}
.aroma-comparison-card-wax {
  display: block;
  padding: 15px 16px;
  border: 1px solid rgba(79, 138, 104, 0.22);
  border-radius: 16px;
  background: #fff;
  color: #2f4f3c;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(20, 53, 43, 0.06);
}
.aroma-comparison-card-laser {
  display: block;
  padding: 15px 16px;
  border: 1px solid rgba(37, 108, 155, 0.2);
  border-radius: 16px;
  background: #f8fcff;
  color: #0d2a44;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(13, 42, 68, 0.06);
}
.aroma-comparison-card-cost {
  display: block;
  padding: 15px 16px;
  border: 1px solid rgba(18, 178, 75, 0.28);
  border-radius: 16px;
  background: #f0faf4;
  color: #183326;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(20, 53, 43, 0.06);
}
.aroma-related-card-title {
  display: block;
  font-weight: 800;
  font-size: 15px;
  line-height: 1.25;
}
.aroma-related-card-desc {
  display: block;
  margin-top: 5px;
  color: #4f6680;
  font-size: 12.5px;
  line-height: 1.35;
}
@media (max-width: 760px) {
  .aroma-booking-card-grid,
  .aroma-guide-link-grid,
  .aroma-comparison-options-grid {
    grid-template-columns: 1fr !important;
  }
  .aroma-booking-card-actions .btn,
  .aroma-booking-card-actions a {
    width: 100%;
    text-align: center;
  }
}

/* source:css/laser-contrast-fixes-batch93.css */
/* Batch 93: improve contrast on laser CTA buttons and dark-section eyebrow pills */
.cta .btn-secondary,
.dark-section .btn-secondary {
  background: #ffffff !important;
  color: #145a32 !important;
  border-color: #ffffff !important;
}
.cta .btn-secondary:hover,
.dark-section .btn-secondary:hover {
  background: #f3fff7 !important;
  color: #0f4b29 !important;
  border-color: #f3fff7 !important;
}
.cta .eyebrow,
.dark-section .eyebrow {
  background: #ffffff !important;
  color: #145a32 !important;
  border: 1px solid rgba(255, 255, 255, 0.92) !important;
}
.cta-band .book-link.secondary,
.book-link.secondary.aroma-inline-final-027,
.book-link.secondary.aroma-inline-final-028 {
  background: #ffffff !important;
  color: #145a32 !important;
  border-color: #ffffff !important;
}
.cta-band .book-link.secondary:hover,
.book-link.secondary.aroma-inline-final-027:hover,
.book-link.secondary.aroma-inline-final-028:hover {
  background: #f3fff7 !important;
  color: #0f4b29 !important;
  border-color: #f3fff7 !important;
}

/* Batch 94: hard contrast reinforcement for laser dark/green CTA areas.
   Fixes low-contrast white/cream text on white buttons. */
body.theme-laser .cta a.btn-secondary,
body.theme-laser .cta a.btn-ghost,
body.theme-laser .dark-section a.btn-secondary,
body.theme-laser .dark-section a.btn-ghost,
body.theme-laser .cta-band a.book-link.secondary,
body.theme-laser .cta-band a.aroma-inline-final-027,
body.theme-laser .cta-band a.aroma-inline-final-028,
body.theme-laser a.aroma-inline-btn-white-outline,
body.theme-laser section[class*="bg-"] a.aroma-inline-btn-white-outline,
body.theme-laser section[class*="bg-"] a[href*="mdwareonline"],
body.theme-laser section[class*="bg-"] a[href*="pricing"],
body.theme-laser section[class*="bg-"] a[href*="technology"],
body.theme-laser section[class*="dark"] a[href*="technology"],
body.theme-laser .dark-section a[href*="technology"],
body.theme-laser .dark-panel a[href*="technology"] {
  background: #ffffff !important;
  color: #145a32 !important;
  border-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

body.theme-laser .cta a.btn-secondary:hover,
body.theme-laser .cta a.btn-ghost:hover,
body.theme-laser .dark-section a.btn-secondary:hover,
body.theme-laser .dark-section a.btn-ghost:hover,
body.theme-laser .cta-band a.book-link.secondary:hover,
body.theme-laser .cta-band a.aroma-inline-final-027:hover,
body.theme-laser .cta-band a.aroma-inline-final-028:hover,
body.theme-laser a.aroma-inline-btn-white-outline:hover,
body.theme-laser section[class*="bg-"] a.aroma-inline-btn-white-outline:hover,
body.theme-laser section[class*="bg-"] a[href*="mdwareonline"]:hover,
body.theme-laser section[class*="bg-"] a[href*="pricing"]:hover,
body.theme-laser section[class*="bg-"] a[href*="technology"]:hover,
body.theme-laser section[class*="dark"] a[href*="technology"]:hover,
body.theme-laser .dark-section a[href*="technology"]:hover,
body.theme-laser .dark-panel a[href*="technology"]:hover {
  background: #f3fff7 !important;
  color: #0f4b29 !important;
  border-color: #f3fff7 !important;
}

/* Dark-section pill labels such as Technology and fit */
body.theme-laser .dark-section .eyebrow,
body.theme-laser .dark-panel .eyebrow,
body.theme-laser .cta .eyebrow,
body.theme-laser .dark-section .section-tag,
body.theme-laser .dark-panel .section-tag,
body.theme-laser .cta .section-tag,
body.theme-laser .laser-hair-removal-preparation-toronto-clean-14,
body.theme-laser .aroma-laser-kicker {
  background: #ffffff !important;
  color: #145a32 !important;
  border: 1px solid rgba(255, 255, 255, 0.95) !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

/* Make CTA secondary buttons visibly different but still readable */
body.theme-laser .cta-band a.book-link.secondary,
body.theme-laser .cta-band a.aroma-inline-final-027,
body.theme-laser .cta-band a.aroma-inline-final-028 {
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12) !important;
}

/* Batch 95: urgent readable laser CTA/buttons.
   This removes the weak white/cream text problem by forcing dark text on all white CTA buttons used in laser sections. */

/* Final CTA and laser green/dark panels */
.cta .btn-secondary,
.cta .btn-ghost,
.cta .book-link.secondary,
.cta-band .book-link.secondary,
.dark-section .btn-secondary,
.dark-section .btn-ghost,
.dark-panel .btn-secondary,
.dark-panel .btn-ghost,
section.bg-\[\#12B24B\] a.aroma-inline-btn-white-outline,
section.bg-\[\#12B24B\] a[href*="mdwareonline"],
section.bg-\[\#12B24B\] a[href*="pricing"],
section.bg-\[\#12B24B\] a[href*="technology"],
section[class*="bg-"] a.aroma-inline-btn-white-outline,
section[class*="bg-"] a[href*="mdwareonline"],
section[class*="bg-"] a[href*="pricing"],
section[class*="bg-"] a[href*="technology"],
a.aroma-inline-btn-white-outline,
a.aroma-inline-final-027,
a.aroma-inline-final-028 {
  background: #ffffff !important;
  color: #06451f !important;
  border-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #06451f !important;
}

/* Make the text itself dark even if a child/span gets an old color */
.cta .btn-secondary *,
.cta .btn-ghost *,
.cta .book-link.secondary *,
.cta-band .book-link.secondary *,
.dark-section .btn-secondary *,
.dark-section .btn-ghost *,
.dark-panel .btn-secondary *,
.dark-panel .btn-ghost *,
section[class*="bg-"] a.aroma-inline-btn-white-outline *,
section[class*="bg-"] a[href*="mdwareonline"] *,
section[class*="bg-"] a[href*="pricing"] *,
section[class*="bg-"] a[href*="technology"] *,
a.aroma-inline-btn-white-outline *,
a.aroma-inline-final-027 *,
a.aroma-inline-final-028 * {
  color: #06451f !important;
  -webkit-text-fill-color: #06451f !important;
}

/* Hover stays readable */
.cta .btn-secondary:hover,
.cta .btn-ghost:hover,
.cta .book-link.secondary:hover,
.cta-band .book-link.secondary:hover,
.dark-section .btn-secondary:hover,
.dark-section .btn-ghost:hover,
.dark-panel .btn-secondary:hover,
.dark-panel .btn-ghost:hover,
section[class*="bg-"] a.aroma-inline-btn-white-outline:hover,
section[class*="bg-"] a[href*="mdwareonline"]:hover,
section[class*="bg-"] a[href*="pricing"]:hover,
section[class*="bg-"] a[href*="technology"]:hover,
a.aroma-inline-btn-white-outline:hover,
a.aroma-inline-final-027:hover,
a.aroma-inline-final-028:hover {
  background: #eafff1 !important;
  color: #043817 !important;
  border-color: #eafff1 !important;
  -webkit-text-fill-color: #043817 !important;
}

/* Pills / eyebrow labels in dark sections */
.dark-section .eyebrow,
.dark-panel .eyebrow,
.cta .eyebrow,
.dark-section .section-tag,
.dark-panel .section-tag,
.cta .section-tag,
.laser-hair-removal-preparation-toronto-clean-14,
.aroma-laser-kicker,
.aroma-laser-cta-eyebrow,
.aroma-inline-final-026 {
  background: #ffffff !important;
  color: #06451f !important;
  border-color: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #06451f !important;
}

/* Very specific Brazilian laser final CTA backup */
.brazilian-laser-toronto .cta-band a,
body:has(.cta-band) .cta-band a.book-link.secondary {
  color: #06451f !important;
  -webkit-text-fill-color: #06451f !important;
}

/* source:css/laser-visual-unifier-v1.css */
/*
  Aroma Laser Visual Unifier v1
  Scope: only pages with body.theme-laser.laser-clean-v1
  Purpose: make laser guide pages feel closer to Aroma's waxing/sugaring layout while keeping the laser pages colourful.
  Safe approach: one final stylesheet loaded last. No minified page CSS was edited.
*/

body.theme-laser.laser-clean-v1 {
  --laser-clean-ink: #173746;
  --laser-clean-muted: #5d7280;
  --laser-clean-blue: #256f8c;
  --laser-clean-blue-soft: #eaf6fa;
  --laser-clean-blue-border: rgba(37, 111, 140, 0.2);
  --laser-clean-card: #ffffff;
  --laser-clean-surface: #f7fbfc;
  --laser-clean-shadow: 0 18px 42px rgba(20, 58, 74, 0.09);
  --laser-clean-radius: 22px;
}

/* 1. Guide hero clean-up. Keeps the laser-blue personality, removes the generic green-template feeling. */
body.theme-laser.laser-clean-v1 > section[class*="bg-gradient-to-br"] {
  background: linear-gradient(
    135deg,
    #eef9fc 0%,
    #ffffff 58%,
    #f7fbfc 100%
  ) !important;
  border-bottom: 1px solid var(--laser-clean-blue-border);
  padding-top: clamp(48px, 7vw, 88px) !important;
  padding-bottom: clamp(44px, 6vw, 76px) !important;
}

body.theme-laser.laser-clean-v1 > section[class*="bg-gradient-to-br"] h1 {
  color: var(--laser-clean-ink) !important;
  letter-spacing: -0.035em;
}

body.theme-laser.laser-clean-v1 > section[class*="bg-gradient-to-br"] p {
  color: var(--laser-clean-muted) !important;
}

/* 2. Main page rhythm. This is intentionally light so it does not fight the existing page code. */
body.theme-laser.laser-clean-v1 main {
  color: var(--laser-clean-ink);
}

body.theme-laser.laser-clean-v1 main h2,
body.theme-laser.laser-clean-v1 main h3 {
  color: var(--laser-clean-ink);
}

body.theme-laser.laser-clean-v1 main section {
  scroll-margin-top: 110px;
}

/* 3. Utility-template cards. Turns heavy full-colour blocks into Aroma-style cards with colour accents. */
body.theme-laser.laser-clean-v1 main .bg-black.rounded-xl.p-6,
body.theme-laser.laser-clean-v1 main .bg-gray-800.rounded-xl.p-6,
body.theme-laser.laser-clean-v1 main .bg-amber-600.rounded-xl.p-6,
body.theme-laser.laser-clean-v1 main .bg-red-500.rounded-xl.p-6,
body.theme-laser.laser-clean-v1 main .bg-yellow-400.rounded-xl.p-6,
body.theme-laser.laser-clean-v1 main .bg-gray-400.rounded-xl.p-6 {
  --laser-card-accent: var(--laser-clean-blue);
  background: var(--laser-clean-card) !important;
  color: var(--laser-clean-ink) !important;
  border: 1px solid var(--laser-clean-blue-border) !important;
  border-left: 7px solid var(--laser-card-accent) !important;
  border-radius: var(--laser-clean-radius) !important;
  box-shadow: var(--laser-clean-shadow);
}

body.theme-laser.laser-clean-v1 main .bg-black.rounded-xl.p-6 {
  --laser-card-accent: #111827;
}
body.theme-laser.laser-clean-v1 main .bg-gray-800.rounded-xl.p-6 {
  --laser-card-accent: #334155;
}
body.theme-laser.laser-clean-v1 main .bg-amber-600.rounded-xl.p-6 {
  --laser-card-accent: #d88900;
}
body.theme-laser.laser-clean-v1 main .bg-red-500.rounded-xl.p-6 {
  --laser-card-accent: #d94d3f;
}
body.theme-laser.laser-clean-v1 main .bg-yellow-400.rounded-xl.p-6 {
  --laser-card-accent: #e3b300;
}
body.theme-laser.laser-clean-v1 main .bg-gray-400.rounded-xl.p-6 {
  --laser-card-accent: #8a98a8;
}

body.theme-laser.laser-clean-v1 main .bg-black.rounded-xl.p-6 *,
body.theme-laser.laser-clean-v1 main .bg-gray-800.rounded-xl.p-6 *,
body.theme-laser.laser-clean-v1 main .bg-amber-600.rounded-xl.p-6 *,
body.theme-laser.laser-clean-v1 main .bg-red-500.rounded-xl.p-6 *,
body.theme-laser.laser-clean-v1 main .bg-yellow-400.rounded-xl.p-6 *,
body.theme-laser.laser-clean-v1 main .bg-gray-400.rounded-xl.p-6 * {
  color: inherit !important;
}

body.theme-laser.laser-clean-v1 main .bg-black.rounded-xl.p-6 h3,
body.theme-laser.laser-clean-v1 main .bg-gray-800.rounded-xl.p-6 h3,
body.theme-laser.laser-clean-v1 main .bg-amber-600.rounded-xl.p-6 h3,
body.theme-laser.laser-clean-v1 main .bg-red-500.rounded-xl.p-6 h3,
body.theme-laser.laser-clean-v1 main .bg-yellow-400.rounded-xl.p-6 h3,
body.theme-laser.laser-clean-v1 main .bg-gray-400.rounded-xl.p-6 h3 {
  color: var(--laser-card-accent) !important;
}

body.theme-laser.laser-clean-v1 main .bg-black.rounded-xl.p-6 .rounded-full,
body.theme-laser.laser-clean-v1 main .bg-gray-800.rounded-xl.p-6 .rounded-full,
body.theme-laser.laser-clean-v1 main .bg-amber-600.rounded-xl.p-6 .rounded-full,
body.theme-laser.laser-clean-v1 main .bg-red-500.rounded-xl.p-6 .rounded-full,
body.theme-laser.laser-clean-v1
  main
  .bg-yellow-400.rounded-xl.p-6
  .rounded-full,
body.theme-laser.laser-clean-v1 main .bg-gray-400.rounded-xl.p-6 .rounded-full {
  background: #f3f9fb !important;
  border: 1px solid var(--laser-clean-blue-border) !important;
  color: var(--laser-card-accent) !important;
  background: color-mix(
    in srgb,
    var(--laser-card-accent) 14%,
    white
  ) !important;
  border-color: color-mix(
    in srgb,
    var(--laser-card-accent) 28%,
    white
  ) !important;
}

/* 4. Softer guide/info cards. Keeps useful colour hints, but stops every panel from feeling like a separate template. */
body.theme-laser.laser-clean-v1 main .bg-green-50.rounded-xl,
body.theme-laser.laser-clean-v1 main .bg-blue-50.rounded-xl,
body.theme-laser.laser-clean-v1 main .bg-sky-50.rounded-xl,
body.theme-laser.laser-clean-v1 main .bg-gray-50.rounded-xl,
body.theme-laser.laser-clean-v1 main .bg-amber-50.rounded-xl {
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    var(--laser-clean-surface) 100%
  ) !important;
  border-color: var(--laser-clean-blue-border) !important;
  border-radius: var(--laser-clean-radius) !important;
  box-shadow: 0 12px 28px rgba(20, 58, 74, 0.06);
}

body.theme-laser.laser-clean-v1 main .border-green-100,
body.theme-laser.laser-clean-v1 main .border-green-200 {
  border-color: var(--laser-clean-blue-border) !important;
}

/* 5. Related link cards. Gives guide pages the same cleaner card language as the stronger service pages. */
body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-18,
body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-08,
body.theme-laser.laser-clean-v1 main a[class*="rounded-xl"],
body.theme-laser.laser-clean-v1 main a[class*="rounded-2xl"] {
  border-radius: var(--laser-clean-radius) !important;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-18:hover,
body.theme-laser.laser-clean-v1 main a[class*="rounded-xl"]:hover,
body.theme-laser.laser-clean-v1 main a[class*="rounded-2xl"]:hover {
  transform: translateY(-2px);
  box-shadow: var(--laser-clean-shadow);
}

/* 6. Buttons. Keep brand green CTAs, but make secondary/action buttons more readable. */
body.theme-laser.laser-clean-v1 .btn-primary,
body.theme-laser.laser-clean-v1 a.btn-primary,
body.theme-laser.laser-clean-v1 button.btn-primary {
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(18, 178, 75, 0.18);
}

body.theme-laser.laser-clean-v1
  main
  a[class*="border"][class*="rounded-full"]:not(.btn-primary) {
  border-color: var(--laser-clean-blue-border) !important;
}

/* 7. Mobile polish. */
@media (max-width: 768px) {
  body.theme-laser.laser-clean-v1 > section[class*="bg-gradient-to-br"] {
    padding-top: 38px !important;
    padding-bottom: 40px !important;
  }

  body.theme-laser.laser-clean-v1 main .flex.items-center.justify-between {
    align-items: flex-start;
    gap: 14px;
  }

  body.theme-laser.laser-clean-v1
    main
    .flex.items-center.justify-between
    .rounded-full {
    white-space: normal;
    text-align: center;
  }
}

/* 8. Related laser pages refresh, no icons, no check marks.
   Keeps the section text-only, but removes the old underlined-link/card feel. */
body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl {
  background: linear-gradient(180deg, #f9fdfe 0%, #ffffff 100%) !important;
  border: 1px solid rgba(37, 111, 140, 0.16) !important;
  border-radius: 30px !important;
  box-shadow: 0 18px 46px rgba(20, 58, 74, 0.07);
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  h2 {
  color: var(--laser-clean-ink) !important;
  letter-spacing: -0.025em;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  p {
  color: var(--laser-clean-muted) !important;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%) !important;
  border: 1px solid rgba(37, 111, 140, 0.15) !important;
  border-radius: 24px !important;
  box-shadow: 0 10px 26px rgba(20, 58, 74, 0.055);
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--related-card-accent, var(--laser-clean-blue));
  opacity: 0.9;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block:nth-child(1) {
  --related-card-accent: #1f8aa5;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block:nth-child(2) {
  --related-card-accent: #7653a7;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block:nth-child(3) {
  --related-card-accent: #2f6fc4;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block:nth-child(4) {
  --related-card-accent: #5c7f99;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block:hover {
  border-color: color-mix(
    in srgb,
    var(--related-card-accent) 38%,
    white
  ) !important;
  box-shadow: 0 18px 42px rgba(20, 58, 74, 0.1);
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block
  h3,
body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block
  p,
body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block
  * {
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block
  h3 {
  color: var(--laser-clean-ink) !important;
  margin-bottom: 0.7rem !important;
  line-height: 1.2;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  .grid
  a.block
  p {
  color: var(--laser-clean-muted) !important;
  line-height: 1.65 !important;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  > div
  > p.mt-6 {
  margin-top: 1.5rem !important;
  padding: 1rem 1.1rem;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(37, 111, 140, 0.12);
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(20, 58, 74, 0.04);
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  > div
  > p.mt-6
  a {
  display: inline-flex;
  align-items: center;
  margin: 0.14rem 0.08rem;
  padding: 0.25rem 0.55rem;
  border-radius: 999px;
  background: rgba(37, 111, 140, 0.08);
  border: 1px solid rgba(37, 111, 140, 0.12);
  color: var(--laser-clean-blue) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-gray-50.border.border-gray-200.rounded-3xl
  > div
  > p.mt-6
  a:hover {
  background: rgba(37, 111, 140, 0.13);
  border-color: rgba(37, 111, 140, 0.22);
  text-decoration: none !important;
}

/* 9. Phase 3: cleaner colourful guide panels, no added icons.
   These rules calm down the remaining bright utility-template panels without removing the laser personality. */
body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="rounded-xl"][class*="p-6"] {
  --laser-panel-accent: var(--laser-clean-blue);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfe 100%) !important;
  border: 1px solid rgba(37, 111, 140, 0.15) !important;
  border-left: 6px solid var(--laser-panel-accent) !important;
  border-radius: var(--laser-clean-radius) !important;
  box-shadow: 0 12px 30px rgba(20, 58, 74, 0.065);
}

body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="from-cyan-50"] {
  --laser-panel-accent: #208aa6;
}
body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="from-blue-50"] {
  --laser-panel-accent: #2f6fc4;
}
body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="from-orange-50"] {
  --laser-panel-accent: #d97706;
}
body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="from-red-50"] {
  --laser-panel-accent: #dc4b3f;
}
body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="from-purple-50"] {
  --laser-panel-accent: #7653a7;
}
body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="from-green-50"] {
  --laser-panel-accent: #2f9b64;
}
body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="from-amber-50"] {
  --laser-panel-accent: #d88900;
}

body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="rounded-xl"][class*="p-6"]
  h3 {
  color: var(--laser-clean-ink) !important;
}

body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="rounded-xl"][class*="p-6"]
  span[class*="rounded-full"][class*="px-3"] {
  background: color-mix(
    in srgb,
    var(--laser-panel-accent) 12%,
    white
  ) !important;
  border: 1px solid color-mix(in srgb, var(--laser-panel-accent) 26%, white) !important;
  color: var(--laser-panel-accent) !important;
  letter-spacing: 0.02em;
}

body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="rounded-xl"][class*="p-6"]
  strong[class*="text-"] {
  color: var(--laser-panel-accent) !important;
}

body.theme-laser.laser-clean-v1
  main
  [class*="bg-gradient-to-r"][class*="rounded-xl"][class*="p-6"]:hover {
  box-shadow: 0 18px 40px rgba(20, 58, 74, 0.09);
}

/* 10. No icon / no checkmark cleanup for the laser guide/support pages only.
   Leaves numbers, text labels, and useful badges alone. */
body.theme-laser.laser-clean-v1 .service-trust-icon,
body.theme-laser.laser-clean-v1 main span.rounded-full.w-5.h-5,
body.theme-laser.laser-clean-v1 main span.rounded-full.w-6.h-6,
body.theme-laser.laser-clean-v1
  main
  div.text-center
  > div.rounded-full.w-16.h-16 {
  display: none !important;
}

body.theme-laser.laser-clean-v1
  main
  .flex.items-start
  > span.rounded-full
  + div {
  margin-left: 0 !important;
}

body.theme-laser.laser-clean-v1 .service-trust-item {
  gap: 0.45rem;
}

/* 11. Section CTA polish. Keeps CTAs readable and brand-friendly without touching global buttons. */
body.theme-laser.laser-clean-v1 main section[class*="bg-green-50"],
body.theme-laser.laser-clean-v1 main section[class*="bg-blue-50"],
body.theme-laser.laser-clean-v1 main section[class*="bg-sky-50"],
body.theme-laser.laser-clean-v1 main section[class*="bg-amber-50"],
body.theme-laser.laser-clean-v1 main section[class*="bg-red-50"],
body.theme-laser.laser-clean-v1 main section[class*="bg-purple-50"] {
  border-radius: var(--laser-clean-radius) !important;
}

body.theme-laser.laser-clean-v1
  main
  [class*="bg-[#12B24B]"][class*="rounded-full"],
body.theme-laser.laser-clean-v1
  main
  [class*="bg-[#1FB25A]"][class*="rounded-full"],
body.theme-laser.laser-clean-v1
  main
  [class*="bg-[#2E9ED6]"][class*="rounded-full"] {
  box-shadow: 0 10px 22px rgba(18, 178, 75, 0.14);
}

/* 12. Phase 4: image cards for laser area links, no icons or check marks.
   Used for sections where linked service pages deserve a visual preview. */
body.theme-laser.laser-clean-v1 main .laser-image-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 1.4rem;
}

body.theme-laser.laser-clean-v1 main .laser-image-link-card {
  display: block;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(37, 111, 140, 0.16);
  border-radius: 24px;
  box-shadow: 0 12px 30px rgba(20, 58, 74, 0.065);
  color: var(--laser-clean-ink);
  text-decoration: none !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

body.theme-laser.laser-clean-v1 main .laser-image-link-card:hover {
  transform: translateY(-3px);
  border-color: rgba(37, 111, 140, 0.34);
  box-shadow: 0 18px 42px rgba(20, 58, 74, 0.105);
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 main .laser-image-link-card img {
  display: block;
  width: 100%;
  height: 120px;
  object-fit: cover;
  object-position: center;
  background: var(--laser-clean-blue-soft);
}

body.theme-laser.laser-clean-v1 main .laser-image-link-card-body {
  padding: 22px 24px 24px;
}

body.theme-laser.laser-clean-v1 main .laser-image-link-card h3 {
  margin: 0 0 0.65rem;
  color: var(--laser-clean-ink) !important;
  font-size: clamp(1.15rem, 1.5vw, 1.35rem);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -0.015em;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 main .laser-image-link-card p {
  margin: 0;
  color: var(--laser-clean-muted) !important;
  font-size: 1rem;
  line-height: 1.7;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 main .laser-image-link-card *,
body.theme-laser.laser-clean-v1 main .laser-image-link-card:hover * {
  text-decoration: none !important;
}

/* 13. Phase 4: softer Important and disclaimer boxes on laser guide pages.
   Keeps safety language visible, but makes it calmer and easier to read. */
body.theme-laser.laser-clean-v1
  main
  section.bg-amber-50.border.border-amber-200.rounded-xl.p-6,
body.theme-laser.laser-clean-v1 main .laser-soft-note {
  background: linear-gradient(180deg, #fffaf4 0%, #fff7ef 100%) !important;
  border: 1px solid rgba(216, 137, 0, 0.22) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 28px rgba(108, 74, 36, 0.055);
  padding: clamp(1.35rem, 2.4vw, 1.75rem) !important;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-amber-50.border.border-amber-200.rounded-xl.p-6
  p,
body.theme-laser.laser-clean-v1 main .laser-soft-note p {
  margin: 0;
  color: #77512b !important;
  font-size: 1rem !important;
  line-height: 1.82 !important;
  letter-spacing: 0.002em;
}

body.theme-laser.laser-clean-v1
  main
  section.bg-amber-50.border.border-amber-200.rounded-xl.p-6
  strong,
body.theme-laser.laser-clean-v1 main .laser-soft-note strong {
  color: #9a4b14 !important;
  font-weight: 800;
}

@media (max-width: 768px) {
  body.theme-laser.laser-clean-v1 main .laser-image-card-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-link-card img {
    height: 110px;
  }
}

/* 14. Phase 6: image previews on related laser guide cards across the cleaned laser pages.
   Uses the destination page image, keeps thumbnails small, and avoids icons/check marks. */
body.theme-laser.laser-clean-v1 main .laser-image-card-grid.is-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 980px) {
  body.theme-laser.laser-clean-v1 main .laser-image-card-grid.is-three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  body.theme-laser.laser-clean-v1 main .laser-image-card-grid.is-three {
    grid-template-columns: 1fr;
  }
}

/* 15. Phase 9: common "Plan your next laser step" panel polish.
   This keeps the helpful internal-link block, but makes it calmer and less template-like. */
body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13 {
  max-width: 1120px;
  margin: clamp(32px, 5vw, 56px) auto !important;
  padding: clamp(24px, 3vw, 34px) !important;
  border: 1px solid rgba(37, 111, 140, 0.16) !important;
  border-radius: 30px !important;
  background: radial-gradient(
      circle at top left,
      rgba(37, 111, 140, 0.08),
      transparent 34%
    ),
    linear-gradient(180deg, #ffffff 0%, #f8fcfd 100%) !important;
  box-shadow: 0 18px 44px rgba(20, 58, 74, 0.07) !important;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-14 {
  display: inline-flex;
  width: auto;
  margin: 0 0 0.55rem !important;
  padding: 0.35rem 0.7rem;
  border: 1px solid rgba(37, 111, 140, 0.16);
  border-radius: 999px;
  background: rgba(37, 111, 140, 0.08);
  color: var(--laser-clean-blue) !important;
  font-size: 0.78rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-15 {
  margin: 0 0 0.55rem !important;
  color: var(--laser-clean-ink) !important;
  font-size: clamp(1.75rem, 3vw, 2.35rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-16 {
  max-width: 760px;
  margin: 0 0 1.25rem !important;
  color: var(--laser-clean-muted) !important;
  font-size: 1rem !important;
  line-height: 1.7 !important;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-0710 {
  grid-template-columns: repeat(auto-fit, minmax(185px, 1fr)) !important;
  gap: 12px !important;
  margin-top: 1.2rem !important;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-18 {
  position: relative;
  min-height: 98px;
  padding: 16px 16px 16px 18px !important;
  overflow: hidden;
  border: 1px solid rgba(37, 111, 140, 0.14) !important;
  border-radius: 18px !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: 0 8px 20px rgba(20, 58, 74, 0.045) !important;
  text-decoration: none !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    background-color 0.18s ease;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-18::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--laser-panel-card-accent, var(--laser-clean-blue));
  opacity: 0.8;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-18:nth-child(3n + 1) {
  --laser-panel-card-accent: #256f8c;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-18:nth-child(3n + 2) {
  --laser-panel-card-accent: #6f5aa8;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-18:nth-child(3n) {
  --laser-panel-card-accent: #2f9b64;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-18:hover {
  transform: translateY(-2px);
  border-color: color-mix(
    in srgb,
    var(--laser-panel-card-accent) 34%,
    white
  ) !important;
  background: #ffffff !important;
  box-shadow: 0 14px 30px rgba(20, 58, 74, 0.09) !important;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-19 {
  display: block;
  margin: 0 0 0.35rem;
  color: var(--laser-clean-ink) !important;
  font-size: 0.98rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  .laser-hair-removal-preparation-toronto-clean-20 {
  display: block;
  color: var(--laser-clean-muted) !important;
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  a,
body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  a:hover,
body.theme-laser.laser-clean-v1
  .laser-hair-removal-preparation-toronto-clean-13
  a
  * {
  text-decoration: none !important;
}

@media (max-width: 640px) {
  body.theme-laser.laser-clean-v1
    .laser-hair-removal-preparation-toronto-clean-13 {
    border-radius: 24px !important;
    padding: 22px 16px !important;
  }

  body.theme-laser.laser-clean-v1
    .laser-hair-removal-preparation-toronto-clean-13
    .laser-hair-removal-preparation-toronto-clean-0710 {
    grid-template-columns: 1fr !important;
  }

  body.theme-laser.laser-clean-v1
    .laser-hair-removal-preparation-toronto-clean-13
    .laser-hair-removal-preparation-toronto-clean-18 {
    min-height: auto;
  }
}

/* 16. Phase 10: laser guide table polish.
   Keeps the useful comparison/pricing tables, but removes the boxy template look. */
body.theme-laser.laser-clean-v1 main .overflow-x-auto:has(table),
body.theme-laser.laser-clean-v1 main .overflow-hidden:has(table) {
  border: 1px solid rgba(37, 111, 140, 0.15) !important;
  border-radius: 24px !important;
  overflow: auto !important;
  background: #ffffff !important;
  box-shadow: 0 14px 34px rgba(20, 58, 74, 0.065) !important;
}

body.theme-laser.laser-clean-v1 main table,
body.theme-laser.laser-clean-v1 main table.comparison-table {
  width: 100% !important;
  min-width: 680px;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  color: var(--laser-clean-ink) !important;
  font-size: 0.96rem !important;
}

body.theme-laser.laser-clean-v1 main table thead,
body.theme-laser.laser-clean-v1 main table thead tr,
body.theme-laser.laser-clean-v1 main table tr[class*="bg-green-50"],
body.theme-laser.laser-clean-v1 main table tr[class*="bg-gray-50"]:first-child {
  background: linear-gradient(180deg, #eef9fc 0%, #f8fcfd 100%) !important;
}

body.theme-laser.laser-clean-v1 main table th {
  border: 0 !important;
  border-bottom: 1px solid rgba(37, 111, 140, 0.16) !important;
  padding: 15px 18px !important;
  color: var(--laser-clean-ink) !important;
  font-weight: 850 !important;
  line-height: 1.35 !important;
  text-align: left !important;
}

body.theme-laser.laser-clean-v1 main table td {
  border: 0 !important;
  border-bottom: 1px solid rgba(37, 111, 140, 0.1) !important;
  padding: 15px 18px !important;
  color: var(--laser-clean-muted) !important;
  line-height: 1.6 !important;
  vertical-align: top !important;
}

body.theme-laser.laser-clean-v1 main table tbody tr:last-child td {
  border-bottom: 0 !important;
}

body.theme-laser.laser-clean-v1 main table tbody tr:nth-child(even),
body.theme-laser.laser-clean-v1 main table tbody tr[class*="bg-gray-50"] {
  background: #fbfdfe !important;
}

body.theme-laser.laser-clean-v1 main table tbody tr[class*="bg-green-50"] {
  background: linear-gradient(
    90deg,
    rgba(18, 178, 75, 0.08) 0%,
    #ffffff 100%
  ) !important;
}

body.theme-laser.laser-clean-v1 main table tbody tr:hover {
  background: #f4fbfd !important;
}

body.theme-laser.laser-clean-v1 main table td:first-child,
body.theme-laser.laser-clean-v1 main table td.font-semibold,
body.theme-laser.laser-clean-v1 main table td[class*="font-semibold"] {
  color: var(--laser-clean-ink) !important;
  font-weight: 800 !important;
}

body.theme-laser.laser-clean-v1 main table a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.28rem 0.62rem;
  border: 1px solid rgba(37, 111, 140, 0.16);
  border-radius: 999px;
  background: rgba(37, 111, 140, 0.08);
  color: var(--laser-clean-blue) !important;
  font-size: 0.9em;
  font-weight: 800 !important;
  line-height: 1.25;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 main table a:hover {
  background: rgba(37, 111, 140, 0.14);
  border-color: rgba(37, 111, 140, 0.26);
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 main table .text-\[\#12B24B\],
body.theme-laser.laser-clean-v1 main table [class*="text-green"],
body.theme-laser.laser-clean-v1 main table [class*="text-red"],
body.theme-laser.laser-clean-v1 main table [class*="text-orange"] {
  font-weight: 750 !important;
}

body.theme-laser.laser-clean-v1 main table .text-\[\#12B24B\],
body.theme-laser.laser-clean-v1 main table [class*="text-green"] {
  color: #267b52 !important;
}

body.theme-laser.laser-clean-v1 main table [class*="text-red"] {
  color: #a8463f !important;
}

body.theme-laser.laser-clean-v1 main table [class*="text-orange"] {
  color: #9a5a1d !important;
}

@media (max-width: 768px) {
  body.theme-laser.laser-clean-v1 main table,
  body.theme-laser.laser-clean-v1 main table.comparison-table {
    min-width: 620px;
    font-size: 0.92rem !important;
  }

  body.theme-laser.laser-clean-v1 main table th,
  body.theme-laser.laser-clean-v1 main table td {
    padding: 13px 14px !important;
  }
}

/* 16. Phase 11: CTA buttons and booking blocks.
   Keeps the strong Aroma green booking action, but makes the laser guide CTAs cleaner,
   easier to read, and more consistent from page to page. */
body.theme-laser.laser-clean-v1 .btn-primary,
body.theme-laser.laser-clean-v1 a.btn-primary,
body.theme-laser.laser-clean-v1 button.btn-primary,
body.theme-laser.laser-clean-v1 .aroma-inline-btn-green-full,
body.theme-laser.laser-clean-v1 .aroma-inline-btn-white-green {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0.82rem 1.45rem !important;
  border: 1px solid rgba(32, 105, 80, 0.16) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #4fae74 0%, #2f7157 100%) !important;
  color: #ffffff !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 12px 24px rgba(47, 113, 87, 0.22) !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    filter 0.18s ease !important;
}

body.theme-laser.laser-clean-v1 .btn-primary:hover,
body.theme-laser.laser-clean-v1 a.btn-primary:hover,
body.theme-laser.laser-clean-v1 button.btn-primary:hover,
body.theme-laser.laser-clean-v1 .aroma-inline-btn-green-full:hover,
body.theme-laser.laser-clean-v1 .aroma-inline-btn-white-green:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 16px 32px rgba(47, 113, 87, 0.28) !important;
  filter: saturate(1.04) !important;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 .aroma-inline-btn-green-outline-full,
body.theme-laser.laser-clean-v1 .aroma-inline-btn-white-outline,
body.theme-laser.laser-clean-v1
  a[class*="border-2"][class*="rounded-full"]:not(.btn-primary),
body.theme-laser.laser-clean-v1
  a[class*="border-white"][class*="rounded-full"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 0.78rem 1.38rem !important;
  border: 1.5px solid rgba(37, 111, 140, 0.34) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--laser-clean-blue) !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 10px 22px rgba(20, 58, 74, 0.08) !important;
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    border-color 0.18s ease !important;
}

body.theme-laser.laser-clean-v1 .aroma-inline-btn-green-outline-full:hover,
body.theme-laser.laser-clean-v1 .aroma-inline-btn-white-outline:hover,
body.theme-laser.laser-clean-v1
  a[class*="border-2"][class*="rounded-full"]:not(.btn-primary):hover,
body.theme-laser.laser-clean-v1
  a[class*="border-white"][class*="rounded-full"]:hover {
  transform: translateY(-2px) !important;
  background: #f2fbfd !important;
  border-color: rgba(37, 111, 140, 0.52) !important;
  box-shadow: 0 14px 30px rgba(20, 58, 74, 0.12) !important;
  color: var(--laser-clean-blue) !important;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1
  #book-online.laser-hair-removal-preparation-toronto-clean-01,
body.theme-laser.laser-clean-v1 section#book-online {
  background: linear-gradient(180deg, #ffffff 0%, #f6fbfd 100%) !important;
  padding-top: clamp(42px, 5vw, 68px) !important;
  padding-bottom: clamp(42px, 5vw, 68px) !important;
}

body.theme-laser.laser-clean-v1
  #book-online
  .laser-hair-removal-preparation-toronto-clean-03 {
  background: linear-gradient(
    135deg,
    #f8fdff 0%,
    #ffffff 58%,
    #eef9fc 100%
  ) !important;
  border: 1px solid rgba(37, 111, 140, 0.18) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 44px rgba(20, 58, 74, 0.08) !important;
  padding: clamp(24px, 4vw, 38px) !important;
}

body.theme-laser.laser-clean-v1 #book-online .aroma-inline-eyebrow-green,
body.theme-laser.laser-clean-v1 #book-online .aroma-inline-kicker-green {
  color: var(--laser-clean-blue) !important;
  letter-spacing: 0.08em !important;
}

body.theme-laser.laser-clean-v1
  #book-online
  .laser-hair-removal-preparation-toronto-clean-05 {
  color: var(--laser-clean-ink) !important;
  letter-spacing: -0.025em !important;
}

body.theme-laser.laser-clean-v1 #book-online .aroma-inline-copy-dm-muted,
body.theme-laser.laser-clean-v1
  #book-online
  .laser-hair-removal-preparation-toronto-clean-10 {
  color: var(--laser-clean-muted) !important;
  line-height: 1.72 !important;
}

body.theme-laser.laser-clean-v1
  #book-online
  .laser-hair-removal-preparation-toronto-clean-08 {
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid rgba(37, 111, 140, 0.16) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 28px rgba(20, 58, 74, 0.065) !important;
  padding: 22px !important;
}

body.theme-laser.laser-clean-v1
  #book-online
  .laser-hair-removal-preparation-toronto-clean-08:first-child {
  border-top: 4px solid rgba(79, 174, 116, 0.72) !important;
}

body.theme-laser.laser-clean-v1
  #book-online
  .laser-hair-removal-preparation-toronto-clean-08:nth-child(2) {
  border-top: 4px solid rgba(37, 111, 140, 0.72) !important;
}

body.theme-laser.laser-clean-v1 > section[class*="bg-[#12B24B]"],
body.theme-laser.laser-clean-v1 section[class*="bg-[#12B24B]"] {
  background: linear-gradient(135deg, #2f7157 0%, #256f8c 100%) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.28) !important;
}

body.theme-laser.laser-clean-v1 > section[class*="bg-[#12B24B]"] h2,
body.theme-laser.laser-clean-v1 section[class*="bg-[#12B24B]"] h2 {
  color: #ffffff !important;
  letter-spacing: -0.025em !important;
}

body.theme-laser.laser-clean-v1 > section[class*="bg-[#12B24B]"] p,
body.theme-laser.laser-clean-v1 section[class*="bg-[#12B24B]"] p {
  color: rgba(255, 255, 255, 0.88) !important;
}

body.theme-laser.laser-clean-v1
  > section[class*="bg-[#12B24B]"]
  a[class*="border-2"],
body.theme-laser.laser-clean-v1
  section[class*="bg-[#12B24B]"]
  a[class*="border-2"] {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.68) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

body.theme-laser.laser-clean-v1
  > section[class*="bg-[#12B24B]"]
  a[class*="border-2"]:hover,
body.theme-laser.laser-clean-v1
  section[class*="bg-[#12B24B]"]
  a[class*="border-2"]:hover {
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: rgba(255, 255, 255, 0.92) !important;
  color: #ffffff !important;
}

@media (max-width: 768px) {
  body.theme-laser.laser-clean-v1 .btn-primary,
  body.theme-laser.laser-clean-v1 a.btn-primary,
  body.theme-laser.laser-clean-v1 button.btn-primary,
  body.theme-laser.laser-clean-v1 .aroma-inline-btn-green-full,
  body.theme-laser.laser-clean-v1 .aroma-inline-btn-white-green,
  body.theme-laser.laser-clean-v1 .aroma-inline-btn-green-outline-full,
  body.theme-laser.laser-clean-v1 .aroma-inline-btn-white-outline,
  body.theme-laser.laser-clean-v1
    a[class*="border-2"][class*="rounded-full"]:not(.btn-primary),
  body.theme-laser.laser-clean-v1
    a[class*="border-white"][class*="rounded-full"] {
    width: 100% !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-03 {
    padding: 22px !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-07 {
    gap: 16px !important;
  }
}

/* 17. Phase 12: FAQ / accordion polish.
   Keeps the existing FAQ JavaScript and schema untouched. This only makes the laser FAQ blocks
   softer, cleaner, and less like a pasted template. No icons or check marks added. */
body.theme-laser.laser-clean-v1 main .faq-list,
body.theme-laser.laser-clean-v1 .afaq-wrap,
body.theme-laser.laser-clean-v1 main .faq-wrap {
  display: grid !important;
  gap: 14px !important;
  margin-top: 1.25rem !important;
}

body.theme-laser.laser-clean-v1 main section:has(.faq-item),
body.theme-laser.laser-clean-v1 section.aroma-inline-extra-011:has(.faq-item) {
  max-width: 1120px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(28px, 4vw, 44px) !important;
  border: 1px solid rgba(37, 111, 140, 0.14) !important;
  border-radius: 30px !important;
  background: radial-gradient(
      circle at top left,
      rgba(37, 111, 140, 0.06),
      transparent 30%
    ),
    linear-gradient(180deg, #ffffff 0%, #f8fcfd 100%) !important;
  box-shadow: 0 18px 44px rgba(20, 58, 74, 0.065) !important;
}

body.theme-laser.laser-clean-v1 main section:has(.faq-item) > h2,
body.theme-laser.laser-clean-v1
  section.aroma-inline-extra-011:has(.faq-item)
  h2,
body.theme-laser.laser-clean-v1 .afaq-wrap h2 {
  margin-bottom: 1rem !important;
  color: var(--laser-clean-ink) !important;
  letter-spacing: -0.03em !important;
}

body.theme-laser.laser-clean-v1 .faq-item {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid rgba(37, 111, 140, 0.14) !important;
  border-radius: 20px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 8px 20px rgba(20, 58, 74, 0.04) !important;
  transition:
    border-color 0.18s ease,
    box-shadow 0.18s ease,
    background 0.18s ease,
    transform 0.18s ease !important;
}

body.theme-laser.laser-clean-v1 .faq-item:hover,
body.theme-laser.laser-clean-v1 .faq-item.open,
body.theme-laser.laser-clean-v1 .faq-item:has(> button[aria-expanded="true"]) {
  border-color: rgba(37, 111, 140, 0.28) !important;
  background: #ffffff !important;
  box-shadow: 0 14px 30px rgba(20, 58, 74, 0.075) !important;
}

body.theme-laser.laser-clean-v1 .faq-item::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: var(--laser-faq-accent, var(--laser-clean-blue));
  opacity: 0.72;
}

body.theme-laser.laser-clean-v1 .faq-item:nth-child(3n + 1) {
  --laser-faq-accent: #256f8c;
}
body.theme-laser.laser-clean-v1 .faq-item:nth-child(3n + 2) {
  --laser-faq-accent: #6f5aa8;
}
body.theme-laser.laser-clean-v1 .faq-item:nth-child(3n) {
  --laser-faq-accent: #2f9b64;
}

body.theme-laser.laser-clean-v1 .faq-q,
body.theme-laser.laser-clean-v1 .faq > button,
body.theme-laser.laser-clean-v1 .faq-btn {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 58px !important;
  padding: 19px 86px 19px 24px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--laser-clean-ink) !important;
  font-family: inherit !important;
  font-size: clamp(1rem, 1.6vw, 1.12rem) !important;
  font-weight: 850 !important;
  line-height: 1.36 !important;
  text-align: left !important;
  letter-spacing: -0.01em !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 .faq-q:hover,
body.theme-laser.laser-clean-v1 .faq-q:focus-visible {
  background: linear-gradient(
    90deg,
    rgba(37, 111, 140, 0.05),
    transparent 75%
  ) !important;
}

body.theme-laser.laser-clean-v1 .faq-q span,
body.theme-laser.laser-clean-v1 .faq-btn span {
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 .faq-q span::before,
body.theme-laser.laser-clean-v1 .faq-btn span::before {
  content: none !important;
}

body.theme-laser.laser-clean-v1 .faq-q::after,
body.theme-laser.laser-clean-v1 .faq > button::after,
body.theme-laser.laser-clean-v1 .faq-btn::after {
  content: "View" !important;
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  height: auto !important;
  min-width: 50px !important;
  padding: 0.34rem 0.62rem !important;
  border: 1px solid rgba(37, 111, 140, 0.16) !important;
  border-radius: 999px !important;
  background: rgba(37, 111, 140, 0.08) !important;
  color: var(--laser-clean-blue) !important;
  font-size: 0.74rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.04em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}

body.theme-laser.laser-clean-v1 .faq-item.open > .faq-q::after,
body.theme-laser.laser-clean-v1
  .faq-item:has(> .faq-q[aria-expanded="true"])
  > .faq-q::after,
body.theme-laser.laser-clean-v1 .faq.open > button::after,
body.theme-laser.laser-clean-v1
  .faq:has(> button[aria-expanded="true"])
  > button::after {
  content: "Hide" !important;
  background: color-mix(
    in srgb,
    var(--laser-faq-accent, var(--laser-clean-blue)) 14%,
    white
  ) !important;
  border-color: color-mix(
    in srgb,
    var(--laser-faq-accent, var(--laser-clean-blue)) 28%,
    white
  ) !important;
  color: var(--laser-faq-accent, var(--laser-clean-blue)) !important;
}

body.theme-laser.laser-clean-v1 .faq-a,
body.theme-laser.laser-clean-v1 .faq-answer,
body.theme-laser.laser-clean-v1 .faq-content {
  background: linear-gradient(
    180deg,
    rgba(248, 252, 253, 0.9),
    #ffffff
  ) !important;
  border-top: 1px solid rgba(37, 111, 140, 0.1) !important;
  color: var(--laser-clean-muted) !important;
  font-size: 1rem !important;
  line-height: 1.76 !important;
}

body.theme-laser.laser-clean-v1 .faq-a p,
body.theme-laser.laser-clean-v1 .faq-answer p,
body.theme-laser.laser-clean-v1 .faq-content p,
body.theme-laser.laser-clean-v1 .faq-a li,
body.theme-laser.laser-clean-v1 .faq-answer li,
body.theme-laser.laser-clean-v1 .faq-content li {
  color: var(--laser-clean-muted) !important;
  font-size: 1rem !important;
  line-height: 1.76 !important;
}

body.theme-laser.laser-clean-v1 .faq-a a,
body.theme-laser.laser-clean-v1 .faq-answer a,
body.theme-laser.laser-clean-v1 .faq-content a {
  color: var(--laser-clean-blue) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.theme-laser.laser-clean-v1 .faq-a a:hover,
body.theme-laser.laser-clean-v1 .faq-answer a:hover,
body.theme-laser.laser-clean-v1 .faq-content a:hover {
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
}

@media (max-width: 768px) {
  body.theme-laser.laser-clean-v1 main section:has(.faq-item),
  body.theme-laser.laser-clean-v1
    section.aroma-inline-extra-011:has(.faq-item) {
    padding: 22px 16px !important;
    border-radius: 24px !important;
  }

  body.theme-laser.laser-clean-v1 .faq-list,
  body.theme-laser.laser-clean-v1 .afaq-wrap,
  body.theme-laser.laser-clean-v1 main .faq-wrap {
    gap: 12px !important;
  }

  body.theme-laser.laser-clean-v1 .faq-q,
  body.theme-laser.laser-clean-v1 .faq > button,
  body.theme-laser.laser-clean-v1 .faq-btn {
    padding: 17px 72px 17px 20px !important;
    font-size: 1rem !important;
  }

  body.theme-laser.laser-clean-v1 .faq-q::after,
  body.theme-laser.laser-clean-v1 .faq > button::after,
  body.theme-laser.laser-clean-v1 .faq-btn::after {
    right: 14px !important;
    min-width: 46px !important;
    padding: 0.32rem 0.52rem !important;
    font-size: 0.68rem !important;
  }
}

/* 18. Phase 13: hero, trust strip, and opening section rhythm.
   Keeps the laser guide heroes colourful, but makes the top of each page feel calmer
   and closer to the polished Aroma service-page system. */
body.theme-laser.laser-clean-v1
  > section[id="main-content"][class*="bg-gradient-to-br"] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: radial-gradient(
      circle at 12% 18%,
      rgba(46, 158, 214, 0.16),
      transparent 28%
    ),
    radial-gradient(
      circle at 88% 10%,
      rgba(111, 90, 168, 0.11),
      transparent 24%
    ),
    linear-gradient(135deg, #eef9fc 0%, #ffffff 58%, #f8fcfd 100%) !important;
  border-bottom: 1px solid rgba(37, 111, 140, 0.14) !important;
  padding-top: clamp(52px, 7vw, 86px) !important;
  padding-bottom: clamp(46px, 6vw, 74px) !important;
}

body.theme-laser.laser-clean-v1
  > section[id="main-content"][class*="bg-gradient-to-br"]::before {
  content: "";
  position: absolute;
  inset: 18px 18px auto auto;
  width: min(280px, 38vw);
  height: min(280px, 38vw);
  border-radius: 999px;
  background: rgba(46, 158, 214, 0.07);
  filter: blur(2px);
  z-index: -1;
}

body.theme-laser.laser-clean-v1
  > section[id="main-content"][class*="bg-gradient-to-br"]
  > div {
  max-width: 900px !important;
}

body.theme-laser.laser-clean-v1
  > section[id="main-content"][class*="bg-gradient-to-br"]
  p:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  margin-bottom: 0.95rem !important;
  padding: 0.4rem 0.78rem;
  border: 1px solid rgba(37, 111, 140, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--laser-clean-blue) !important;
  font-size: 0.78rem !important;
  font-weight: 850 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase;
  box-shadow: 0 8px 20px rgba(20, 58, 74, 0.045);
}

body.theme-laser.laser-clean-v1
  > section[id="main-content"][class*="bg-gradient-to-br"]
  h1 {
  max-width: 860px;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 1.1rem !important;
  color: var(--laser-clean-ink) !important;
  font-size: clamp(2.35rem, 5vw, 4.15rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.055em !important;
}

body.theme-laser.laser-clean-v1
  > section[id="main-content"][class*="bg-gradient-to-br"]
  h1
  + p {
  max-width: 740px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 1.55rem !important;
  color: var(--laser-clean-muted) !important;
  font-size: clamp(1.05rem, 2vw, 1.22rem) !important;
  line-height: 1.72 !important;
}

body.theme-laser.laser-clean-v1
  > section[id="main-content"][class*="bg-gradient-to-br"]
  .flex.flex-col.sm\:flex-row {
  margin-top: 0.65rem !important;
  gap: 0.85rem !important;
}

body.theme-laser.laser-clean-v1
  > section[id="main-content"][class*="bg-gradient-to-br"]
  .text-sm.text-gray-400.mt-4 {
  display: inline-block;
  margin-top: 1rem !important;
  padding: 0.38rem 0.75rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  color: rgba(23, 55, 70, 0.62) !important;
  font-weight: 650;
}

body.theme-laser.laser-clean-v1 .service-trust-strip.service-trust-laser {
  margin: 0 !important;
  padding: 13px 16px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  border-top: 1px solid rgba(37, 111, 140, 0.08) !important;
  border-bottom: 1px solid rgba(37, 111, 140, 0.12) !important;
  box-shadow: 0 10px 24px rgba(20, 58, 74, 0.035);
}

body.theme-laser.laser-clean-v1
  .service-trust-strip.service-trust-laser
  .service-trust-inner {
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

body.theme-laser.laser-clean-v1
  .service-trust-strip.service-trust-laser
  .service-trust-item {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: 34px;
  padding: 0.44rem 0.72rem !important;
  border: 1px solid rgba(37, 111, 140, 0.12);
  border-radius: 999px;
  background: #ffffff;
  color: var(--laser-clean-muted) !important;
  box-shadow: 0 6px 14px rgba(20, 58, 74, 0.03);
}

body.theme-laser.laser-clean-v1
  .service-trust-strip.service-trust-laser
  .service-trust-text {
  color: var(--laser-clean-muted) !important;
  font-size: 0.9rem !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
}

body.theme-laser.laser-clean-v1 main.max-w-5xl,
body.theme-laser.laser-clean-v1 main[class*="max-w-5xl"] {
  padding-top: clamp(34px, 4vw, 52px) !important;
}

body.theme-laser.laser-clean-v1
  main
  > section.aroma-laser-side-section.in-main:first-child,
body.theme-laser.laser-clean-v1
  main
  > section.mb-12.aroma-laser-side-section.in-main:first-child {
  gap: clamp(22px, 3.2vw, 34px) !important;
  align-items: stretch !important;
  margin-bottom: clamp(36px, 5vw, 58px) !important;
}

body.theme-laser.laser-clean-v1
  main
  > section.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-card,
body.theme-laser.laser-clean-v1
  main
  > section.mb-12.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(180deg, #ffffff 0%, #f9fdfe 100%) !important;
  border: 1px solid rgba(37, 111, 140, 0.16) !important;
  border-radius: 28px !important;
  padding: clamp(26px, 3.2vw, 38px) !important;
  box-shadow: 0 18px 44px rgba(20, 58, 74, 0.075) !important;
}

body.theme-laser.laser-clean-v1
  main
  > section.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-card
  h2,
body.theme-laser.laser-clean-v1
  main
  > section.mb-12.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-card
  h2 {
  max-width: 720px;
  margin-bottom: 1rem !important;
  color: var(--laser-clean-ink) !important;
  font-size: clamp(1.7rem, 3vw, 2.35rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.035em !important;
}

body.theme-laser.laser-clean-v1
  main
  > section.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-card
  p,
body.theme-laser.laser-clean-v1
  main
  > section.mb-12.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-card
  p {
  color: var(--laser-clean-muted) !important;
  font-size: 1.02rem !important;
  line-height: 1.78 !important;
}

body.theme-laser.laser-clean-v1
  main
  > section.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-visual,
body.theme-laser.laser-clean-v1
  main
  > section.mb-12.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-visual {
  border: 1px solid rgba(37, 111, 140, 0.16) !important;
  border-radius: 28px !important;
  box-shadow: 0 18px 42px rgba(20, 58, 74, 0.095) !important;
}

body.theme-laser.laser-clean-v1
  main
  > section.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-visual
  img,
body.theme-laser.laser-clean-v1
  main
  > section.mb-12.aroma-laser-side-section.in-main:first-child
  .aroma-laser-side-visual
  img {
  height: clamp(300px, 34vw, 420px) !important;
}

@media (max-width: 860px) {
  body.theme-laser.laser-clean-v1
    > section[id="main-content"][class*="bg-gradient-to-br"] {
    padding-top: 40px !important;
    padding-bottom: 42px !important;
  }

  body.theme-laser.laser-clean-v1
    > section[id="main-content"][class*="bg-gradient-to-br"]
    h1 {
    font-size: clamp(2.1rem, 9vw, 3rem) !important;
    line-height: 1.07 !important;
  }

  body.theme-laser.laser-clean-v1 .service-trust-strip.service-trust-laser {
    padding: 10px 12px !important;
  }

  body.theme-laser.laser-clean-v1
    .service-trust-strip.service-trust-laser
    .service-trust-inner {
    justify-content: flex-start !important;
    overflow-x: auto;
    flex-wrap: nowrap !important;
    padding-bottom: 2px;
    scrollbar-width: thin;
  }

  body.theme-laser.laser-clean-v1
    .service-trust-strip.service-trust-laser
    .service-trust-item {
    flex: 0 0 auto;
    max-width: 86vw;
  }

  body.theme-laser.laser-clean-v1
    main
    > section.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-card,
  body.theme-laser.laser-clean-v1
    main
    > section.mb-12.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-card {
    padding: 24px !important;
  }

  body.theme-laser.laser-clean-v1
    main
    > section.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-visual
    img,
  body.theme-laser.laser-clean-v1
    main
    > section.mb-12.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-visual
    img {
    height: auto !important;
    max-height: 420px !important;
  }
}

/* 19. Phase 14: focused mobile pass.
   This is a mobile-only cleanup for the laser guide/support pages.
   It keeps the desktop styling from Phase 13 and only improves stacking, spacing,
   tap targets, small image cards, FAQ buttons, tables, and CTA blocks on phones. */
@media (max-width: 768px) {
  body.theme-laser.laser-clean-v1 {
    --laser-mobile-gutter: 16px;
  }

  body.theme-laser.laser-clean-v1 main,
  body.theme-laser.laser-clean-v1 main.max-w-5xl,
  body.theme-laser.laser-clean-v1 main[class*="max-w-5xl"],
  body.theme-laser.laser-clean-v1 main[class*="max-w-6xl"],
  body.theme-laser.laser-clean-v1 main[class*="max-w-7xl"] {
    width: 100% !important;
    padding-left: var(--laser-mobile-gutter) !important;
    padding-right: var(--laser-mobile-gutter) !important;
  }

  body.theme-laser.laser-clean-v1
    > section[id="main-content"][class*="bg-gradient-to-br"] {
    padding-left: var(--laser-mobile-gutter) !important;
    padding-right: var(--laser-mobile-gutter) !important;
    padding-top: 36px !important;
    padding-bottom: 38px !important;
  }

  body.theme-laser.laser-clean-v1
    > section[id="main-content"][class*="bg-gradient-to-br"]
    p:first-child {
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    font-size: 0.7rem !important;
    line-height: 1.25 !important;
  }

  body.theme-laser.laser-clean-v1
    > section[id="main-content"][class*="bg-gradient-to-br"]
    h1 {
    max-width: 620px !important;
    font-size: clamp(2rem, 10.5vw, 2.85rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -0.045em !important;
  }

  body.theme-laser.laser-clean-v1
    > section[id="main-content"][class*="bg-gradient-to-br"]
    h1
    + p {
    max-width: 560px !important;
    font-size: 1rem !important;
    line-height: 1.62 !important;
    margin-bottom: 1.25rem !important;
  }

  body.theme-laser.laser-clean-v1
    > section[id="main-content"][class*="bg-gradient-to-br"]
    .flex.flex-col.sm\:flex-row,
  body.theme-laser.laser-clean-v1 main .flex.flex-col.sm\:flex-row,
  body.theme-laser.laser-clean-v1 main .flex.flex-col.md\:flex-row {
    width: 100% !important;
    gap: 0.7rem !important;
  }

  body.theme-laser.laser-clean-v1 main .grid,
  body.theme-laser.laser-clean-v1
    .laser-hair-removal-preparation-toronto-clean-07,
  body.theme-laser.laser-clean-v1 .aroma-inline-grid-3,
  body.theme-laser.laser-clean-v1
    .laser-hair-removal-preparation-toronto-clean-0710,
  body.theme-laser.laser-clean-v1 .laser-image-card-grid,
  body.theme-laser.laser-clean-v1 .laser-image-card-grid.is-three {
    grid-template-columns: 1fr !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.bg-gray-50.border.border-gray-200.rounded-3xl,
  body.theme-laser.laser-clean-v1
    .laser-hair-removal-preparation-toronto-clean-13,
  body.theme-laser.laser-clean-v1 main section:has(.faq-item),
  body.theme-laser.laser-clean-v1
    main
    section.bg-amber-50.border.border-amber-200.rounded-xl.p-6,
  body.theme-laser.laser-clean-v1 main .laser-soft-note {
    border-radius: 22px !important;
    padding: 20px 16px !important;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-card-grid {
    gap: 14px !important;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-link-card {
    display: grid !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    align-items: stretch !important;
    border-radius: 20px !important;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-link-card img {
    width: 92px !important;
    height: 100% !important;
    min-height: 108px !important;
    object-fit: cover !important;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-link-card-body {
    padding: 15px 16px !important;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-link-card h3 {
    margin-bottom: 0.42rem !important;
    font-size: 1.04rem !important;
    line-height: 1.22 !important;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-link-card p {
    font-size: 0.92rem !important;
    line-height: 1.48 !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.bg-gray-50.border.border-gray-200.rounded-3xl
    .grid
    a.block {
    padding: 20px 18px !important;
    border-radius: 20px !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.bg-gray-50.border.border-gray-200.rounded-3xl
    .grid
    a.block
    h3 {
    font-size: 1.05rem !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.bg-gray-50.border.border-gray-200.rounded-3xl
    .grid
    a.block
    p {
    font-size: 0.94rem !important;
    line-height: 1.55 !important;
  }

  body.theme-laser.laser-clean-v1
    .service-trust-strip.service-trust-laser
    .service-trust-inner {
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.theme-laser.laser-clean-v1
    .service-trust-strip.service-trust-laser
    .service-trust-inner::-webkit-scrollbar {
    display: none;
  }

  body.theme-laser.laser-clean-v1
    .service-trust-strip.service-trust-laser
    .service-trust-item {
    min-height: 32px !important;
    padding: 0.38rem 0.64rem !important;
  }

  body.theme-laser.laser-clean-v1
    .service-trust-strip.service-trust-laser
    .service-trust-text {
    font-size: 0.82rem !important;
  }

  body.theme-laser.laser-clean-v1
    main
    > section.aroma-laser-side-section.in-main:first-child,
  body.theme-laser.laser-clean-v1
    main
    > section.mb-12.aroma-laser-side-section.in-main:first-child {
    gap: 18px !important;
    margin-bottom: 34px !important;
  }

  body.theme-laser.laser-clean-v1
    main
    > section.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-card,
  body.theme-laser.laser-clean-v1
    main
    > section.mb-12.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-card,
  body.theme-laser.laser-clean-v1
    main
    > section.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-visual,
  body.theme-laser.laser-clean-v1
    main
    > section.mb-12.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-visual {
    border-radius: 22px !important;
  }

  body.theme-laser.laser-clean-v1
    main
    > section.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-card
    h2,
  body.theme-laser.laser-clean-v1
    main
    > section.mb-12.aroma-laser-side-section.in-main:first-child
    .aroma-laser-side-card
    h2,
  body.theme-laser.laser-clean-v1 main h2 {
    font-size: clamp(1.45rem, 7vw, 2rem) !important;
    line-height: 1.18 !important;
  }

  body.theme-laser.laser-clean-v1 main p,
  body.theme-laser.laser-clean-v1 main li {
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
  }

  body.theme-laser.laser-clean-v1 main .overflow-x-auto:has(table),
  body.theme-laser.laser-clean-v1 main .overflow-hidden:has(table) {
    margin-left: calc(var(--laser-mobile-gutter) * -1) !important;
    margin-right: calc(var(--laser-mobile-gutter) * -1) !important;
    border-radius: 18px !important;
  }

  body.theme-laser.laser-clean-v1 main table,
  body.theme-laser.laser-clean-v1 main table.comparison-table {
    min-width: 560px !important;
    font-size: 0.88rem !important;
  }

  body.theme-laser.laser-clean-v1 main table th,
  body.theme-laser.laser-clean-v1 main table td {
    padding: 11px 12px !important;
  }

  body.theme-laser.laser-clean-v1 .faq-q,
  body.theme-laser.laser-clean-v1 .faq > button,
  body.theme-laser.laser-clean-v1 .faq-btn {
    min-height: 54px !important;
    padding: 16px 68px 16px 18px !important;
  }

  body.theme-laser.laser-clean-v1 .faq-a,
  body.theme-laser.laser-clean-v1 .faq-answer,
  body.theme-laser.laser-clean-v1 .faq-content {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-08 {
    padding: 18px !important;
    border-radius: 20px !important;
  }
}

@media (max-width: 420px) {
  body.theme-laser.laser-clean-v1 main .laser-image-link-card {
    grid-template-columns: 82px minmax(0, 1fr) !important;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-link-card img {
    width: 82px !important;
    min-height: 104px !important;
  }

  body.theme-laser.laser-clean-v1 main .laser-image-link-card-body {
    padding: 14px !important;
  }

  body.theme-laser.laser-clean-v1 .btn-primary,
  body.theme-laser.laser-clean-v1 a.btn-primary,
  body.theme-laser.laser-clean-v1 button.btn-primary,
  body.theme-laser.laser-clean-v1 .aroma-inline-btn-green-full,
  body.theme-laser.laser-clean-v1 .aroma-inline-btn-white-green,
  body.theme-laser.laser-clean-v1 .aroma-inline-btn-green-outline-full,
  body.theme-laser.laser-clean-v1 .aroma-inline-btn-white-outline,
  body.theme-laser.laser-clean-v1
    a[class*="border-2"][class*="rounded-full"]:not(.btn-primary),
  body.theme-laser.laser-clean-v1
    a[class*="border-white"][class*="rounded-full"] {
    max-width: 100% !important;
    min-height: 44px !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    font-size: 0.94rem !important;
  }
}

/* 20. Phase 16: make opening side images fill the full card height on desktop.
   Fixes the light empty block under the image when the text card is taller.
   Mobile keeps the natural image height so the stacked layout stays clean. */
@media (min-width: 861px) {
  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main {
    align-items: stretch !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main
    .aroma-laser-side-visual {
    display: flex !important;
    height: auto !important;
    min-height: 100% !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main
    .aroma-laser-side-visual
    img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    flex: 1 1 auto !important;
  }
}

@media (max-width: 860px) {
  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main
    .aroma-laser-side-visual {
    display: block !important;
    min-height: 0 !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main
    .aroma-laser-side-visual
    img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    object-fit: cover !important;
  }
}

/* 21. Phase 17: compact opening photos and mobile booking fix.
   Keeps the page photos smaller, like the consultation image style, and prevents the booking panel from squeezing text on phones. */
@media (min-width: 861px) {
  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main {
    align-items: start !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main
    .aroma-laser-side-visual {
    align-self: start !important;
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main
    .aroma-laser-side-visual
    img {
    display: block !important;
    width: 100% !important;
    height: clamp(220px, 24vw, 320px) !important;
    min-height: 0 !important;
    max-height: 320px !important;
    object-fit: cover !important;
    object-position: center !important;
    flex: none !important;
  }
}

@media (max-width: 860px) {
  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main {
    align-items: start !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main
    .aroma-laser-side-visual {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  body.theme-laser.laser-clean-v1
    main
    section.aroma-laser-side-section.in-main
    .aroma-laser-side-visual
    img {
    display: block !important;
    width: 100% !important;
    height: clamp(190px, 54vw, 260px) !important;
    min-height: 0 !important;
    max-height: 260px !important;
    object-fit: cover !important;
    object-position: center !important;
  }
}

@media (max-width: 980px) {
  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-03 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-07 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 16px !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-05 {
    max-width: 100% !important;
    font-size: clamp(1.9rem, 7vw, 2.6rem) !important;
    line-height: 1.12 !important;
  }

  body.theme-laser.laser-clean-v1 #book-online .aroma-inline-copy-dm-muted {
    max-width: 100% !important;
  }
}

@media (max-width: 560px) {
  body.theme-laser.laser-clean-v1
    #book-online.laser-hair-removal-preparation-toronto-clean-01,
  body.theme-laser.laser-clean-v1 section#book-online {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-03 {
    padding: 22px 16px !important;
    border-radius: 22px !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-07 {
    grid-template-columns: 1fr !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-08 {
    padding: 18px !important;
  }

  body.theme-laser.laser-clean-v1
    #book-online
    .laser-hair-removal-preparation-toronto-clean-05 {
    font-size: clamp(1.75rem, 8vw, 2.15rem) !important;
  }

  body.theme-laser.laser-clean-v1 #book-online .aroma-inline-copy-dm-muted {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }
}

/* source:inline-style:laser-hair-removal-preparation-toronto.html */

:root {
  --brand: #2e9ed6;
  --brand-dark: #247fb5;
}
.btn-primary {
  background-color: var(--brand);
  color: white;
  transition: background-color 0.2s;
}
.btn-primary:hover {
  background-color: var(--brand-dark);
}
.text-brand {
  color: var(--brand);
}
details summary {
  cursor: pointer;
}
details[open] summary {
  color: var(--brand);
}
