/* Aroma laser service launch CSS bundle. Generated from the exact previous CSS order to reduce requests before launch. */

/* source:css/laser-brazilian-15fe1b1f.min.css */
:root {
  --green: #1fb25a;
  --green-dark: #168a46;
  --green-soft: #eaf7ef;
  --mint: #bae0ca;
  --charcoal: #2f3532;
  --copy: #4b5a52;
  --slate: #718074;
  --line: #e6eee9;
  --white: #ffffff;
  --off: #f7fbf9;
  --shadow: 0 10px 30px rgba(12, 53, 30, 0.08);
  --shadow-lg: 0 22px 60px rgba(12, 53, 30, 0.14);
  --radius: 24px;
}
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Montserrat", sans-serif;
  color: var(--charcoal);
  background: var(--white);
  line-height: 1.6;
}
a {
  color: inherit;
}
img {
  max-width: 100%;
  display: block;
}
.container {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
}
.topbar {
  background: #47bb6e;
  color: #e8fff2;
  font-size: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.topbar-inner {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 10px 0;
}
.topbar-note {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.topbar-locations {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.location-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f4fff8;
  text-decoration: none;
}
header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(230, 238, 233, 0.9);
}
.navbar {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.logo-wrap {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 14px;
}
.logo-mark {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: linear-gradient(145deg, #5ccc7f, #1fb25a);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 18px;
  box-shadow: var(--shadow);
}
.logo-copy strong {
  display: block;
  font-size: 15px;
  letter-spacing: 0.01em;
}
.logo-copy span {
  display: block;
  font-size: 11px;
  color: var(--slate);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-top: 2px;
}
.nav-links {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.nav-links a {
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
  color: var(--copy);
}
.nav-bookings {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.nav-btn,
.btn,
.book-link,
.service-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-decoration: none;
  border-radius: 999px;
  font-weight: 700;
  transition: 0.22s ease;
}
.nav-btn {
  padding: 11px 16px;
  font-size: 13px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--charcoal);
}
.nav-btn.primary,
.btn.primary,
.book-link.primary,
.service-link.primary {
  background: var(--green);
  color: #fff;
  border: 1px solid var(--green);
}
.nav-btn:hover,
.btn:hover,
.book-link:hover,
.service-link:hover {
  transform: translateY(-1px);
}
.nav-btn.secondary,
.btn.secondary,
.book-link.secondary,
.service-link.secondary {
  background: #fff;
  color: var(--green-dark);
  border: 1px solid rgba(31, 178, 90, 0.25);
}
.breadcrumb {
  background: var(--off);
  border-bottom: 1px solid var(--line);
  color: var(--slate);
  font-size: 13px;
}
.breadcrumb .container {
  padding: 12px 0;
}
.breadcrumb a {
  text-decoration: none;
  color: var(--green-dark);
}
.hero {
  position: relative;
  overflow: hidden;
  background: radial-gradient(
      circle at top right,
      rgba(255, 255, 255, 0.92),
      transparent 34%
    ),
    radial-gradient(
      circle at bottom left,
      rgba(234, 247, 239, 0.92),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      rgba(247, 251, 249, 0.98) 0%,
      rgba(238, 245, 240, 0.98) 100%
    );
  color: var(--charcoal);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23dfeee5' fill-opacity='.65'%3E%3Ccircle cx='20' cy='20' r='2'/%3E%3Ccircle cx='100' cy='20' r='2'/%3E%3Ccircle cx='60' cy='60' r='2'/%3E%3Ccircle cx='20' cy='100' r='2'/%3E%3Ccircle cx='100' cy='100' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  opacity: 0.55;
  pointer-events: none;
}
.hero-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.06fr 0.94fr;
  gap: 34px;
  padding: 64px 0 70px;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(31, 178, 90, 0.15);
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: var(--shadow);
}
.hero h1 {
  font-size: clamp(2.2rem, 5vw, 4.2rem);
  line-height: 0.98;
  letter-spacing: -0.05em;
  margin-top: 18px;
  max-width: 11ch;
}
.hero h1 span {
  color: var(--green-dark);
}
.hero-lead {
  margin-top: 18px;
  max-width: 58ch;
  font-size: 18px;
  color: var(--copy);
  font-family: "Lora", serif;
  line-height: 1.75;
}
.hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 26px 0 28px;
}
.hero-point {
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.84);
  border: 1px solid rgba(31, 178, 90, 0.16);
  font-size: 13px;
  font-weight: 700;
  color: var(--copy);
}
.hero-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.btn {
  padding: 14px 20px;
  font-size: 14px;
}
.hero-small {
  font-size: 13px;
  color: #5a6d63;
}
.hero-panel {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(31, 178, 90, 0.16);
  border-radius: 30px;
  padding: 26px;
  box-shadow: var(--shadow-lg);
}
.panel-top {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.panel-top h2 {
  font-size: 1.35rem;
  line-height: 1.1;
}
.panel-top p {
  margin-top: 8px;
  color: var(--slate);
  font-size: 14px;
}
.panel-badge {
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}
.quick-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 22px 0;
}
.quick-card {
  background: #f9fcfa;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
}
.quick-card span {
  display: block;
  font-size: 12px;
  color: var(--slate);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
.quick-card strong {
  font-size: 15px;
  line-height: 1.35;
}
.machine-strip {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 6px 0 20px;
}
.machine-card {
  background: #103723;
  border-radius: 20px;
  padding: 16px;
  color: #eefbf2;
  min-height: 124px;
}
.machine-card strong {
  display: block;
  font-size: 16px;
  margin-bottom: 8px;
}
.machine-card span {
  display: block;
  font-size: 13px;
  line-height: 1.6;
  color: rgba(238, 251, 242, 0.82);
}
.booking-switcher {
  display: grid;
  gap: 14px;
}
.booking-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 18px;
  background: #fff;
}
.booking-card small {
  display: block;
  font-size: 11px;
  color: var(--green-dark);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 6px;
}
.booking-card strong {
  display: block;
  font-size: 18px;
  line-height: 1.1;
}
.booking-card p {
  margin: 8px 0 14px;
  font-size: 14px;
  color: var(--slate);
}
.book-row {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.book-link {
  padding: 12px 16px;
  font-size: 13px;
}
section {
  padding: 84px 0;
}
.soft-section {
  background: var(--off);
}
.split {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 40px;
  align-items: start;
}
.section-head {
  max-width: 720px;
}
.section-tag {
  color: var(--green-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.section-title {
  margin-top: 10px;
  font-size: clamp(1.85rem, 3vw, 3rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}
.section-sub {
  margin-top: 14px;
  color: var(--slate);
  font-size: 17px;
  line-height: 1.75;
  font-family: "Lora", serif;
}
.copy {
  margin-top: 26px;
  display: grid;
  gap: 18px;
}
.copy p {
  font-size: 16px;
  color: var(--copy);
  line-height: 1.86;
}
.copy strong {
  color: var(--charcoal);
}
.highlight-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}
.highlight-chip {
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-size: 13px;
  font-weight: 700;
}
.coverage-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 28px;
  box-shadow: var(--shadow);
}
.inline-photo {
  margin-bottom: 22px;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  border: 1px solid var(--line);
  position: relative;
  background: #fff;
}
.inline-photo img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center 30%;
}
.inline-photo-badge {
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(17, 56, 34, 0.82);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.visual-box {
  min-height: 255px;
  border-radius: 24px;
  background: radial-gradient(
      circle at 20% 20%,
      rgba(255, 255, 255, 0.85),
      transparent 32%
    ),
    linear-gradient(150deg, #edf6f1 0%, #dceee4 100%);
  border: 1px solid rgba(31, 178, 90, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  margin-bottom: 18px;
}
.visual-inner {
  width: 100%;
  max-width: 360px;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(31, 178, 90, 0.12);
  box-shadow: 0 18px 34px rgba(12, 53, 30, 0.08);
  padding: 20px;
}
.visual-kicker {
  font-size: 11px;
  color: var(--green-dark);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 14px;
}
.visual-lines {
  display: grid;
  gap: 12px;
}
.visual-line {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.visual-line:first-child {
  border-top: none;
  padding-top: 0;
}
.visual-number {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 13px;
  font-weight: 800;
  flex: 0 0 32px;
}
.visual-line strong {
  display: block;
  font-size: 15px;
  line-height: 1.25;
}
.visual-line span {
  display: block;
  font-size: 13px;
  color: var(--slate);
  margin-top: 4px;
  line-height: 1.6;
}
.coverage-list {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}
.coverage-item {
  display: flex;
  gap: 14px;
  padding: 16px;
  border-radius: 18px;
  background: #f9fcfa;
  border: 1px solid var(--line);
}
.coverage-icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--green-dark);
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 13px;
  flex: 0 0 34px;
}
.coverage-item strong {
  display: block;
  font-size: 15px;
}
.coverage-item p {
  font-size: 14px;
  color: var(--slate);
  line-height: 1.65;
  margin-top: 3px;
}
.tech-layout {
  display: grid;
  grid-template-columns: 1.02fr 0.98fr;
  gap: 34px;
  align-items: start;
}
.tech-grid {
  display: grid;
  gap: 14px;
  margin-top: 24px;
}
.tech-card {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 24px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.06);
}
.tech-card h3 {
  font-size: 18px;
  color: #fff;
  margin-bottom: 8px;
}
.tech-card p {
  font-size: 14px;
  color: rgba(238, 251, 242, 0.82);
  line-height: 1.75;
}
.dark-panel {
  background: #103723;
  color: #eefbf2;
  border-radius: 34px;
  padding: 34px;
  box-shadow: var(--shadow-lg);
}
.dark-panel h2,
.dark-panel h3 {
  color: #fff8ed;
}
.dark-panel p,
.dark-panel li {
  color: #eaf8ef;
}
.dark-panel .section-tag {
  color: #bfe8cf;
}
.dark-panel .section-title {
  color: #fff;
}
.dark-panel .section-sub {
  color: rgba(238, 251, 242, 0.82);
}
.compare-table {
  margin-top: 24px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.05);
}
.compare-table table {
  width: 100%;
  border-collapse: collapse;
}
.compare-table th,
.compare-table td {
  padding: 14px 16px;
  text-align: left;
  font-size: 14px;
}
.compare-table th {
  background: rgba(255, 255, 255, 0.06);
  color: #bfe8cf;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.compare-table td {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(238, 251, 242, 0.82);
  vertical-align: top;
}
.compare-table td strong {
  color: #fff;
}
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 34px;
}
.price-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 26px;
  box-shadow: var(--shadow);
}
.price-card small {
  display: block;
  font-size: 11px;
  color: var(--green-dark);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 800;
  margin-bottom: 10px;
}
.price-card h3 {
  font-size: 1.45rem;
  line-height: 1.05;
}
.price-amount {
  font-size: 3rem;
  line-height: 1;
  margin: 18px 0 6px;
  font-weight: 800;
  letter-spacing: -0.04em;
}
.price-note {
  font-size: 13px;
  color: var(--slate);
}
.price-list {
  list-style: none;
  display: grid;
  gap: 12px;
  margin: 22px 0 24px;
}
.price-list li {
  position: relative;
  padding-left: 24px;
  font-size: 14px;
  color: var(--copy);
  line-height: 1.7;
}
.price-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green-dark);
  font-weight: 800;
}
.featured {
  position: relative;
  border: 2px solid var(--green);
}
.featured-flag {
  position: absolute;
  left: 50%;
  top: -13px;
  transform: translateX(-50%);
  padding: 6px 16px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.package-showcase {
  margin-top: 26px;
  background: #f7faf8;
  border: 2px solid rgba(31, 178, 90, 0.18);
  border-radius: 32px;
  padding: 30px;
  position: relative;
}
.package-cap {
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  padding: 8px 18px;
  background: var(--green);
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.package-layout {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 24px;
  align-items: center;
}
.package-top-label {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.package-kicker {
  margin-top: 18px;
  font-size: 13px;
  color: var(--slate);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 800;
}
.package-big {
  font-size: 5rem;
  line-height: 0.9;
  font-weight: 800;
  letter-spacing: -0.08em;
  margin: 10px 0 18px;
}
.package-bullets {
  list-style: none;
  display: grid;
  gap: 12px;
}
.package-bullets li {
  position: relative;
  padding-left: 24px;
  color: var(--copy);
  line-height: 1.75;
}
.package-bullets li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green-dark);
  font-weight: 800;
}
.package-mini-rates {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.rate-chip {
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(31, 178, 90, 0.18);
  font-size: 13px;
  font-weight: 700;
  color: var(--copy);
}
.payment-panel {
  background: #edf4ef;
  border: 1px solid rgba(31, 178, 90, 0.14);
  border-radius: 24px;
  padding: 22px;
}
.payment-title {
  font-size: 13px;
  color: var(--green-dark);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 800;
  margin-bottom: 16px;
}
.pay-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
}
.pay-box {
  background: #fff;
  border: 1px solid rgba(31, 178, 90, 0.14);
  border-radius: 18px;
  padding: 18px;
  text-align: center;
}
.pay-box strong {
  display: block;
  font-size: 2.1rem;
  line-height: 1;
  color: var(--green-dark);
}
.pay-box span {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  color: var(--slate);
  line-height: 1.45;
}
.pay-arrow {
  font-size: 24px;
  color: var(--green-dark);
  font-weight: 800;
  text-align: center;
}
.package-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.promo-band {
  margin-top: 18px;
  padding: 18px 22px;
  border-radius: 22px;
  background: linear-gradient(135deg, #1d8b4b 0%, #1fb25a 100%);
  color: #fff;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.expect-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 34px;
}
.expect-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 24px;
  box-shadow: var(--shadow);
}
.expect-icon {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green-dark);
  display: grid;
  place-items: center;
  font-weight: 800;
  margin-bottom: 16px;
}
.expect-card h3 {
  font-size: 1.2rem;
  margin-bottom: 10px;
}
.expect-card p {
  font-size: 14px;
  color: var(--copy);
  line-height: 1.75;
}
.expect-card ul {
  list-style: none;
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.expect-card li {
  position: relative;
  padding-left: 22px;
  font-size: 14px;
  color: var(--slate);
  line-height: 1.7;
}
.expect-card li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green-dark);
  font-weight: 800;
}
.why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 34px;
}
.why-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 24px;
  box-shadow: var(--shadow);
}
.why-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  border-radius: 16px;
  background: var(--green-soft);
  color: var(--green-dark);
  font-weight: 800;
  margin-bottom: 16px;
  padding: 0 14px;
}
.why-card h3 {
  font-size: 1.15rem;
  margin-bottom: 10px;
  line-height: 1.2;
}
.why-card p {
  font-size: 14px;
  color: var(--copy);
  line-height: 1.8;
}
.note-box {
  margin-top: 24px;
  padding: 16px 18px;
  border-radius: 20px;
  background: var(--green-soft);
  color: var(--copy);
  font-size: 14px;
  line-height: 1.75;
}
.faq-list {
  display: grid;
  gap: 14px;
  margin-top: 34px;
}
.faq-item {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #fff;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.faq-q {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font:
    700 15px/1.5 "Montserrat",
    sans-serif;
  color: var(--charcoal);
}
.faq-q span:last-child {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: var(--green-soft);
  color: var(--green-dark);
  display: grid;
  place-items: center;
  font-size: 18px;
  flex: 0 0 34px;
}
.faq-a {
  max-height: 0;
  overflow: hidden;
  transition:
    max-height 0.28s ease,
    padding 0.28s ease;
  padding: 0 24px;
  color: var(--copy);
  font-size: 15px;
  line-height: 1.8;
}
.faq-item.open .faq-a {
  max-height: 320px;
  padding: 0 24px 22px;
}
.faq-item.open .faq-q span:last-child {
  transform: rotate(45deg);
}
.location-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 34px;
}
.location-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 30px;
  padding: 26px;
  box-shadow: var(--shadow);
}
.location-card small {
  display: block;
  font-size: 11px;
  color: var(--green-dark);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 10px;
}
.location-card h3 {
  font-size: 1.45rem;
  line-height: 1.08;
}
.location-card p {
  margin: 10px 0 18px;
  font-size: 14px;
  color: var(--copy);
  line-height: 1.8;
}
.location-list {
  list-style: none;
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}
.location-list li {
  position: relative;
  padding-left: 24px;
  color: var(--slate);
  font-size: 14px;
  line-height: 1.7;
}
.location-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--green-dark);
  font-weight: 800;
}
.cta-band {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 24px;
  align-items: center;
  background: linear-gradient(135deg, #103723 0%, #1b8e4d 100%);
  border-radius: 36px;
  padding: 34px;
  color: #f2fff6;
}
.cta-band h2 {
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: #fff8ed;
}
.cta-band p {
  margin-top: 14px;
  font-size: 17px;
  color: rgba(242, 255, 246, 0.82);
  line-height: 1.8;
  font-family: "Lora", serif;
}
.cta-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-start;
}
footer {
  margin-top: 84px;
  background: #113822;
  color: #edf8f1;
}
.footer-top {
  padding: 54px 0 30px;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 28px;
}
.footer-brand p {
  color: rgba(237, 248, 241, 0.78);
  font-size: 14px;
  margin-top: 16px;
  max-width: 34ch;
  line-height: 1.8;
}
.footer-title {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #bfe8cf;
  margin-bottom: 14px;
  font-weight: 800;
}
.footer-col a {
  display: block;
  text-decoration: none;
  color: rgba(237, 248, 241, 0.86);
  font-size: 14px;
  margin-bottom: 10px;
}
.footer-col a:hover {
  color: #fff;
}
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding: 16px 0 28px;
  color: rgba(237, 248, 241, 0.72);
  font-size: 13px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
@media (max-width: 1080px) {
  .hero-inner,
  .split,
  .tech-layout,
  .cta-band,
  .footer-grid,
  .package-layout {
    grid-template-columns: 1fr;
  }
  .pricing-grid,
  .expect-grid,
  .why-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 860px) {
  .nav-links {
    display: none;
  }
  .quick-stats,
  .machine-strip,
  .location-grid,
  .pricing-grid,
  .expect-grid,
  .why-grid {
    grid-template-columns: 1fr;
  }
  .hero h1 {
    max-width: 12ch;
  }
}
@media (max-width: 640px) {
  .container {
    width: min(1180px, calc(100% - 24px));
  }
  .hero-inner {
    padding: 52px 0 58px;
  }
  .topbar-inner,
  .navbar,
  .hero-actions,
  .book-row,
  .footer-bottom,
  .cta-actions {
    align-items: flex-start;
  }
  .nav-bookings {
    width: 100%;
  }
  .nav-btn,
  .book-link,
  .btn {
    width: 100%;
  }
  .pay-grid {
    grid-template-columns: 1fr;
  }
  .pay-arrow {
    display: none;
  }
}
/* 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;
  }
}

/* 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-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/laser-blue-theme-vars-batch92.css */
/* Batch 92: moved repeated laser blue service variables out of inline <style> blocks */
:root {
  --svc-ink: #0d2a44;
  --svc-dark: #1a4e78;
  --svc-mid: #2474aa;
  --svc-light: #6baad4;
  --svc-pale: #cce4f4;
  --svc-mist: #eef6fc;
  --svc-glow: rgba(100, 170, 220, 0.3);
  --svc-shadow: rgba(20, 80, 140, 0.1);
  --svc-muted: #3d5e74;
  --svc-border: rgba(20, 80, 140, 0.12);
}

/* 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-reviews.css */
/* Aroma Review System - Compact 6-card version */

.aroma-reviews,
.aroma-review-page-section {
  padding: clamp(42px, 6vw, 76px) 20px;
  background: #fffaf6;
  color: #26211d;
}

.aroma-review-header,
.aroma-review-empty {
  max-width: 860px;
  margin: 0 auto 24px;
  text-align: center;
}

.aroma-review-eyebrow {
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.74rem;
  font-weight: 800;
  color: #8b5e3c;
}

.aroma-review-header h2,
.aroma-review-empty h2,
.aroma-review-page-section h2 {
  margin: 0 0 10px;
  font-size: clamp(1.65rem, 3.4vw, 2.35rem);
  line-height: 1.08;
  color: #2f241d;
}

.aroma-review-header p,
.aroma-review-empty p {
  margin: 0 auto;
  max-width: 720px;
  font-size: 0.98rem;
  line-height: 1.65;
  color: #5b5149;
}

.aroma-review-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.aroma-review-card {
  border: 1px solid rgba(139, 94, 60, 0.18);
  border-radius: 20px;
  background: #ffffff;
  padding: 18px;
  box-shadow: 0 14px 34px rgba(66, 41, 22, 0.075);
  min-height: 235px;
  display: flex;
  flex-direction: column;
}

.aroma-review-stars {
  color: #9b6a3f;
  letter-spacing: 0.05em;
  font-size: 0.96rem;
  margin-bottom: 8px;
  line-height: 1;
}

.aroma-review-card h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  line-height: 1.25;
  color: #2f241d;
}

.aroma-review-text {
  margin: 0 0 12px;
  color: #514942;
  line-height: 1.55;
  font-size: 0.94rem;
}

.aroma-review-full {
  display: none;
}

.aroma-review-card.is-expanded .aroma-review-preview {
  display: none;
}

.aroma-review-card.is-expanded .aroma-review-full {
  display: inline;
}

.aroma-review-toggle {
  margin: -4px 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #6c8d63;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.aroma-review-toggle:hover,
.aroma-review-toggle:focus {
  text-decoration: underline;
}

.aroma-review-meta {
  border-top: 1px solid rgba(139, 94, 60, 0.15);
  padding-top: 12px;
  margin-top: auto;
  display: grid;
  gap: 3px;
  font-size: 0.84rem;
  color: #6f6259;
}

.aroma-review-meta strong {
  color: #2f241d;
}

.aroma-review-meta a {
  color: #6c8d63;
  font-weight: 800;
  text-decoration: none;
}

.aroma-review-meta a:hover {
  text-decoration: underline;
}

.aroma-review-actions {
  max-width: 1180px;
  margin: 24px auto 0;
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.aroma-review-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 11px 17px;
  border-radius: 999px;
  font-weight: 800;
  text-decoration: none;
  transition:
    transform 180ms ease,
    box-shadow 180ms ease;
}

.aroma-review-btn:hover {
  transform: translateY(-1px);
}

.aroma-review-btn.primary {
  background: #6c8d63;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(108, 141, 99, 0.22);
}

.aroma-review-btn.secondary {
  background: #ffffff;
  color: #6c8d63;
  border: 1px solid rgba(108, 141, 99, 0.35);
}

.aroma-review-page-hero {
  padding: clamp(64px, 9vw, 108px) 20px;
  text-align: center;
  background: linear-gradient(135deg, #fff7ef 0%, #f4ede5 100%);
  color: #2f241d;
}

.aroma-review-page-hero-inner {
  max-width: 920px;
  margin: 0 auto;
}

.aroma-review-page-hero h1 {
  margin: 0 0 14px;
  font-size: clamp(2.15rem, 5vw, 4.2rem);
  line-height: 1.02;
}

.aroma-review-page-hero p {
  margin: 0 auto;
  max-width: 760px;
  color: #5b5149;
  line-height: 1.7;
  font-size: 1.05rem;
}

.aroma-review-note {
  max-width: 920px;
  margin: 26px auto 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(139, 94, 60, 0.14);
  color: #5b5149;
  font-size: 0.95rem;
}

@media (max-width: 980px) {
  .aroma-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .aroma-reviews,
  .aroma-review-page-section {
    padding-left: 16px;
    padding-right: 16px;
  }

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

  .aroma-review-card {
    padding: 18px;
    min-height: 0;
  }

  .aroma-review-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .aroma-review-btn {
    width: 100%;
  }
}

/* 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;
}

/* Aroma review system refresh: static visible Google review cards */
.aroma-review-section-clean {
  background: #fffaf6;
}
.aroma-review-section-clean .aroma-review-grid {
  gap: 18px;
}
.aroma-review-card--clean {
  min-height: 0;
  border-color: rgba(47, 89, 65, 0.14);
  box-shadow: 0 16px 38px rgba(16, 37, 27, 0.08);
}
.aroma-review-stars,
.service-stars,
.aroma-card-stars {
  color: #d7a21b !important;
  letter-spacing: 0.08em;
}
.aroma-review-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 12px;
}
.aroma-review-tags span {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 10px;
  background: #fbf4e8;
  color: #7d5922;
  font-size: 12px;
  font-weight: 900;
}
.aroma-review-source {
  display: inline-flex;
  width: max-content;
  margin-bottom: 10px;
  border-radius: 999px;
  padding: 6px 10px;
  background: #eef7f1;
  color: #254d34;
  border: 1px solid rgba(47, 89, 65, 0.12);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.aroma-review-card--clean .aroma-review-text {
  font-size: 0.96rem;
  color: #3b342f;
}
.aroma-review-card--clean .aroma-review-meta span {
  color: #607367;
  font-weight: 800;
}
.aroma-review-section-clean .aroma-review-actions {
  margin-top: 22px;
}
@media (max-width: 760px) {
  .aroma-review-section-clean .aroma-review-grid {
    grid-template-columns: 1fr;
  }
}

/* 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/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-related-title {
  display: block;
  font-weight: 800;
  font-size: 15px;
  line-height: 1.25;
}
.laser-related-desc {
  display: block;
  margin-top: 5px;
  color: #4f6680;
  font-size: 12.5px;
  line-height: 1.35;
}
.laser-related-card {
  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);
}
.laser-page-clean-010 {
  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-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
}
.laser-page-clean-008 {
  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);
}
.laser-page-clean-012 {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 22px;
}
.laser-page-clean-228 {
  justify-content: center;
}
.laser-page-clean-239 {
  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-page-clean-234 {
  color: #7d8897;
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 8px;
}
.laser-page-clean-240 {
  display: block;
  padding: 4px 0;
  font-size: 13.5px;
  color: #2d7a4f;
  text-decoration: none;
}
.laser-page-clean-233 {
  margin-bottom: 0;
}
.laser-page-clean-229 {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #1fb25a;
  margin: 0 0 8px;
}
.laser-related-panel {
  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-related-kicker {
  margin: 0 0 8px;
  color: #256c9b;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.laser-related-heading {
  margin: 0 0 10px;
  color: #0d2a44;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
}
.laser-related-copy {
  margin: 0 0 20px;
  color: #516579;
  font-size: 15px;
  line-height: 1.65;
  max-width: 780px;
}
.laser-page-clean-224 {
  height: 100%;
}
.laser-page-clean-007 {
  font-size: 1.45rem;
  margin: 8px 0 10px;
}
.laser-page-clean-006 {
  font-size: 15px;
  margin-bottom: 16px;
}
.laser-page-clean-232 {
  margin: 0 0 8px;
  color: #4f8a68;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.laser-page-clean-237 {
  padding: 38px 0;
  background: #f7fbf8;
}
.laser-page-clean-227 {
  margin: 0 0 10px;
  color: #183326;
  font-size: clamp(24px, 3vw, 34px);
}
.laser-page-clean-016 {
  margin: 0 0 18px;
  color: #3f5949;
  max-width: 760px;
  line-height: 1.65;
}
.laser-page-clean-235 {
  padding: 34px 0;
  background: #eef7fb;
}
.laser-page-clean-005 {
  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);
}
.laser-page-clean-231 {
  margin: 0 0 8px;
  color: #2f728d;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.laser-page-clean-225 {
  margin: 0 0 10px;
  color: #183326;
  font-size: clamp(23px, 3vw, 32px);
}
.laser-page-clean-014 {
  margin: 0 0 18px;
  color: #3f5949;
  max-width: 780px;
  line-height: 1.65;
}
.laser-page-clean-238 {
  padding: 34px 5% 20px;
  background: #ffffff;
}
.laser-page-clean-011 {
  max-width: 1100px;
  margin: 0 auto;
}
.laser-page-clean-241 {
  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-page-clean-100 {
  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-page-clean-222 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.laser-page-clean-004 {
  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;
}
.laser-page-clean-236 {
  padding: 34px 0;
  background: #fff7ed;
}
.laser-page-clean-009 {
  border: 1px solid #f0d6b8;
  border-radius: 22px;
  background: #fff;
  padding: 24px;
  box-shadow: 0 18px 40px rgba(168, 100, 36, 0.08);
}
.laser-page-clean-230 {
  margin: 0 0 8px;
  color: #9b5a1d;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 12px;
}
.laser-page-clean-226 {
  margin: 0 0 10px;
  color: #3a2208;
  font-size: clamp(23px, 3vw, 32px);
}
.laser-page-clean-015 {
  margin: 0 0 18px;
  color: #6b5038;
  max-width: 780px;
  line-height: 1.65;
}
.laser-page-clean-003 {
  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;
}
.laser-page-clean-099 {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #1fb25a;
  margin: 0 0 12px;
}
.laser-page-clean-013 {
  font-size: 16px;
  line-height: 1.7;
  color: #7d8897;
  margin: 0;
  font-family: "DM Sans", Montserrat, Arial, sans-serif;
}
.laser-page-clean-001 {
  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;
}
.laser-page-clean-002 {
  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. */
.laser-page-extra-017 {
  background: var(--off-white) !important;
}
.laser-page-extra-018 {
  text-align: center !important;
}
.laser-page-extra-019 {
  display: block !important;
  font-size: 11px !important;
  color: var(--aroma-muted, #888) !important;
  margin-top: 4px !important;
}
.laser-page-extra-020 {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.laser-page-extra-021 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}
.laser-page-extra-022 {
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
  color: #183326 !important;
}
.laser-page-extra-023 {
  margin-top: 28px !important;
}
.laser-page-extra-024 {
  color: #4f8a68 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.laser-page-extra-025 {
  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;
}
.laser-page-extra-026 {
  font-size: clamp(22px, 3vw, 30px) !important;
  font-weight: 800 !important;
  color: #183326 !important;
  margin: 10px 0 8px !important;
}
.laser-page-extra-027 {
  padding: 52px 0 !important;
  background: #f6fbf7 !important;
}
.laser-page-extra-028 {
  text-align: center !important;
  margin-bottom: 28px !important;
}
.laser-page-extra-029 {
  color: #5a7a6a !important;
  font-size: 15px !important;
  margin: 0 0 24px !important;
  line-height: 1.7 !important;
}
.laser-page-extra-030 {
  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;
}
.laser-page-extra-031 {
  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;
}
.laser-page-extra-032 {
  display: block !important;
  margin: auto !important;
}
.laser-page-extra-033 {
  font-size: 16px !important;
  color: var(--slate) !important;
  line-height: 1.7 !important;
  max-width: 640px !important;
  margin-bottom: 8px !important;
}
.laser-page-extra-034 {
  margin: 0 !important;
}
.laser-page-extra-035 {
  margin: 0 0 14px !important;
  color: #0d2a44 !important;
  font-size: clamp(26px, 3vw, 36px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
}
.laser-page-extra-036 {
  margin: 0 !important;
  color: #516579 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
}
.laser-page-extra-037 {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}
.laser-page-extra-038 {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
}
.laser-page-extra-039 {
  font-size: 1.6rem !important;
}
.laser-page-extra-040 {
  font-size: 20px !important;
  font-weight: 500 !important;
  margin: 32px 0 12px !important;
}
.laser-page-extra-041 {
  font-weight: 400 !important;
  font-size: 0.88rem !important;
  color: var(--muted) !important;
}
.laser-page-extra-042 {
  background: #fff !important;
  border-color: rgba(122, 74, 28, 0.22) !important;
  box-shadow: 0 8px 22px rgba(122, 74, 28, 0.07) !important;
}
.laser-page-extra-043 {
  color: var(--svc-dark) !important;
  font-weight: 700 !important;
}
.laser-page-extra-044 {
  margin-top: 20px !important;
}
.laser-page-extra-045 {
  margin-top: auto !important;
}
.laser-page-extra-046 {
  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;
}
.laser-page-extra-047 {
  color: var(--mint) !important;
}
.laser-page-extra-048 {
  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;
}
.laser-page-extra-049 {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)) !important;
  gap: 12px !important;
}
.laser-page-extra-050 {
  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-page-extra-051 {
  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;
}
.laser-page-extra-052 {
  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;
}
.laser-page-extra-053 {
  font-size: 16px !important;
}
.laser-page-extra-054 {
  margin-top: 16px !important;
}
.laser-page-extra-055 {
  margin: 0 0 10px !important;
  color: #183326 !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.12 !important;
}
.laser-page-extra-056 {
  margin: 0 0 20px !important;
  color: #3f5949 !important;
  max-width: 820px !important;
  line-height: 1.65 !important;
}
.laser-page-extra-057 {
  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;
}
.laser-page-extra-058 {
  padding: 42px 0 !important;
  background: #f7fbf8 !important;
}
.laser-page-extra-059 {
  background: var(--off) !important;
}
.laser-page-extra-060 {
  background: var(--off-white) !important;
}
.laser-page-extra-061 {
  color: rgba(255, 255, 255, 0.85) !important;
}
.laser-page-extra-062 {
  font-size: 12px !important;
  color: #4a7c59 !important;
  margin-top: 4px !important;
}
.laser-page-extra-063 {
  max-width: 780px !important;
}
.laser-page-extra-064 {
  background: #f0faf4 !important;
  border: 1px solid #bae0ca !important;
  border-radius: 12px !important;
  padding: 12px 14px !important;
  margin-bottom: 20px !important;
}
.laser-page-extra-065 {
  background: #fbfdfc !important;
}
.laser-page-extra-066 {
  background: rgba(255, 255, 255, 0.04) !important;
  border-radius: 10px !important;
  padding: 16px !important;
}
.laser-page-extra-067 {
  background: var(--ow) !important;
}
.laser-page-extra-068 {
  background: var(--wax-950) !important;
}
.laser-page-extra-069 {
  color: #2b4437 !important;
}
.laser-page-extra-070 {
  color: var(--muted) !important;
  font-size: 15px !important;
  font-family: "DM Sans", Montserrat, Arial, sans-serif !important;
  line-height: 1.7 !important;
}
.laser-page-extra-071 {
  color: var(--slate) !important;
  font-size: 15px !important;
}
.laser-page-extra-072 {
  color: var(--wax-800) !important;
  font-weight: 600 !important;
}
.laser-page-extra-073 {
  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-page-extra-074 {
  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;
}
.laser-page-extra-075 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}
.laser-page-extra-076 {
  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;
}
.laser-page-extra-077 {
  flex: 1 !important;
  border-top: 2px dashed #d1d5db !important;
  margin: 0 8px !important;
}
.laser-page-extra-078 {
  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-page-extra-079 {
  font-size: 16px !important;
  line-height: 1.7 !important;
  color: #7d8897 !important;
  margin: 0 !important;
  font-family: "Montserrat", sans-serif !important;
}
.laser-page-extra-080 {
  font-size: 1.7rem !important;
  margin-bottom: 10px !important;
}
.laser-page-extra-081 {
  font-size: 1.9rem !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 10px !important;
}
.laser-page-extra-082 {
  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;
}
.laser-page-extra-083 {
  font-size: 13px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  line-height: 1.6 !important;
}
.laser-page-extra-084 {
  font-size: 22px !important;
  line-height: 1 !important;
}
.laser-page-extra-085 {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.laser-page-extra-086 {
  left: 50% !important;
}
.laser-page-extra-087 {
  margin-bottom: 24px !important;
}
.laser-page-extra-088 {
  margin-bottom: 28px !important;
}
.laser-page-extra-089 {
  margin-top: 18px !important;
}
.laser-page-extra-090 {
  margin-top: 56px !important;
}
.laser-page-extra-091 {
  margin: 0 0 14px !important;
  color: #183326 !important;
  font-size: clamp(24px, 3vw, 34px) !important;
}
.laser-page-extra-092 {
  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-page-extra-093 {
  max-width: 1120px !important;
  width: calc(100% - 32px) !important;
  margin: 42px auto 48px !important;
  padding: 28px 22px !important;
}
.laser-page-extra-094 {
  max-width: 760px !important;
}
.laser-page-extra-095 {
  padding-top: 0 !important;
}
.laser-page-extra-096 {
  width: 50% !important;
}
.laser-page-extra-097 {
  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;
}
.laser-page-extra-098 {
  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/aroma-final-inline-cleanup.css */
/* Final inline-style cleanup. */
.laser-page-final-101 {
  color: #4a6258;
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 14px;
}
.laser-page-final-102 {
  background: #fffaf0;
}
.laser-page-final-103 {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.1);
  color: #bae0ca;
}
.laser-page-final-104 {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}
.laser-page-final-105 {
  margin-top: 22px;
}
.laser-page-final-106 {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
  color: #fff;
}
.laser-page-final-107 {
  justify-content: center;
}
.laser-page-final-108 {
  max-width: 1200px;
  margin: 0 auto 48px;
  padding: 0 32px;
}
.laser-page-final-109 {
  font-size: 18px;
  font-weight: 700;
  color: #1a2e22;
  margin-bottom: 24px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e8f4ed;
}
.laser-page-final-110 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px 24px;
}
.laser-page-final-111 {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #888;
  margin: 16px 0 8px;
}
.laser-page-final-112 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.laser-page-final-113 {
  margin-top: 16px;
  font-size: 14px;
  color: var(--muted);
  font-family: "DM Sans", Montserrat, Arial, sans-serif;
}
.laser-page-final-114 {
  font-family: "DM Sans", Arial, sans-serif;
  font-style: normal;
  font-weight: 800;
}
.laser-page-final-115 {
  margin-top: 0;
}
.laser-page-final-116 {
  display: none;
}
.laser-page-final-117 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.laser-page-final-118 {
  margin-top: 18px;
}
.laser-page-final-119 {
  max-width: 860px;
  margin: 0 auto;
  padding: 20px 5% 16px;
  font-size: 13px;
  color: #888;
  line-height: 1.7;
}
.laser-page-final-120 {
  font-size: 14px;
  color: rgba(239, 255, 243, 0.82);
}
.laser-page-final-121 {
  grid-template-columns: repeat(2, 1fr);
}
.laser-page-final-122 {
  margin-top: 18px;
  background: rgba(255, 255, 255, 0.08);
  color: rgba(238, 251, 242, 0.9);
}
.laser-page-final-123 {
  font-size: 14px;
  color: rgba(239, 255, 243, 0.82);
}
.laser-page-final-124 {
  color: #bfe8cf;
}
.laser-page-final-125 {
  background: #fff;
  color: #168a46;
  border-color: #fff;
}
.laser-page-final-126 {
  background: transparent;
  color: #f2fff6;
  border-color: rgba(255, 255, 255, 0.24);
}
.laser-page-final-127 {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 18px;
  padding: 28px;
}
.laser-page-final-128 {
  font-size: 13px;
  font-weight: 700;
  color: var(--mint);
  margin-bottom: 20px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.laser-page-final-129 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.laser-page-final-130 {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(110, 231, 160, 0.25);
  border-radius: 10px;
  padding: 16px;
}
.laser-page-final-131 {
  font-size: 12px;
  font-weight: 700;
  color: #6ee7a0;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.laser-page-final-132 {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  line-height: 1.6;
}
.laser-page-final-133 {
  font-size: 13px;
  font-weight: 400;
  opacity: 0.88;
}
.laser-page-final-134 {
  padding-top: 0;
}
.laser-page-final-135 {
  color: rgba(255, 255, 255, 0.76);
}
.laser-page-final-136 {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.laser-page-final-137 {
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 1;
  width: 100%;
}
.laser-page-final-138 {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.laser-page-final-139 {
  max-width: 980px;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.laser-page-final-140 {
  display: inline-block;
  background: #ffffff;
  color: #2e9ed6;
  padding: 12px 28px;
  border-radius: 100px;
  font-weight: 700;
  font-size: 16px;
  text-decoration: none;
  border: 2px solid #ffffff;
}
.laser-page-final-141 {
  margin-top: 32px;
}
.laser-page-final-142 {
  display: grid;
  gap: 18px;
}
.laser-page-final-143 {
  font-family: var(--serif);
  font-size: 1.3rem;
  font-weight: 400;
  margin-bottom: 10px;
}
.laser-page-final-144 {
  color: var(--sub);
  font-size: 0.94rem;
  line-height: 1.75;
}
.laser-page-final-145 {
  margin-top: 14px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.laser-page-final-146 {
  color: #bfe7fb;
}
.laser-page-final-147 {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  row-gap: 12px;
}
.laser-page-final-148 {
  background: #fde7c8;
}
.laser-page-final-149 {
  background: #f5c99a;
}
.laser-page-final-150 {
  background: #e8a87c;
}
.laser-page-final-151 {
  background: #c98b5e;
}
.laser-page-final-152 {
  background: #8d5a30;
}
.laser-page-final-153 {
  background: #4a2512;
}
.laser-page-final-154 {
  max-width: 720px;
}
.laser-page-final-155 {
  margin-top: 36px;
}
.laser-page-final-156 {
  text-align: center;
  margin-bottom: 12px;
}
.laser-page-final-157 {
  text-align: center;
}
.laser-page-final-158 {
  text-align: center;
  max-width: 580px;
  margin: 0 auto 40px;
}
.laser-page-final-159 {
  margin-top: 40px;
}
.laser-page-final-160 {
  text-align: center;
  margin-bottom: 14px;
}
.laser-page-final-161 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #1fb25a;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.laser-page-final-162 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #1f2937;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.laser-page-final-163 {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #1fb25a;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 100px;
  white-space: nowrap;
}
.laser-page-final-164 {
  font-size: 12px;
  font-weight: 700;
  color: #1fb25a;
}
.laser-page-final-165 {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #1f2937;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 100px;
  white-space: nowrap;
}
.laser-page-final-166 {
  background: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 16px;
}
.laser-page-final-167 {
  font-size: 12px;
  font-weight: 700;
  color: #92400e;
}
.laser-page-final-168 {
  font-size: 12px;
  color: #78350f;
  margin-top: 4px;
}
.laser-page-final-169 {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #6b7280;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 100px;
  white-space: nowrap;
}
.laser-page-final-170 {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #1fb25a;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.laser-page-final-171 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #12b24b;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.laser-page-final-172 {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #179149;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}
.laser-page-final-173 {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #12b24b;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 100px;
  white-space: nowrap;
}
.laser-page-final-174 {
  font-size: 12px;
  font-weight: 700;
  color: #12b24b;
}
.laser-page-final-175 {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #179149;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 100px;
  white-space: nowrap;
}
.laser-page-final-176 {
  background: #f7fbf8;
  border: 1px solid #d4e8da;
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 16px;
}
.laser-page-final-177 {
  font-size: 12px;
  font-weight: 700;
  color: #179149;
}
.laser-page-final-178 {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #5fc488;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 100px;
  white-space: nowrap;
}
.laser-page-final-179 {
  background: #143726;
}
.laser-page-final-180 {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #12b24b;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.laser-page-final-181 {
  width: 25%;
}
.laser-page-final-182 {
  width: 55%;
}
.laser-page-final-183 {
  width: 80%;
}
.laser-page-final-184 {
  width: 95%;
}
.laser-page-final-185 {
  background-image: none;
}
.laser-page-final-186 {
  font-size: 13px;
  color: var(--slate);
  margin-bottom: 4px;
  font-weight: 600;
}
.laser-page-final-187 {
  width: 52%;
}
.laser-page-final-188 {
  left: 52%;
}
.laser-page-final-189 {
  display: inline-block;
  background: #fff;
  color: #1fb25a;
  padding: 12px 28px;
  border-radius: 100px;
  font-weight: 700;
  text-decoration: none;
}
.laser-page-final-190 {
  display: inline-block;
  background: transparent;
  color: #fff;
  padding: 12px 28px;
  border-radius: 100px;
  font-weight: 700;
  text-decoration: none;
  border: 2px solid #fff;
}
.laser-page-final-191 {
  width: 15%;
}
.laser-page-final-192 {
  width: 40%;
}
.laser-page-final-193 {
  width: 75%;
}
.laser-page-final-194 {
  width: 95%;
}
.laser-page-final-195 {
  display: block !important;
  width: 100% !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin-top: -28px;
  position: relative;
  z-index: 2;
}
.laser-page-final-196 {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 22px;
  display: flex;
  justify-content: center;
}
.laser-page-final-197 {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  background: #fff;
  border: 1px solid rgba(47, 89, 65, 0.12);
  box-shadow: 0 8px 22px rgba(47, 89, 65, 0.08);
  border-radius: 24px;
  padding: 14px;
}
.laser-page-final-198 {
  max-width: 800px;
  margin: 60px auto;
  padding: 0 24px;
  font-family: inherit;
  line-height: 1.7;
}
.laser-page-final-199 {
  font-size: 32px;
  font-weight: 600;
  margin: 24px 0 8px;
}
.laser-page-final-200 {
  color: #666;
  margin: 0 0 32px;
}
.laser-page-final-201 {
  background: linear-gradient(180deg, #4da870, #2f5f4c) !important;
  color: #fff !important;
  border: none !important;
  box-shadow: 0 12px 26px rgba(47, 89, 65, 0.25) !important;
}
.laser-page-final-202 {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.42) !important;
  box-shadow: none !important;
}
.laser-page-final-203 {
  margin-top: 32px;
  background: linear-gradient(135deg, #21483a, #2f5f4c);
  border-radius: 24px;
  padding: 32px;
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 24px;
  align-items: center;
}
.laser-page-final-204 {
  color: #fff;
  font-size: 1.6rem;
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}
.laser-page-final-205 {
  color: rgba(255, 255, 255, 0.84);
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
}
.laser-page-final-206 {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.laser-page-final-207 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #2f5f4c;
  font-weight: 800;
  font-size: 14px;
  padding: 14px 22px;
  border-radius: 999px;
  text-decoration: none;
  transition: 0.2s;
}
.laser-page-final-208 {
  color: #9df0bc;
}
.laser-page-final-209 {
  color: var(--white);
}
.laser-page-final-210 {
  color: rgba(255, 255, 255, 0.78);
}
.laser-page-final-211 {
  margin-top: 28px;
}
.laser-page-final-212 {
  color: rgba(255, 255, 255, 0.75);
}
.laser-page-final-213 {
  padding-top: 8px;
}
.laser-page-final-214 {
  font-size: 20px;
}
.laser-page-final-215 {
  text-align: right;
}
.laser-page-final-216 {
  background: #fff;
  border-bottom: 1px solid rgba(160, 90, 20, 0.1);
}
.laser-page-final-217 {
  padding: 10px 0;
  font-size: 13px;
  color: var(--svc-muted);
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.laser-page-final-218 {
  color: #5a7a6a;
  font-size: 15px;
  font-family: "DM Sans", Montserrat, Arial, sans-serif;
  margin: 0 0 24px;
  line-height: 1.7;
}
.laser-page-final-219 {
  grid-template-columns: minmax(0, 420px);
  justify-content: center;
}
.laser-page-final-220 {
  grid-template-columns: minmax(0, 520px);
  justify-content: center;
}
.laser-page-final-221 {
  color: rgba(255, 255, 255, 0.75);
}
/* Fix laser consultation booking block on tablet and mobile */
@media (max-width: 820px) {
  .laser-page-clean-241 {
    grid-template-columns: 1fr !important;
    padding: 24px 18px !important;
    gap: 22px !important;
  }

  .laser-page-clean-100,
  .laser-page-extra-079 {
    max-width: 100% !important;
  }

  .laser-page-clean-222 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}

/* Stack booking cards on very small phones */
@media (max-width: 460px) {
  .laser-page-clean-238 {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .laser-page-clean-241 {
    padding: 22px 16px !important;
    border-radius: 22px !important;
  }

  .laser-page-clean-222 {
    grid-template-columns: 1fr !important;
  }

  .laser-page-clean-239 {
    padding: 20px !important;
  }
} /* Promotions page booking choice cards */
.page-promotions .promo-booking-choice {
  margin-top: 24px;
  scroll-margin-top: 110px;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 22px !important;
  padding: 34px 32px !important;
}

.page-promotions .promo-booking-choice .laser-page-final-204 {
  color: #ffffff !important;
  font-size: clamp(24px, 2.4vw, 34px) !important;
  line-height: 1.22 !important;
  max-width: 100% !important;
  margin-bottom: 14px !important;
}

.page-promotions .promo-booking-choice .laser-page-final-205 {
  color: rgba(255, 255, 255, 0.95) !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
  max-width: 100% !important;
}

.page-promotions .promo-booking-choice .laser-page-final-206 {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 240px !important;
  margin: 0 auto !important;
}

.page-promotions .promo-booking-choice .laser-page-final-207,
.page-promotions .promo-booking-choice .laser-page-extra-076 {
  width: 100% !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 700 !important;
}

.page-promotions .promo-booking-choice .laser-page-final-207 {
  color: #123c2f !important;
  background: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.8) !important;
}

.page-promotions .promo-booking-choice .laser-page-extra-076 {
  background: rgba(255, 255, 255, 0.14) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.38) !important;
}

/* Promotions details box */
.page-promotions .promo-terms {
  grid-column: 1 / -1 !important;
  margin: 26px 0 0 !important;
  padding: 22px 26px !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  border: 1px solid rgba(18, 60, 47, 0.14) !important;
  color: #123c2f !important;
  max-width: 100% !important;
}

.page-promotions .promo-terms strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: #123c2f !important;
  font-size: 17px !important;
}

.page-promotions .promo-terms {
  font-size: 15px !important;
  line-height: 1.65 !important;
}

@media (max-width: 900px) {
  .page-promotions .promo-booking-choice {
    padding: 28px 22px !important;
  }

  .page-promotions .promo-booking-choice .laser-page-final-206 {
    max-width: 100% !important;
  }
} /* Promotions page short note */
.page-promotions .promo-note {
  margin: 24px 0 0 !important;
  padding: 18px 22px !important;
  border-radius: 20px !important;
  background: #f6fbf7 !important;
  border: 1px solid rgba(18, 60, 47, 0.14) !important;
  color: #123c2f !important;
  max-width: 100% !important;
}

.page-promotions .promo-note strong {
  display: block !important;
  margin-bottom: 6px !important;
  font-size: 17px !important;
  color: #123c2f !important;
}

.page-promotions .promo-note p {
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
} /* Final promo note placement */
.page-promotions .promo-note-small {
  grid-column: 1 / -1 !important;
  margin: 24px auto 28px !important;
  padding: 16px 22px !important;
  max-width: 900px !important;
  border-radius: 20px !important;
  background: #ffffff !important;
  border: 1px solid rgba(18, 60, 47, 0.14) !important;
  box-shadow: 0 12px 28px rgba(18, 60, 47, 0.08) !important;
  text-align: center !important;
  color: #123c2f !important;
}

.page-promotions .promo-note-small strong {
  display: block !important;
  margin-bottom: 5px !important;
  font-size: 16px !important;
  color: #123c2f !important;
}

.page-promotions .promo-note-small p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #5f716b !important;
}

/* Force booking choice blocks to behave like clean full sections */
.page-promotions .promo-booking-choice {
  grid-column: 1 / -1 !important;
} /* Contact page inquiry cards, remove weird inner bubble on description text */
body.aroma-contact-page .inquiry-card .inquiry-note {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--svc-muted, #4a5e52) !important;
  line-height: 1.4 !important;
  display: block !important;
}

/* Give contact option cards a little more breathing room */
body.aroma-contact-page .inquiry-card {
  min-height: 155px !important;
  overflow: visible !important;
} /* Arm sugaring pricing cards, clean price sizing */
.page-arm-sugaring #pricing .price-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

.page-arm-sugaring #pricing .price-card {
  padding: 22px !important;
  overflow: visible !important;
}

.page-arm-sugaring #pricing .price {
  font-size: clamp(1.85rem, 2.15vw, 2.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  white-space: nowrap !important;
  overflow: visible !important;
  word-break: normal !important;
}

.page-arm-sugaring #pricing .price-note {
  font-size: 13px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
}

@media (max-width: 1100px) {
  .page-arm-sugaring #pricing .price-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .page-arm-sugaring #pricing .price {
    font-size: 2.6rem !important;
  }
}

@media (max-width: 640px) {
  .page-arm-sugaring #pricing .price-grid {
    grid-template-columns: 1fr !important;
  }

  .page-arm-sugaring #pricing .price {
    font-size: 2.75rem !important;
  }
} /* Arm waxing pricing cards, match arm sugaring size */
body.page-arm-waxing #pricing .price,
body.page-arm-waxing .price-card .price {
  font-size: clamp(1.85rem, 2.15vw, 2.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  white-space: nowrap !important;
  overflow: visible !important;
  word-break: normal !important;
}

/* Hide overlapping Most Popular badge on arm waxing page */
body.page-arm-waxing #pricing .price-card.featured::before,
body.page-arm-waxing .price-card.featured::before {
  display: none !important;
  content: none !important;
}

/* Arm waxing regular price line */
body.page-arm-waxing #pricing .price-note,
body.page-arm-waxing .price-card .price-note {
  font-size: 13px !important;
  line-height: 1.45 !important;
  text-transform: none !important;
} /* Arm waxing pricing cards, final size match with arm sugaring */
body.page-arm-waxing #pricing .price,
body.page-arm-waxing .price-card .price {
  font-size: clamp(1.65rem, 1.9vw, 2rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  white-space: nowrap !important;
  overflow: visible !important;
  word-break: normal !important;
}

/* Keep arm waxing price note small and clean */
body.page-arm-waxing #pricing .price-note,
body.page-arm-waxing .price-card .price-note {
  font-size: 13px !important;
  line-height: 1.45 !important;
  text-transform: none !important;
  font-weight: 600 !important;
}

/* Hide overlapping Most Popular badge on arm waxing page */
body.page-arm-waxing #pricing .price-card.featured::before,
body.page-arm-waxing .price-card.featured::before {
  display: none !important;
  content: none !important;
} /* Arm waxing page, safe pricing display fix without changing card structure */
body.page-arm-waxing .price-options .price-card.featured::before {
  display: none !important;
  content: none !important;
}

body.page-arm-waxing .price-options .price {
  font-size: clamp(1.85rem, 2.15vw, 2.25rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  white-space: nowrap !important;
}

body.page-arm-waxing .price-options .price::before {
  content: "From ";
}

body.page-arm-waxing .price-options .price-note {
  font-size: 0 !important;
  line-height: 1.45 !important;
}

body.page-arm-waxing
  .price-options
  .price-card:nth-child(1)
  .price-note::after {
  content: "Regular price $19.00";
  font-size: 13px !important;
}

body.page-arm-waxing
  .price-options
  .price-card:nth-child(2)
  .price-note::after {
  content: "Regular price $22.00";
  font-size: 13px !important;
}

body.page-arm-waxing
  .price-options
  .price-card:nth-child(3)
  .price-note::after {
  content: "Regular price $31.00";
  font-size: 13px !important;
} /* Arm waxing FAQ, match arm sugaring FAQ layout */
body.page-arm-waxing .faq-list {
  grid-template-columns: 1fr !important;
  max-width: 860px !important;
  margin: 0 auto !important;
}

body.page-arm-waxing .faq {
  border-radius: 22px !important;
} /* Arm waxing FAQ, stack questions like arm sugaring */
body.page-arm-waxing .faq-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  max-width: 860px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 0 !important;
}

body.page-arm-waxing .faq {
  width: 100% !important;
  border-radius: 22px !important;
} /* Arm waxing FAQ, tighten spacing to match arm sugaring */
body.page-arm-waxing .faq-list {
  max-width: 860px !important;
  margin: 0 auto !important;
  gap: 0 !important;
}

body.page-arm-waxing .faq {
  border-radius: 20px !important;
  margin: 0 !important;
}

body.page-arm-waxing .faq-q {
  min-height: 64px !important;
  padding: 18px 26px !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
}

body.page-arm-waxing .faq-q span {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

body.page-arm-waxing .faq-q::after,
body.page-arm-waxing .faq-q .faq-icon {
  width: 34px !important;
  height: 34px !important;
}

/* 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.laser-page-final-125,
.book-link.secondary.laser-page-final-126 {
  background: #ffffff !important;
  color: #145a32 !important;
  border-color: #ffffff !important;
}
.cta-band .book-link.secondary:hover,
.book-link.secondary.laser-page-final-125:hover,
.book-link.secondary.laser-page-final-126: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.laser-page-final-125,
body.theme-laser .cta-band a.laser-page-final-126,
body.theme-laser a.laser-page-clean-004,
body.theme-laser section[class*="bg-"] a.laser-page-clean-004,
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.laser-page-final-125:hover,
body.theme-laser .cta-band a.laser-page-final-126:hover,
body.theme-laser a.laser-page-clean-004:hover,
body.theme-laser section[class*="bg-"] a.laser-page-clean-004: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-related-kicker,
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.laser-page-final-125,
body.theme-laser .cta-band a.laser-page-final-126 {
  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.laser-page-clean-004,
section.bg-\[\#12B24B\] a[href*="mdwareonline"],
section.bg-\[\#12B24B\] a[href*="pricing"],
section.bg-\[\#12B24B\] a[href*="technology"],
section[class*="bg-"] a.laser-page-clean-004,
section[class*="bg-"] a[href*="mdwareonline"],
section[class*="bg-"] a[href*="pricing"],
section[class*="bg-"] a[href*="technology"],
a.laser-page-clean-004,
a.laser-page-final-125,
a.laser-page-final-126 {
  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.laser-page-clean-004 *,
section[class*="bg-"] a[href*="mdwareonline"] *,
section[class*="bg-"] a[href*="pricing"] *,
section[class*="bg-"] a[href*="technology"] *,
a.laser-page-clean-004 *,
a.laser-page-final-125 *,
a.laser-page-final-126 * {
  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.laser-page-clean-004:hover,
section[class*="bg-"] a[href*="mdwareonline"]:hover,
section[class*="bg-"] a[href*="pricing"]:hover,
section[class*="bg-"] a[href*="technology"]:hover,
a.laser-page-clean-004:hover,
a.laser-page-final-125:hover,
a.laser-page-final-126: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-related-kicker,
.aroma-laser-kicker,
.aroma-laser-cta-eyebrow,
.laser-page-final-124 {
  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-service-icon-cleanup-phase18.css */
/*
  Aroma Laser Service Pages - Phase 18 decorative icon cleanup
  Purpose: Remove template-looking decorative icon bubbles/dots from laser service pages only.
  Keeps: trust-strip checkmarks, comparison table check/clear marks, price/check lists, step numbers, and meaningful numbered process badges.
*/
body.theme-laser.laser-service-clean-v18
  :is(
    .option-icon,
    .sculpt-icon,
    .clarity-feat-icon,
    .why-icon,
    .promo-icon,
    .area-card-icon,
    .service-detail-icon,
    .df-icon,
    .mini-icon,
    .stat-icon,
    .card.soft > .icon,
    .card .icon:first-child
  ) {
  display: none !important;
}

/* Remove leftover visual spacing where the old icon bubbles used to sit. */
body.theme-laser.laser-service-clean-v18
  :is(
    .option-card,
    .sculpt-card,
    .clarity-feat,
    .why-card,
    .area-card,
    .service-detail-top,
    .dark-feature,
    .feature-card,
    .stat-card,
    .card.soft
  ) {
  gap: 0 !important;
}

/* Keep card content clean and aligned after the icons are hidden. */
body.theme-laser.laser-service-clean-v18
  :is(
    .option-card h3,
    .sculpt-card h3,
    .clarity-feat h3,
    .why-card h3,
    .feature-card h3,
    .area-card h3,
    .dark-feature h3,
    .stat-card h3,
    .card.soft h3
  ) {
  margin-top: 0 !important;
}

/* Promo banners should read like polished notes, not icon-led alert boxes. */
body.theme-laser.laser-service-clean-v18 :is(.promo-banner, .promo) {
  align-items: flex-start !important;
}

/* These numbered badges are part of the client flow, not random decoration. */
body.theme-laser.laser-service-clean-v18
  :is(.step-num, .coverage-icon, .expect-icon) {
  box-shadow: none !important;
}

/* Phase 19: service-page mobile setup, compact photos, and complete decorative-icon cleanup.
   Keep trust-strip checkmarks, comparison table marks, price-list checks, and numbered steps.
   Hide the empty green squares/bubbles left behind by decorative icons. */
body.theme-laser.laser-service-clean-v18
  :is(
    .cf-ic,
    .cfi-ic,
    .wic,
    .hic,
    .z-ic,
    .coverage-icon,
    .expect-icon,
    .dark-feature .df-icon,
    .promo .promo-icon,
    .promo .pi,
    .card.soft > .icon,
    .mini-icon,
    .stat-icon,
    .area-card-icon,
    .service-detail-icon,
    .clarity-feat-icon,
    .why-icon,
    .sculpt-icon,
    .option-icon
  ) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-laser.laser-service-clean-v18
  :is(
    .cf,
    .cfi,
    .dark-feature,
    .wc,
    .why-card,
    .clarity-feat,
    .sculpt-card,
    .option-card,
    .promo,
    .feature-card,
    .service-detail-card,
    .area-card,
    .mini-card,
    .stat-card,
    .card.soft
  ) {
  gap: 0 !important;
}

body.theme-laser.laser-service-clean-v18
  :is(
    .cf-t,
    .cfi-t,
    .wc h3,
    .why-card h3,
    .clarity-feat h3,
    .sculpt-card h3,
    .option-card h3,
    .dark-feature h3,
    .feature-card h3,
    .service-detail-card h3,
    .area-card h3,
    .mini-card h3,
    .stat-card h3,
    .card.soft h3
  ) {
  margin-top: 0 !important;
}

/* Compact service-page images so they support the copy instead of taking over the page. */
body.theme-laser.laser-service-clean-v18 :is(.pimg, .photo-showcase .pimg) {
  aspect-ratio: auto !important;
  height: clamp(220px, 24vw, 320px) !important;
  max-height: 320px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 20px !important;
}

body.theme-laser.laser-service-clean-v18
  :is(.pimg img, .photo-showcase .pimg img) {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* The service pages use several older two-column systems. On smaller screens, force them to stack cleanly. */
@media (max-width: 980px) {
  body.theme-laser.laser-service-clean-v18 :is(.si, .section-inner) {
    width: min(100% - 32px, 1100px) !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(
      .tcol,
      .two-col,
      .split,
      .dark-grid,
      .booking-showcase,
      .pricing-grid,
      .package-grid,
      .package-payment-grid,
      .hero-inner,
      .content-grid,
      .feature-split
    ) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(
      .booking-showcase-copy,
      .booking-showcase-cards,
      .tb,
      .what-is-text,
      .split-copy,
      .pimg,
      .vsbox,
      .dark-panel,
      .package-left,
      .package-right
    ) {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body.theme-laser.laser-service-clean-v18 .booking-showcase-cards {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (max-width: 640px) {
  body.theme-laser.laser-service-clean-v18 section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.theme-laser.laser-service-clean-v18 :is(.si, .section-inner) {
    width: min(100% - 28px, 1100px) !important;
  }

  body.theme-laser.laser-service-clean-v18 :is(.pimg, .photo-showcase .pimg) {
    height: clamp(165px, 50vw, 220px) !important;
    max-height: 220px !important;
    border-radius: 18px !important;
  }

  body.theme-laser.laser-service-clean-v18 .booking-showcase-cards {
    grid-template-columns: 1fr !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(
      .booking-showcase,
      .booking-showcase-card,
      .option-card,
      .wc,
      .why-card,
      .clarity-feat,
      .cf,
      .cfi,
      .dark-feature,
      .price-card,
      .package-box,
      .card.soft
    ) {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(
      .hsub,
      .lead,
      .section-subtitle,
      .section-sub,
      .sub,
      .tb p,
      .what-is-text p,
      .split-copy p,
      .booking-showcase-text
    ) {
    font-size: 1rem !important;
    line-height: 1.7 !important;
    max-width: 100% !important;
  }
}

/* Phase 20: laser service page mobile/code cleanup.
   Fixes buttocks-laser-toronto and the other laser service pages without touching trust-strip checks or comparison table marks. */
body.theme-laser.laser-service-clean-v18 :is(.z-ic, .hic, .why-badge) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-laser.laser-service-clean-v18 :is(.zone, .hst, .why-row) {
  gap: 0 !important;
}

body.theme-laser.laser-service-clean-v18 :is(.zone h3, .hst .hl, .why-row h3) {
  margin-top: 0 !important;
}

@media (max-width: 980px) {
  body.theme-laser.laser-service-clean-v18
    :is(
      .tc,
      .zones,
      .wgrid,
      .pgrid,
      .rg,
      .pricing-pair,
      .options-grid,
      .clarity-features,
      .price-grid,
      .service-area-grid,
      .why-grid,
      .feature-grid,
      .pay-grid,
      .package-actions,
      .cta-b,
      .acts
    ) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
    align-items: start !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(
      .tc > *,
      .zones > *,
      .wgrid > *,
      .pgrid > *,
      .rg > *,
      .pricing-pair > *,
      .options-grid > *,
      .clarity-features > *,
      .price-grid > *,
      .service-area-grid > *,
      .why-grid > *,
      .feature-grid > *
    ) {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 640px) {
  body.theme-laser.laser-service-clean-v18
    :is(
      .tc,
      .zones,
      .wgrid,
      .pgrid,
      .rg,
      .pricing-pair,
      .options-grid,
      .clarity-features,
      .price-grid,
      .service-area-grid,
      .why-grid,
      .feature-grid,
      .pay-grid,
      .package-actions,
      .cta-b,
      .acts
    ) {
    gap: 18px !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(
      .zone,
      .wc,
      .rc,
      .pc,
      .price-card,
      .option-card,
      .clarity-feat,
      .why-card,
      .feature-card,
      .service-area-card,
      .hcard,
      .vs-box,
      .package-box,
      .promo
    ) {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(.btn, .pcta, .booking-card-btn, .cta-b a, .acts a, .package-actions a) {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
}

/* Phase 20B: final service-page safety pass.
   Covers the last generic decorative class seen on chest/stomach and keeps content readable on mobile. */
body.theme-laser.laser-service-clean-v18
  :is(.icon, .icon-bubble, .decor-icon, .feature-icon, .visual-icon):not(
    .service-trust-icon
  ):not(.aroma-menu-icon) {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.theme-laser.laser-service-clean-v18
  :is(.info-card, .feature-item, .dark-feature, .step-card, .quick-card) {
  min-width: 0 !important;
}

@media (max-width: 760px) {
  body.theme-laser.laser-service-clean-v18
    :is(.hero, .ow, .booking-showcase-wrap, .cta-s, .pricing, .dark) {
    overflow-x: clip !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(
      .booking-showcase-copy,
      .booking-showcase-title,
      .booking-showcase-text
    ) {
    max-width: 100% !important;
    width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: normal !important;
  }

  body.theme-laser.laser-service-clean-v18
    :is(
      .booking-showcase-card,
      .price-card,
      .zone,
      .wc,
      .rc,
      .pc,
      .option-card,
      .why-card,
      .clarity-feat
    ) {
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}

/* Phase 21: service-page layout guard.
   Buttocks laser was missing the desktop centering that the other laser service pages already had.
   This keeps shared service containers centered without changing booking links, trust strips, or table marks. */
body.theme-laser.laser-service-clean-v18 :is(.si, .section-inner) {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.theme-laser.laser-service-clean-v18
  .booking-showcase-wrap
  > .section-inner {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.theme-laser.laser-service-clean-v18 .booking-showcase {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Keep the long Buttocks hero from feeling jammed under the header on desktop. */
body.theme-laser.laser-service-clean-v18 .hero .hi {
  max-width: 820px !important;
}

@media (min-width: 981px) {
  body.theme-laser.laser-service-clean-v18 .booking-showcase-wrap {
    padding-left: clamp(32px, 5vw, 80px) !important;
    padding-right: clamp(32px, 5vw, 80px) !important;
  }
}

/* laser service page launch safety patch */
body {
  overflow-x: hidden;
}
.laser-related-panel {
  max-width: min(1120px, calc(100vw - 32px));
  margin: 48px auto;
  padding: 30px;
  border-radius: 28px;
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.94),
    rgba(241, 248, 255, 0.94)
  );
  border: 1px solid rgba(37, 93, 121, 0.14);
  box-shadow: 0 18px 42px rgba(37, 93, 121, 0.08);
}
.laser-related-kicker {
  margin: 0 0 8px;
  color: #2d6e91;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.laser-related-heading {
  margin: 0 0 10px;
  color: #123b4d;
}
.laser-related-copy {
  margin: 0 0 22px;
  color: #435b66;
}
.laser-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.laser-related-card {
  display: block;
  min-width: 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(37, 93, 121, 0.12);
  box-shadow: 0 10px 22px rgba(37, 93, 121, 0.06);
  text-decoration: none;
}
.laser-related-title {
  display: block;
  color: #123b4d;
  font-weight: 800;
  margin-bottom: 4px;
}
.laser-related-desc {
  display: block;
  color: #526a74;
  line-height: 1.45;
}
@media (max-width: 900px) {
  .laser-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .laser-related-panel {
    margin: 32px auto;
    padding: 22px;
  }
  .laser-related-grid {
    grid-template-columns: 1fr;
  }
}

/* Controlled laser service cleanup: normal hero and lighter comparison table */
.hero.hero-service-clean .hero-inner {
  grid-template-columns: minmax(0, 1fr);
  max-width: 980px;
  padding: 78px 0 76px;
}
.hero.hero-service-clean h1 {
  max-width: 14ch;
}
.hero.hero-service-clean .hero-lead {
  max-width: 68ch;
}
.hero-service-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 24px 0 28px;
}
.hero-service-fact {
  padding: 16px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(31, 178, 90, 0.14);
  box-shadow: 0 8px 20px rgba(12, 53, 30, 0.05);
}
.hero-service-fact span {
  display: block;
  font-size: 12px;
  color: var(--slate);
  margin-bottom: 6px;
}
.hero-service-fact strong {
  display: block;
  font-size: 17px;
  line-height: 1.25;
  color: var(--charcoal);
}
.table-card .table-head p {
  max-width: 68ch;
}
@media (max-width: 820px) {
  .hero-service-facts {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px) {
  .hero-service-facts {
    grid-template-columns: 1fr;
  }
}

/* Controlled polish for Brazilian and Bikini laser comparison section */
.comparison-polish-section {
  background: var(--off);
}
.comparison-polish-section .comparison-polish-head {
  max-width: 820px;
  margin-bottom: 30px;
}
.comparison-polish-section .section-title {
  max-width: 780px;
}
.laser-support-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 26px 0 28px;
}
.polish-feature-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow);
  padding: 22px;
}
.polish-feature-card h3 {
  font-size: 17px;
  line-height: 1.25;
}
.polish-feature-card p {
  font-size: 14px;
  line-height: 1.75;
  color: var(--copy);
}
.comparison-table-card {
  width: 100%;
  border-radius: 30px;
  box-shadow: var(--shadow-lg);
}
.comparison-table-card .table-head {
  padding: 28px 30px 22px;
}
.comparison-table-card .table-head h3 {
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.2;
}
.comparison-table-card .table-head p {
  max-width: 760px;
  font-size: 15px;
  line-height: 1.75;
}
.comparison-table-card th,
.comparison-table-card td {
  padding: 18px 22px;
  vertical-align: top;
  line-height: 1.55;
}
.hero-service-facts .hero-service-fact strong {
  line-height: 1.25;
}
@media (max-width: 900px) {
  .laser-support-grid {
    grid-template-columns: 1fr;
  }
  .comparison-table-card {
    overflow-x: auto;
  }
  .comparison-table-card table {
    min-width: 720px;
  }
}

/* Visual cleanup: shorter hero, photo-only coverage card, clearer laser comparison cards */
.hero.hero-service-clean .hero-inner {
  padding: 54px 0 46px !important;
}
.hero.hero-service-clean h1 {
  max-width: 18ch !important;
  margin-bottom: 14px !important;
}
.hero.hero-service-clean .hero-lead {
  margin-bottom: 18px !important;
}
.hero-service-facts {
  margin: 18px 0 22px !important;
}
.hero-service-fact {
  padding: 14px 15px !important;
  border-radius: 18px !important;
}
.hero-small {
  margin-top: 16px !important;
  max-width: 760px !important;
}
.coverage-card.coverage-photo-only {
  align-self: start;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.coverage-card.coverage-photo-only .inline-photo {
  margin: 0 !important;
}
.comparison-choice-card {
  width: 100%;
  padding: 30px;
  border-radius: 30px;
  background: linear-gradient(180deg, #ffffff, rgba(247, 252, 249, 0.96));
  border: 1px solid rgba(37, 93, 121, 0.13);
  box-shadow: var(--shadow-lg);
}
.comparison-choice-head {
  padding: 0 0 22px !important;
  border-bottom: 1px solid rgba(37, 93, 121, 0.12);
  margin-bottom: 22px;
}
.comparison-choice-head h3 {
  margin: 0 0 8px;
  font-size: clamp(1.45rem, 2.2vw, 2.05rem);
  line-height: 1.18;
  color: var(--blue);
}
.comparison-choice-head p {
  margin: 0;
  max-width: 820px;
  color: var(--copy);
  line-height: 1.75;
}
.laser-compare-cards {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  gap: 16px;
}
.laser-compare-card {
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(37, 93, 121, 0.13);
  box-shadow: 0 16px 34px rgba(37, 93, 121, 0.08);
}
.laser-compare-card.laser-compare-best {
  border-color: rgba(18, 178, 75, 0.28);
  background: linear-gradient(180deg, rgba(239, 250, 244, 0.96), #fff);
}
.compare-label {
  display: inline-block;
  margin-bottom: 10px;
  color: #0f7f3a;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.laser-compare-card h4 {
  margin: 0 0 14px;
  color: var(--blue);
  font-size: 1.25rem;
  line-height: 1.2;
}
.laser-compare-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.laser-compare-card li {
  position: relative;
  padding-left: 22px;
  color: var(--copy);
  line-height: 1.55;
}
.laser-compare-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(37, 93, 121, 0.35);
}
.laser-compare-best li::before {
  background: var(--green);
}
.comparison-note {
  margin: 20px 0 0;
  padding: 16px 18px;
  border-radius: 18px;
  background: rgba(239, 250, 244, 0.86);
  color: var(--blue);
  font-weight: 700;
  line-height: 1.55;
}
@media (max-width: 980px) {
  .laser-compare-cards {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .hero.hero-service-clean .hero-inner {
    padding: 38px 0 34px !important;
  }
  .comparison-choice-card {
    padding: 22px;
    border-radius: 24px;
  }
  .laser-compare-card {
    padding: 18px;
  }
}

/* Stronger helpful laser decision cards */
.laser-next-step-panel {
  max-width: min(1120px, calc(100vw - 32px));
  margin: 50px auto;
  padding: clamp(24px, 4vw, 42px);
  border-radius: 30px;
  background: linear-gradient(135deg, #f2fbff 0%, #ffffff 56%, #eff9f3 100%);
  border: 1px solid rgba(37, 93, 121, 0.16);
  box-shadow: 0 20px 50px rgba(37, 93, 121, 0.1);
}
.laser-next-step-panel .laser-related-head {
  max-width: 760px;
  margin-bottom: 22px;
}
.laser-next-step-panel .laser-related-heading {
  margin: 0 0 10px;
  color: #174b63;
}
.laser-next-step-panel .laser-related-copy {
  margin: 0;
  max-width: 650px;
  color: #52666b;
}
.laser-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.laser-decision-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 220px;
  padding: 24px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(37, 93, 121, 0.16);
  box-shadow: 0 14px 30px rgba(37, 93, 121, 0.08);
  text-decoration: none;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}
.laser-decision-card:hover,
.laser-decision-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 20px 40px rgba(37, 93, 121, 0.13);
  border-color: rgba(18, 178, 75, 0.38);
}
.laser-related-tag {
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(18, 178, 75, 0.1);
  color: #087333;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.laser-decision-card .laser-related-title {
  display: block;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.25;
  color: #143f55;
  font-weight: 800;
}
.laser-decision-card .laser-related-desc {
  display: block;
  color: #4f666d;
  font-size: 1rem;
  line-height: 1.55;
}
.laser-related-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: auto;
  padding: 11px 16px;
  border-radius: 999px;
  background: #12b24b;
  color: #fff;
  font-weight: 800;
  font-size: 0.95rem;
  box-shadow: 0 10px 20px rgba(18, 178, 75, 0.2);
}
.laser-decision-card:nth-child(2) .laser-related-action,
.laser-decision-card:nth-child(3) .laser-related-action {
  background: #174b63;
  box-shadow: 0 10px 20px rgba(23, 75, 99, 0.18);
}
@media (max-width: 760px) {
  .laser-decision-grid {
    grid-template-columns: 1fr;
  }
  .laser-decision-card {
    min-height: auto;
    padding: 20px;
  }
}
